{
  "swagger": "2.0",
  "info": {
    "description": "API gateway that provides a single point of entry to Staffshift",
    "version": "1.0.0",
    "title": "Staffshift API Gateway",
    "termsOfService": "https://www.staffshift.com/#terms-and-conditions",
    "contact": {
      "name": "Staffshift team",
      "url": "http://www.staffshift.com",
      "email": "info@staffshift.com"
    }
  },
  "host": "localhost:3010",
  "basePath": "/v1",
  "tags": [
    {
      "name": "Agency Agency Group",
      "description": "Agency's agency group routes"
    },
    {
      "name": "Agency Group Agency",
      "description": "Agency Group's agencies routes"
    },
    {
      "name": "AgencyCandidate",
      "description": "Agency Candidate related routes"
    },
    {
      "name": "Candidate Plugin",
      "description": "Related to plugins"
    },
    {
      "name": "Candidate Invitation",
      "description": "Invitations for candidates"
    },
    {
      "name": "Candidate",
      "description": "Related to candidate resource"
    },
    {
      "name": "Agency Candidate",
      "description": "Related to agency candidate resource"
    },
    {
      "name": "Policy",
      "description": "All policy related routes"
    },
    {
      "name": "Candidate Availability",
      "description": "Routes which allow candidates to interact with their availability"
    },
    {
      "name": "Agency Candidate Availability",
      "description": "Routes which allow agency to interact with candidates availability"
    },
    {
      "name": "Candidate Booked Shifts",
      "description": "Routes which allow candidates to interact with their booked shifts"
    },
    {
      "name": "Timesheet",
      "description": "Routes which allow timesheet interaction"
    },
    {
      "name": "User integrations",
      "description": "Routes which allow interaction with user integrations"
    },
    {
      "name": "Agency Group Candidate",
      "description": "Related to agency group candidate resource"
    },
    {
      "name": "Agency Group Users",
      "description": "Routes which allow interaction with agency group users"
    },
    {
      "name": "Acl Groups",
      "description": "Routes which allow interaction with acl groups"
    },
    {
      "name": "Candidate Next Of Kin",
      "description": "Routes which allow for next of kin actions"
    },
    {
      "name": "Agency Group Candidate Next Of Kin",
      "description": "Routes which allow for next of kin actions by the agency group"
    },
    {
      "name": "Agency Group Webhook Settings",
      "description": "Routes which allow agency group users to interact with webhook settings"
    },
    {
      "name": "Languages",
      "description": "All languages related routes"
    },
    {
      "name": "Candidate Other Names",
      "description": "Candidate Other Names actions"
    },
    {
      "name": "Agency Candidate OtherNames",
      "description": "Agency Candidate Other Names web service"
    },
    {
      "name": "Agency Candidate Languages",
      "description": "Agency Candidate Languages related routes"
    },
    {
      "name": "Agency Group Candidate OtherNames",
      "description": "Agency Group Candidate Other Names related routes"
    },
    {
      "name": "Agency Candidate Contact Numbers",
      "description": "Agency Candidate Contact Numbers web service"
    },
    {
      "name": "Agency Group Candidate Contact Numbers",
      "description": "Agency Group Candidate Contact Numbers web service"
    },
    {
      "name": "Candidate Contact Numbers",
      "description": "Routes which allow for contact numbers actions"
    },
    {
      "name": "Agency Group Candidate Address Details",
      "description": "Agency Group Address Details related routes"
    },
    {
      "name": "Agency Candidate Address Details",
      "description": "Routes which allow for agency candidate address details"
    },
    {
      "name": "Candidate Address Details",
      "description": "Routes which allow for candidate address details actions"
    },
    {
      "name": "Agency Group Candidate Misc",
      "description": "AgencyGroup misc details routes"
    },
    {
      "name": "Candidate Basic Info",
      "description": "Routes which allow for candidate basic info actions"
    },
    {
      "name": "Candidate Misc Details",
      "description": "Routes which allow for candidate misc details actions"
    },
    {
      "name": "Staffshift Policy Type",
      "description": "Routes which allow for staffshift policy type."
    },
    {
      "name": "Staffshift Policy",
      "description": "Routes which allow for staffshift policy."
    },
    {
      "name": "User Policy",
      "description": "All user policy related routes"
    },
    {
      "name": "Candidate Policy",
      "description": "All candidate policy related routes"
    },
    {
      "name": "Staffshift Policy type version",
      "description": "Routes which allow for staffshift policy."
    },
    {
      "name": "Agency Candidate Type",
      "description": "Routes related to the agency candidate type"
    },
    {
      "name": "Agency Group Candidate Type",
      "description": "Routes related to the agency group candidate type"
    },
    {
      "name": "Agency Group Registration Settings",
      "description": "Routes related to the agency group registration settings"
    },
    {
      "name": "Resource Policies",
      "description": "Routes related to the resource policy."
    },
    {
      "name": "Agency Group Candidate Registration",
      "description": "Routes related to the registration of an agency group candidate"
    },
    {
      "name": "User Check Email",
      "description": "Routes related to the public user email check"
    },
    {
      "name": "Username Suggestion and availability",
      "description": "Routes related to the public user name suggestions"
    },
    {
      "name": "Candidate Email Details",
      "description": "Routes related to the candidate email details"
    },
    {
      "name": "Agency Candidate Email Details",
      "description": "Routes related to the agency candidate email details"
    },
    {
      "name": "Agency Group Candidate Email Details",
      "description": "Routes related to the agency group candidate email details"
    },
    {
      "name": "Agency Group Status Reason",
      "description": "AgencyGroup Status reason related services"
    },
    {
      "name": "Agency Group status details",
      "description": "Routes related to the agency group candidate status details"
    },
    {
      "name": "Agency Group Candidate Status",
      "description": "Routes related to the agency group candidate status"
    },
    {
      "name": "Agency Candidate Status",
      "description": "Agency Candidate Status related services"
    },
    {
      "name": "Agency Status Details",
      "description": "Agency Status Details related services"
    },
    {
      "name": "Agency Group Candidate Consultant",
      "description": "Routes related to the agency group candidate consultant details"
    },
    {
      "name": "Agency Group Consultant Role",
      "description": "Routes related to the agency group consultant role"
    },
    {
      "name": "Agency Group Candidate Additional Note",
      "description": "Agency Group Candidate Additional Note related services"
    },
    {
      "name": "Agency Candidate Additional Note",
      "description": "Agency Candidate Additional Note related services"
    },
    {
      "name": "Agency Group Candidate Activity",
      "description": "Agency group candidate activities related services"
    },
    {
      "name": "Agency Group Candidate Meta",
      "description": "Agency group candidate metadata related services"
    },
    {
      "name": "Agency Candidate Meta",
      "description": "Agency candidate metadata related services"
    },
    {
      "name": "Agency Group Candidate Status History",
      "description": "Agency group candidate status history related routes"
    },
    {
      "name": "Agency Group Candidate Status Summary",
      "description": "Agency group candidate status summary related routes"
    },
    {
      "name": "Agency Candidate Status Summary",
      "description": "Agency candidate status summary related routes"
    },
    {
      "name": "Candidate Settings",
      "description": "candidate settings retrieval route"
    },
    {
      "name": "Agency Candidate Settings",
      "description": "Agency candidate settings retrieval route"
    },
    {
      "name": "Agency Candidate Activity",
      "description": "Agency candidate activities related route"
    },
    {
      "name": "Agency Group Candidate Settings",
      "description": "Agency Group candidate settings retrieval route"
    },
    {
      "name": "Job Family",
      "description": "Job family related routes"
    },
    {
      "name": "Job Title",
      "description": "Job title related routes"
    },
    {
      "name": "Agency Linked Clients",
      "description": "Routes related to the linked Clients on Agency context"
    },
    {
      "name": "Candidate Documents",
      "description": "Candidate documents related services"
    },
    {
      "name": "Agency Candidate Documents",
      "description": "Agency candidate documents related services"
    },
    {
      "name": "Agency Group Candidate Documents",
      "description": "Agency group candidate documents related services"
    },
    {
      "name": "Agency Group Document Types",
      "description": "Routes related to the agency group document types"
    },
    {
      "name": "System Document Types",
      "description": "Routes related to the system document types"
    },
    {
      "name": "Candidate Document Types",
      "description": "Candidate Document Types related services"
    },
    {
      "name": "Agency Candidate Document Types",
      "description": "Agency Candidate Document Types related services"
    },
    {
      "name": "Agency Group Candidate Document Types",
      "description": "Agency Group Candidate Document Types related services"
    },
    {
      "name": "Agency Group Candidate Activity Email",
      "description": "Routes related to Agency Group Candidate Activity Email"
    },
    {
      "name": "Agency Group Lookup",
      "description": "Agency group lookup related services"
    },
    {
      "name": "Agency Lookup",
      "description": "Agency lookup related routes"
    },
    {
      "name": "Agency Group Candidate Widgets",
      "description": "Agency Group Candidate Widgets related services"
    },
    {
      "name": "Candidate Widgets",
      "description": "Candidate widgets related services"
    },
    {
      "name": "Activity Type",
      "description": "Activity type related routes"
    },
    {
      "name": "Agency Group Notification Type",
      "description": "Agency Group Notification Type related services"
    },
    {
      "name": "Agency Group Candidate Notification",
      "description": "Agency Group Candidate Notification Routes"
    },
    {
      "name": "Webhook Mailgun",
      "description": "Route to allow Mailgun to make Webhook call"
    },
    {
      "name": "Candidate Employment",
      "description": "Candidate Employment related services"
    },
    {
      "name": "Agency Candidate Employment",
      "description": "Agency Candidate Employment related services"
    },
    {
      "name": "Agency Group Candidate Employment",
      "description": "Agency Group Candidate Employment related services"
    },
    {
      "name": "Agency Group Candidate Reports",
      "description": "Agency group candidate report related routes"
    },
    {
      "name": "Agency Candidate Activity Email",
      "description": "Agency Candidate Activity Email related routes"
    },
    {
      "name": "System skills",
      "description": "System skills related routes"
    },
    {
      "name": "System position types",
      "description": "System position types related routes"
    },
    {
      "name": "System Job Family",
      "description": "System Job family related routes"
    },
    {
      "name": "System Job Title",
      "description": "System Job Title related services"
    },
    {
      "name": "Candidate Skills",
      "description": "Candidate Skills related services"
    },
    {
      "name": "Agency Candidate Skills",
      "description": "Agency Candidate Skills related services"
    },
    {
      "name": "Agency Group Candidate Skills",
      "description": "Agency Group Candidate Skills related services"
    },
    {
      "name": "Agency Group Candidate Stated Skills",
      "description": "Agency Group Candidate Stated Skills related routes"
    },
    {
      "name": "Candidate Stated Skills",
      "description": "Candidate Stated Skills related services"
    },
    {
      "name": "Candidate Qualifications",
      "description": "Candidate Qualifications related services"
    },
    {
      "name": "Agency Candidate Qualifications",
      "description": "Agency Candidate Qualifications related services"
    },
    {
      "name": "Agency Group Candidate Qualifications",
      "description": "Agency Group Candidate Qualifications related services"
    },
    {
      "name": "System Qualifications",
      "description": "System qualifications related routes"
    },
    {
      "name": "Firebase custom token",
      "description": "Handling of custom firebase tokens"
    },
    {
      "name": "System Registration Body Entries",
      "description": " System Registration Body Entries related services"
    },
    {
      "name": "Candidate Registration Body",
      "description": "Candidate registration body related services"
    },
    {
      "name": "Agency Candidate Registration Body",
      "description": "Agency candidate registration body related services"
    },
    {
      "name": "Agency Group Candidate Registration Body",
      "description": "Agency Group Candidate registration body related services"
    },
    {
      "name": "Agency Contact Numbers",
      "description": "Agency Contact Numbers related services"
    },
    {
      "name": "System Registration Body",
      "description": "System Registration body related services"
    },
    {
      "name": "System Registration Body Entry Status",
      "description": "System Registration Body Entry Status related services"
    },
    {
      "name": "System Registration Body Status",
      "description": "System Registration Body Status related services"
    },
    {
      "name": "Agency Group Candidate Registration Body Entry",
      "description": "Agency Group Candidate Registration Body Entry related services"
    },
    {
      "name": "Candidate Employment Dismissals",
      "description": "Candidate Employment Dismissals related services"
    },
    {
      "name": "Agency Group Candidate Employment Dismissals",
      "description": "Agency Group Candidate Employment Dismissals related services"
    },
    {
      "name": "Agency Candidate Employment Dismissals",
      "description": "Agency Candidate Employment Dismissals related services"
    },
    {
      "name": "Chat",
      "description": "Chat related routes"
    },
    {
      "name": "Plugin Setting",
      "description": "Plugin Setting related routes"
    },
    {
      "name": "System Activity Type",
      "description": "System Activity type related routes"
    },
    {
      "name": "Agency Group Candidate Employment Position Held",
      "description": "Agency Group Candidate Employment Position Held related services"
    },
    {
      "name": "Agency Candidate Employment Position Held",
      "description": "Agency Candidate Employment Position Held related services"
    },
    {
      "name": "Candidate Employment Position Held",
      "description": "Candidate Employment Position Held related services"
    },
    {
      "name": "Agency ip whitelist all access user",
      "description": "Agency ip whitelist all access user"
    },
    {
      "name": "Agency ip-whitelist",
      "description": "Agency whitelist ip related routes"
    },
    {
      "name": "Agency group ip whitelist all access user",
      "description": "Agency group ip whitelist all access user"
    },
    {
      "name": "Agency group ip-whitelist",
      "description": "Agency group ip-whitelist related routes"
    },
    {
      "name": "Agency Users",
      "description": "Routes which allow interaction with agency users"
    },
    {
      "name": "SocialLinkType",
      "description": "Social links type related services"
    },
    {
      "name": "Agency Group Candidate Social Link",
      "description": "Agency Group Candidate Social Link related routes"
    },
    {
      "name": "Agency Candidate Social Link",
      "description": "Agency Candidate Social Link related routes"
    },
    {
      "name": "Candidate Social Link",
      "description": "Candidate Social Link related routes"
    },
    {
      "name": "Agency Candidate Activity Conversation",
      "description": "Agency candidate activity conversation related routes"
    },
    {
      "name": "Agency Group Candidate Activity Conversation",
      "description": "Agency Group candidate activity conversation related routes"
    },
    {
      "name": "User Avatar",
      "description": "User Avatar related routes"
    },
    {
      "name": "Agency User Avatar",
      "description": "Agency User Avatar related routes"
    },
    {
      "name": "Agency Group User Avatar",
      "description": "Agency Group User Avatar related routes"
    },
    {
      "name": "Agency Organisation",
      "description": "Agency Organisation related routes"
    },
    {
      "name": "Agency Contract",
      "description": "Agency Contract related routes"
    },
    {
      "name": "Candidate Conversation",
      "description": "Candidate Conversation related routes"
    },
    {
      "name": "Conversation Webhooks",
      "description": "Conversation webhooks related routes"
    },
    {
      "name": "Candidate Notification Settings",
      "description": "Routes related to candidate notification settings"
    },
    {
      "name": "Candidate Notification Send Preview",
      "description": "Routes related to Candidate Notification Send Preview"
    },
    {
      "name": "Message Webhooks",
      "description": "Message webhooks related routes"
    },
    {
      "name": "Agency Shift",
      "description": "Agency shift related routes"
    },
    {
      "name": "Shift status reasons",
      "description": "Shift status reason related routes"
    },
    {
      "name": "Staffing Order",
      "description": "Staffing order related routes"
    },
    {
      "name": "Agency Candidate Bulk Notification",
      "description": "All routes dealing with sending notifications to mulitple agency candidates"
    },
    {
      "name": "Agency Group Candidate Bulk Notification",
      "description": "All routes dealing with sending notifications to mulitple agency group candidates"
    },
    {
      "name": "Candidate Notifications",
      "description": "Candidate Notifications related routes"
    },
    {
      "name": "Saved Search",
      "description": "Saved Search related routes"
    },
    {
      "name": "Agency Notification Type Templates",
      "description": "Agency Notification Type Templates related routes"
    },
    {
      "name": "Agency Group Notification Type Templates",
      "description": "Agency Group Notification Type Templates related routes"
    },
    {
      "name": "Compliance Contract",
      "description": "Compliance Contract related routes"
    },
    {
      "name": "Agency Organisation Compliance Contract Link",
      "description": "Agency Organisation Compliance Contract Link related routes"
    },
    {
      "name": "Contract Link",
      "description": "Contract Link related routes"
    },
    {
      "name": "Site Details",
      "description": "Site details related routes"
    },
    {
      "name": "Agency Organisation Site Ward",
      "description": "Agency organisation site ward related routes"
    },
    {
      "name": "Site Type",
      "description": "Site type related routes"
    },
    {
      "name": "Ward Type",
      "description": "Ward type related routes"
    },
    {
      "name": "Agency Group Compliance Rule",
      "description": "Agency Group Compliance Rule related routes"
    },
    {
      "name": "Agency Compliance Rule",
      "description": "Agency Compliance Rule related routes"
    },
    {
      "name": "Compliance Contract Rule Summary",
      "description": "Compliance Rule Summary related services"
    },
    {
      "name": "Compliance Rule Displayable",
      "description": "Agency Group Compliance Rule Displayable related services"
    },
    {
      "name": "Agency Compliance Rule Displayable",
      "description": "Agency Compliance Rule Displayable related services"
    },
    {
      "name": "Candidate Compliance Summary Basic",
      "description": "Candidate Compliance Summary Basic related services"
    },
    {
      "name": "Agency Group Compliance Summary Basic",
      "description": "Agency Group Compliance Summary Basic related services"
    },
    {
      "name": "Agency Candidate Position Held Status",
      "description": "Agency Candidate Position Held Status related services"
    },
    {
      "name": "Candidate Position Held Status",
      "description": "Candidate Position Held Status related services"
    },
    {
      "name": "Agency Group Candidate Position Held Status",
      "description": "Agency Group Candidate Position Held Status related services"
    },
    {
      "name": "Agency Compliance Summary Settings",
      "description": "Routes which allow agency users to interact with compliance summary settings"
    },
    {
      "name": "Agency Group Compliance Summary Settings",
      "description": "Routes which allow agency group users to interact with compliance summary settings"
    },
    {
      "name": "Agency Candidate Compliance Summary Basic",
      "description": "Agency Candidate Compliance Summary Basic related services"
    },
    {
      "name": "System Workforce",
      "description": "Routes related to system workforce"
    },
    {
      "name": "Agency Group Candidate Compliance Summary Expiry",
      "description": "Agency Group Candidate Compliance Summary Expiry related services"
    },
    {
      "name": "Candidate Compliance Summary Expiry",
      "description": "Candidate Compliance Summary Expiry related services"
    },
    {
      "name": "Agency Candidate Compliance Summary Health",
      "description": "Calculate the agency candidate compliance summary health"
    },
    {
      "name": "Agency Group Candidate Compliance Summary Health",
      "description": "Calculate the agency group candidate compliance summary health"
    },
    {
      "name": "Candidate Compliance Summary Health",
      "description": "Calculate the candidate compliance summary health"
    },
    {
      "name": "Agency Group Candidate Compilation Changes",
      "description": "Agency Group Candidate Compilation Changes related services"
    },
    {
      "name": "Candidate Compliance Contract Rule Summary",
      "description": "Candidate Compliance Contract Rule Summary related services"
    },
    {
      "name": "User",
      "description": "User related services"
    },
    {
      "name": "Advanced Search Report Booked Candidates",
      "description": "Advanced Search Report Booked Candidates related routes"
    },
    {
      "name": "Candidate Position Held Work History Breakdown",
      "description": "Candidate Position Held Work History Breakdown related service"
    },
    {
      "name": "Timezone Lookup",
      "description": "Retrieves the timezones based on the address fields"
    },
    {
      "name": "Run Job",
      "description": "Run a job"
    },
    {
      "name": "PABX Identifier Settings",
      "description": "PABX Identifier Settings related services"
    },
    {
      "name": "Gong CRM Object",
      "description": "Gong CRM Object related routes"
    },
    {
      "name": "Calls Search",
      "description": "Calls Search"
    },
    {
      "name": "MailboxFolderDeltaSync",
      "description": "Mailbox folder delta sync configuration"
    },
    {
      "name": "Agency Group Candidate Advanced Search",
      "description": "Agency group candidate advanced search related services"
    },
    {
      "name": "Agency Candidate Advanced Search",
      "description": "Agency candidate advanced search related services"
    },
    {
      "name": "Agency Shift Manifest Advanced Search",
      "description": "Agency Shift Manifest advanced search related services"
    },
    {
      "name": "Agency Shift Advanced Search",
      "description": "Agency Shift advanced search related services"
    },
    {
      "name": "Agency Group Agency Shift Advanced Search",
      "description": "Agency Group Agency Shift advanced search related services"
    },
    {
      "name": "Agency Candidate Possible Shifts Advanced Search",
      "description": "Agency Candidate Possible Shifts advanced search related services"
    },
    {
      "name": "Agency Client Advanced Search",
      "description": "Agency Client advanced search related services"
    },
    {
      "name": "Agency Client Event Log Advanced Search",
      "description": "Agency Client Event Log advanced search related services"
    },
    {
      "name": "Candidate Shift Advanced Search",
      "description": "Candidate Shift advanced search related services"
    },
    {
      "name": "Agency Compliance Rule Exemption",
      "description": "Agency compliance rule exemption related routes"
    },
    {
      "name": "Agency Group Compliance Rule Exemption",
      "description": "Agency Group compliance rule exemption related routes"
    }
  ],
  "schemes": [
    "http"
  ],
  "consumes": [
    "application/json",
    "application/x-www-form-urlencoded",
    "application/x-www-form-urlencoded; charset=utf-8"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/webhooks/conversations": {
      "post": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "chatster",
        "x-proxy-route": "/webhooks/conversations",
        "summary": "Proxy the conversations related webhook events to chatster service",
        "tags": [
          "Conversation Webhooks"
        ],
        "x-public-operation": true,
        "parameters": [
          {
            "name": "Attributes",
            "in": "formData",
            "description": "The conversation attributes",
            "required": true,
            "type": "string"
          },
          {
            "name": "ConversationSid",
            "in": "formData",
            "description": "Conversation ID",
            "required": true,
            "type": "string"
          },
          {
            "name": "EventType",
            "in": "formData",
            "description": "The webhook event type",
            "required": true,
            "type": "string"
          }
        ],
        "consumes": [
          "application/x-www-form-urlencoded",
          "application/x-www-form-urlencoded; charset=utf-8"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/twilio_webhook_model"
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/webhook_conversation_validation_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/webhooks/twilio/messages": {
      "post": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "chatster",
        "x-proxy-route": "/webhooks/twilio/messages",
        "x-public-operation": true,
        "summary": "Proxy the messages related webhook events to chatster service",
        "tags": [
          "Message Webhooks"
        ],
        "parameters": [
          {
            "name": "SmsSid",
            "in": "formData",
            "description": "SMS ID",
            "type": "string"
          },
          {
            "name": "SmsStatus",
            "in": "formData",
            "description": "SMS Status",
            "type": "string"
          },
          {
            "name": "MessageStatus",
            "in": "formData",
            "description": "Message Status",
            "required": true,
            "type": "string"
          },
          {
            "name": "MessageSid",
            "in": "formData",
            "description": "Message ID",
            "required": true,
            "type": "string"
          },
          {
            "name": "To",
            "in": "formData",
            "description": "Number message was sent to",
            "type": "string"
          },
          {
            "name": "AccountSid",
            "in": "formData",
            "description": "Account ID",
            "type": "string"
          },
          {
            "name": "From",
            "in": "formData",
            "description": "Number message was sent from",
            "type": "string"
          },
          {
            "name": "ApiVersion",
            "in": "formData",
            "description": "Api Version",
            "type": "string"
          }
        ],
        "consumes": [
          "application/x-www-form-urlencoded",
          "application/x-www-form-urlencoded; charset=utf-8"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The message resource",
            "schema": {
              "$ref": "#/definitions/create_message_body_param_response_def"
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/message_status_updates_validation_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/misc": {
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_misc_details",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The misc details of a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_misc_details_response_body_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid headers, paths",
            "schema": {
              "$ref": "#/definitions/get_misc_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Misc"
        ],
        "summary": "Gets the specified candidates misc details"
      },
      "put": {
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_misc_details",
              "permission": [
                "create",
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/misc_details_put_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The response of the candidate misc details that was created",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_misc_details_response_body_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid headers, paths or payloads",
            "schema": {
              "$ref": "#/definitions/put_misc_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "405": {
            "$ref": "#/responses/method_not_supported"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Misc"
        ],
        "summary": "Upserts a candidates misc details"
      }
    },
    "/agency-group/{agency_group_id}/settings/webhook": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "webhook_setting",
              "permission": [
                "create",
                "update"
              ]
            }
          }
        ],
        "parameters": [
          {
            "name": "new_settings",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/settings_webhook"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "the modified Agency Group web hook settings",
            "schema": {
              "$ref": "#/definitions/put_settings_webhook_response"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/put_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Webhook Settings"
        ],
        "summary": "Creates or Updates webhook settings"
      }
    },
    "/agency-group/{agency_group_id}/webhook-subscription": {
      "x-swagger-router-controller": "AgencyGroupWebhook",
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "operationId": "webhookSubscription",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "webhook_subscription",
              "permission": [
                "create",
                "update"
              ]
            }
          }
        ],
        "parameters": [
          {
            "name": "new_subscription",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/webhook_subscription"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "the web hook subscription",
            "schema": {
              "$ref": "#/definitions/post_subscription_webhook_response"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/webhook_subscription_post_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Webhook Subscription"
        ],
        "summary": "Subscribes to a webhook notification"
      }
    },
    "/agency-group/{agency_group_id}/subscription/{subscription_id}/notifications": {
      "x-swagger-router-controller": "WebhookSubscriptionNotification",
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/subscription_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "operationId": "retrieveSubscriptionNotifications",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "webhook_subscription_notification",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/notifications_status_filter"
          },
          {
            "$ref": "#/parameters/notifications_topic_filter"
          }
        ],
        "responses": {
          "200": {
            "description": "list of subscription notifications",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "description": "the subscription notifications",
              "items": {
                "$ref": "#/definitions/list_subscription_notification"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/get_list_subscription_notification_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Webhook Subscription Notifications"
        ],
        "summary": "retrieve subscription notifications"
      }
    },
    "/webhook-topics": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": {
        "discriminator": {
          "in": "body",
          "path": "type"
        },
        "configuration": [
          {
            "compare_value": "AgencyGroup",
            "service_config": "a24-agency-group"
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "parameters": [
          {
            "name": "new_topic",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/new_webhook_topic"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "the created Agency Group web hook topic",
            "schema": {
              "$ref": "#/definitions/webhook_topic"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/post_webhook_topic_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Webhook Topic"
        ],
        "summary": "Creates a webhook topic"
      }
    },
    "/candidate/{candidate_id}/equality": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_equality",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate Details",
            "schema": {
              "$ref": "#/definitions/equality_response_body"
            }
          },
          "400": {
            "description": "Validation Error. When context is incorrect.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Candidate Equality Details"
        ],
        "summary": "Get Candidate Equality Details"
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_equality",
              "permission": [
                "create",
                "update"
              ]
            }
          }
        ],
        "parameters": [
          {
            "name": "equality_update_body",
            "in": "body",
            "description": "The body that will be used to update the equality monitoring details",
            "required": true,
            "schema": {
              "$ref": "#/definitions/equality_put_body"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate Equality Details",
            "schema": {
              "$ref": "#/definitions/equality_response_body"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/equality_update_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Candidate Equality Details"
        ],
        "summary": "Creates or Updates Candidate Equality Details"
      }
    },
    "/timesheet/email": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "timesheet_email",
            "in": "body",
            "description": "Object that contains email and the shift the timesheet is",
            "required": true,
            "schema": {
              "$ref": "#/definitions/timesheet_email"
            }
          }
        ],
        "x-response-transformation": {
          "201": {
            "transformer": "TimesheetEmailSuccessResponseTransformer",
            "status": 200
          }
        },
        "responses": {
          "200": {
            "description": "Email send status",
            "schema": {
              "$ref": "#/definitions/timesheet_email_success"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/timesheet_email_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Timesheet"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Send timesheet to email address"
      }
    },
    "/timesheet.pdf": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage_non_rest",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/pdf",
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/sShiftId_required"
          }
        ],
        "x-proxy-headers": [
          "Accept"
        ],
        "x-proxy-query-string-authentication": true,
        "responses": {
          "200": {
            "description": "Timesheet pdf",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/timesheet_pdf_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Timesheet"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Download pdf timesheet for a shift"
      }
    },
    "/agency-group/{agency_group_id}/candidate-registration": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        }
      ],
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "agency_group_candidate_registration",
            "in": "body",
            "description": "Object that contains the agency group candidate registration that needs to be processed.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_registration_create"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Agency group candidate registration.",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_registration_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_registration_validation_errors"
            }
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "409": {
            "description": "Conflict error. Caused by trying to use a duplicate email or username",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_registration_conflict_error"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/server_error_model"
            }
          }
        },
        "tags": [
          "Agency Group Candidate Registration"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Registration of an agency group candidate"
      }
    },
    "/user/username-suggestions": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "username_suggestion_payload",
            "in": "body",
            "description": "The building blocks used to construct a username",
            "required": true,
            "schema": {
              "$ref": "#/definitions/username_suggestion_payload"
            }
          }
        ],
        "x-response-transformation": {
          "201": {
            "status": 200,
            "transformer": "UsernameSuggestionTransformer"
          }
        },
        "responses": {
          "200": {
            "description": "Username suggestions and availability check",
            "schema": {
              "$ref": "#/definitions/username_suggestion_response"
            }
          },
          "400": {
            "description": "Username suggestions and availability check",
            "schema": {
              "$ref": "#/definitions/username_suggestion_validation_errors"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/server_error_model"
            }
          }
        },
        "tags": [
          "Username Suggestion and availability"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Username suggestion and availability check"
      }
    },
    "/user/check-email": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "user_check_email",
            "in": "body",
            "description": "The email that will need to be checked and the recaptcha token.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/user_check_email_create"
            }
          }
        ],
        "x-response-transformation": {
          "201": {
            "status": 200,
            "transformer": "CheckEmailTransformer"
          }
        },
        "responses": {
          "200": {
            "description": "User check email.",
            "schema": {
              "$ref": "#/definitions/user_check_email_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/user_email_check_validation_errors"
            }
          },
          "409": {
            "description": "Conflict Error. This happens when the email is duplicate",
            "schema": {
              "$ref": "#/definitions/user_email_check_conflict_errors"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/server_error_model"
            }
          }
        },
        "tags": [
          "User Check Email"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Public user email check"
      }
    },
    "/candidate/{candidate_id}/availability": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/sEarly_query_string"
          },
          {
            "$ref": "#/parameters/sLate_query_string"
          },
          {
            "$ref": "#/parameters/sNight_query_string"
          },
          {
            "$ref": "#/parameters/single_mongo_id_query_string"
          },
          {
            "$ref": "#/parameters/dtModified_from_query_string"
          },
          {
            "$ref": "#/parameters/dtModified_query_string"
          },
          {
            "$ref": "#/parameters/dtModified_to_query_string"
          },
          {
            "$ref": "#/parameters/dtCreated_from_query_string"
          },
          {
            "$ref": "#/parameters/dtCreated_query_string"
          },
          {
            "$ref": "#/parameters/dtCreated_to_query_string"
          },
          {
            "$ref": "#/parameters/dAvailabilityDate_from_query_string"
          },
          {
            "$ref": "#/parameters/dAvailabilityDate_query_string"
          },
          {
            "$ref": "#/parameters/dAvailabilityDate_to_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/candidate_availability_sort_by_query_string"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate availability listing",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_availability_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/availability_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Candidate Availability"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Listing of the the candidates availability"
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "candidate_availability",
            "in": "body",
            "description": "Object that contains availability items to create / update",
            "required": true,
            "schema": {
              "$ref": "#/definitions/candidate_availability_upsert"
            }
          }
        ],
        "x-response-transformation": {
          "201": {
            "transformer": "AvailabilitySuccessTransformer",
            "status": 200
          }
        },
        "responses": {
          "200": {
            "description": "The availability object containing the changes and warnings for the request",
            "schema": {
              "$ref": "#/definitions/candidate_availability_upsert_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/candidate_availability_upsert_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Candidate Availability"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Creation / Updating of the candidates availabilty",
        "description": "- This route returns warnings for items it was not able to create / update and NOT a 400\n- Any items that do not result in an error, will be created / updated even if there are warnings on other items\n"
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/availability": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-proxy-route": "/candidate/{candidate_id}/availability",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/sEarly_query_string"
          },
          {
            "$ref": "#/parameters/sLate_query_string"
          },
          {
            "$ref": "#/parameters/sNight_query_string"
          },
          {
            "$ref": "#/parameters/single_mongo_id_query_string"
          },
          {
            "$ref": "#/parameters/dtModified_from_query_string"
          },
          {
            "$ref": "#/parameters/dtModified_query_string"
          },
          {
            "$ref": "#/parameters/dtModified_to_query_string"
          },
          {
            "$ref": "#/parameters/dtCreated_from_query_string"
          },
          {
            "$ref": "#/parameters/dtCreated_query_string"
          },
          {
            "$ref": "#/parameters/dtCreated_to_query_string"
          },
          {
            "$ref": "#/parameters/dAvailabilityDate_from_query_string"
          },
          {
            "$ref": "#/parameters/dAvailabilityDate_query_string"
          },
          {
            "$ref": "#/parameters/dAvailabilityDate_to_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/candidate_availability_sort_by_query_string"
          }
        ],
        "responses": {
          "200": {
            "description": "Agency candidate availability listing",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_availability_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/availability_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Candidate Availability"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Listing of the agency candidates availability"
      },
      "post": {
        "x-proxy-route": "/candidate/{candidate_id}/availability",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "candidate_availability",
            "in": "body",
            "description": "Object that contains availability items to create / update",
            "required": true,
            "schema": {
              "$ref": "#/definitions/candidate_availability_upsert"
            }
          }
        ],
        "x-response-transformation": {
          "201": {
            "transformer": "AvailabilitySuccessTransformer",
            "status": 200
          }
        },
        "responses": {
          "200": {
            "description": "The availability object containing the changes and warnings for the request",
            "schema": {
              "$ref": "#/definitions/candidate_availability_upsert_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/candidate_availability_upsert_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Candidate Availability"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Creation / Updating of the agency candidates availabilty",
        "description": "- This route returns warnings for items it was not able to create / update and NOT a 400\n- Any items that do not result in an error, will be created / updated even if there are warnings on other items\n"
      }
    },
    "/candidate/{candidate_id}/booked-shifts": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/bExtraData_query_string"
          },
          {
            "$ref": "#/parameters/single_mongo_id_query_string"
          },
          {
            "$ref": "#/parameters/sStaffingOrderId_query_string"
          },
          {
            "$ref": "#/parameters/sJobTitleName_query_string"
          },
          {
            "$ref": "#/parameters/sSiteName_query_string"
          },
          {
            "$ref": "#/parameters/sSiteId_query_string"
          },
          {
            "$ref": "#/parameters/sWardName_query_string"
          },
          {
            "$ref": "#/parameters/sWardId_query_string"
          },
          {
            "$ref": "#/parameters/dtStart_query_string"
          },
          {
            "$ref": "#/parameters/dtStart_from_query_string"
          },
          {
            "$ref": "#/parameters/dtStart_to_query_string"
          },
          {
            "$ref": "#/parameters/dtEnd_query_string"
          },
          {
            "$ref": "#/parameters/dtEnd_from_query_string"
          },
          {
            "$ref": "#/parameters/dtEnd_to_query_string"
          },
          {
            "$ref": "#/parameters/sBookedCandidateName_query_string"
          },
          {
            "$ref": "#/parameters/sBookedCandidateId_query_string"
          },
          {
            "$ref": "#/parameters/sBookedAgencyId_query_string"
          },
          {
            "$ref": "#/parameters/sBookedAgencyName_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/candidate_booked_shifts_sort_by_query_string"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate booked shifts listing",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_booked_shifts_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Invalid path params / values for the header of the request",
            "schema": {
              "$ref": "#/definitions/candidate_booked_shifts_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Candidate Booked Shifts"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Listing of the candidate's booked shifts"
      }
    },
    "/user/{user_id}/integrations": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/user_id"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/sUserId_query_string"
          },
          {
            "$ref": "#/parameters/single_mongo_id_query_string"
          },
          {
            "$ref": "#/parameters/sIntegration_query_string"
          },
          {
            "$ref": "#/parameters/sIntegrationType_query_string"
          },
          {
            "$ref": "#/parameters/sIntegrationAppId_query_string"
          },
          {
            "$ref": "#/parameters/sToken_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/user_integrations_sort_by_query_string"
          }
        ],
        "responses": {
          "200": {
            "description": "User integrations listing",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/user_integrations_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Invalid path params / values for the header of the request",
            "schema": {
              "$ref": "#/definitions/user_integrations_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "User integrations"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Listing of user integrations"
      }
    },
    "/agency-group/{group_id}/user": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/group_id"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-bypass-ip-security-check": true,
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/sFirstName_query_string"
          },
          {
            "$ref": "#/parameters/single_mongo_id_query_string"
          },
          {
            "$ref": "#/parameters/sLastName_query_string"
          },
          {
            "$ref": "#/parameters/sEmailAddress_query_string"
          },
          {
            "$ref": "#/parameters/dtCreated_query_string"
          },
          {
            "$ref": "#/parameters/dtCreated_from_query_string"
          },
          {
            "$ref": "#/parameters/dtCreated_to_query_string"
          },
          {
            "$ref": "#/parameters/dtModified_query_string"
          },
          {
            "$ref": "#/parameters/dtModified_from_query_string"
          },
          {
            "$ref": "#/parameters/dtModified_to_query_string"
          },
          {
            "$ref": "#/parameters/sStatus_query_string"
          },
          {
            "$ref": "#/parameters/sUsername_query_string"
          },
          {
            "$ref": "#/parameters/dDateOfBirth_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/users_sort_by_query_string"
          },
          {
            "$ref": "#/parameters/sAgencyGroupUserStatus_query_string"
          },
          {
            "$ref": "#/parameters/q_query_string"
          }
        ],
        "responses": {
          "200": {
            "description": "Agency group users listing",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_users_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Invalid path params / values for the header of the request",
            "schema": {
              "$ref": "#/definitions/users_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "x-response-transformation": {
          "200": {
            "transformer": "AgencyGroupUserRetrievalTransformer"
          }
        },
        "tags": [
          "Agency Group Users"
        ],
        "summary": "Listing of agency group users"
      },
      "post": {
        "x-bypass-ip-security-check": true,
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "agency_group_user",
            "in": "body",
            "description": "Object that contains agency group user to create",
            "required": true,
            "schema": {
              "$ref": "#/definitions/user_create"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Return the created agency group user",
            "schema": {
              "$ref": "#/definitions/user_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/user_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Users"
        ],
        "summary": "Creation of agency group user"
      }
    },
    "/agency-group/{group_id}/candidate/{candidate_id}/basic-info": {
      "x-swagger-router-controller": "Proxy",
      "parameters": [
        {
          "$ref": "#/parameters/group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "agency_group_candidate_basic_info",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The basic info of a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_basic_info_response_body_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_agency_group_candidate_basic_info_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Gets the specified Agency Group Candidate Basic Info"
      },
      "put": {
        "x-operation-disabled": false,
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "agency_group_candidate_basic_info",
              "permission": [
                "create",
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_basic_info_put_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The basic info of a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_basic_info_response_body_def"
            }
          },
          "400": {
            "$ref": "#/responses/put_agency_group_candidate_basic_info_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "405": {
            "$ref": "#/responses/method_not_supported"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Upserts an Agency Group Candidate Basic Info"
      }
    },
    "/acl/group": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/sName_query_string"
          },
          {
            "$ref": "#/parameters/single_mongo_id_query_string"
          },
          {
            "$ref": "#/parameters/sRoleId_query_string"
          },
          {
            "$ref": "#/parameters/bSystemGroup_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/acl_groups_sort_by_query_string"
          }
        ],
        "responses": {
          "200": {
            "description": "Acl group listing",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/acl_groups_get_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Invalid path params / values for the header of the request",
            "schema": {
              "$ref": "#/definitions/acl_groups_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Acl Groups"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Listing of acl groups"
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "acl_group",
            "in": "body",
            "description": "Object that contains acl group to create",
            "required": true,
            "schema": {
              "$ref": "#/definitions/acl_group_create"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Return the created acl group",
            "schema": {
              "$ref": "#/definitions/acl_groups_post_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/acl_group_post_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "409": {
            "description": "Conflict error. Caused by creating duplicate group names",
            "schema": {
              "$ref": "#/definitions/conflict_error"
            }
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Acl Groups"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Creating acl groups"
      }
    },
    "/acl/group/{acl_group_id}": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/acl_group_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Acl group information",
            "schema": {
              "$ref": "#/definitions/acl_groups_get_return"
            }
          },
          "400": {
            "description": "Invalid path params / values for the header of the request",
            "schema": {
              "$ref": "#/definitions/acl_group_id_get_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Acl Groups"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Retrieving an acl group"
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "acl_group",
            "in": "body",
            "description": "Object that contains acl group to update",
            "required": true,
            "schema": {
              "$ref": "#/definitions/acl_group_id_create"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Return the updated acl group",
            "schema": {
              "$ref": "#/definitions/acl_groups_post_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/acl_group_id_post_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Acl Groups"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Updating an acl group"
      }
    },
    "/status": {
      "get": {
        "x-public-operation": true,
        "x-swagger-router-controller": "StatusDetails",
        "operationId": "getSystemStatus",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The server status will be returned",
            "schema": {
              "$ref": "#/definitions/server_status_response"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/serverErrorModel"
            }
          }
        },
        "tags": [
          "Status"
        ],
        "summary": "Gets the status of the service"
      }
    },
    "/agency-group/{group_id}/candidate/{candidate_id}/equality": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "agency_group_candidate_equality",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "group_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "description": "Return the equality monitoring details",
            "schema": {
              "$ref": "#/definitions/agency_group_equality_response_body"
            }
          },
          "400": {
            "description": "Return the equality monitoring details",
            "schema": {
              "$ref": "#/definitions/equality_get_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Retrieves the equality monitoring details of a candidate linked to an agency group"
      },
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "equality_update_body",
            "in": "body",
            "description": "The body that will be used to update the equality monitoring details",
            "required": true,
            "schema": {
              "$ref": "#/definitions/equality_put_body"
            }
          }
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "agency_group_candidate_equality",
              "permission": [
                "create",
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "group_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "description": "Return the equality monitoring details",
            "schema": {
              "$ref": "#/definitions/agency_group_equality_response_body"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/equality_update_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Creates or updates the equality monitoring details of a candidate linked to an agency group"
      }
    },
    "/agency-group/{group_id}/policy-action": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/created_at_from_query_string"
          },
          {
            "$ref": "#/parameters/created_at_query_string"
          },
          {
            "$ref": "#/parameters/created_at_to_query_string"
          },
          {
            "$ref": "#/parameters/actioned_at_from_query_string"
          },
          {
            "$ref": "#/parameters/actioned_at_query_string"
          },
          {
            "$ref": "#/parameters/actioned_at_to_query_string"
          },
          {
            "$ref": "#/parameters/action_type_query_string"
          },
          {
            "$ref": "#/parameters/resource_type_query_string"
          },
          {
            "$ref": "#/parameters/resource_id_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/policy_action_sort_by_query_string"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "policy_action",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of all policy actions",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/policy_action_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/policy_action_return_validation_errors"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Policy Action"
        ],
        "summary": "Lists all actions taken on a policy for the agency group"
      }
    },
    "/agency-group/{group_id}/policy-type": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "new_policy_type",
            "in": "body",
            "description": "New policy type that will be created",
            "required": true,
            "schema": {
              "$ref": "#/definitions/policy_type_create"
            }
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "policy_type",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Return the policy type object",
            "schema": {
              "$ref": "#/definitions/policy_type_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/policy_type_create_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Policy Type"
        ],
        "summary": "Creation of a new policy type",
        "description": "- There is no unique validation on payload, multiple posts create multiple policy types\n"
      },
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/classification"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "policy_type",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of all policy types",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/policy_type_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/pattern_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Policy Type"
        ],
        "summary": "Lists all policy types based on the query string"
      }
    },
    "/languages": {
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        }
      ],
      "get": {
        "tags": [
          "Languages"
        ],
        "summary": "Retrieves all the Languages",
        "x-swagger-router-controller": "Language",
        "operationId": "getLanguages",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/language_name"
          },
          {
            "$ref": "#/parameters/language_code"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all Locations",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/languages"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        }
      }
    },
    "/agency-group/{group_id}/policy-type/{policy_type_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/group_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "policy_type_update",
            "in": "body",
            "description": "Update policy type",
            "required": true,
            "schema": {
              "$ref": "#/definitions/policy_type_update"
            }
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "policy_type",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Return the policy type object",
            "schema": {
              "$ref": "#/definitions/policy_type_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/policy_type_update_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Policy Type"
        ],
        "summary": "Updates a policy type"
      },
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "policy_type",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Return the policy type object",
            "schema": {
              "$ref": "#/definitions/policy_type_return"
            }
          },
          "400": {
            "$ref": "#/responses/pattern_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Policy Type"
        ],
        "summary": "Get the policy type"
      }
    },
    "/agency-group/{group_id}/policy-type/{policy_type_id}/version/{version}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/group_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        },
        {
          "$ref": "#/parameters/version"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json",
          "application/pdf"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "policy",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a policy object that has had all the tokens stripped from the content",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "description": "Invalid path params / values for the header of the request",
            "schema": {
              "$ref": "#/definitions/policy_pdf_download_validation_errors"
            }
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Processed Policy"
        ],
        "summary": "Get the policy details with all tokens replaced / stripped out",
        "description": "- This route gives you the ability to get the policy as a pdf.\n- When specifying `application/pdf` your response will be a file\n"
      }
    },
    "/agency-group/{group_id}/policy": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "new_policy",
            "in": "body",
            "description": "New policy that will be created",
            "required": true,
            "schema": {
              "$ref": "#/definitions/policy_create"
            }
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "policy",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Return the new policy object",
            "schema": {
              "$ref": "#/definitions/policy_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/policy_create_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Policy"
        ],
        "summary": "Creation of a new policy",
        "description": "- The effective date must be greater than the previous document, if this is the first any value is valid\n- The specified policy_type_id, must refer to an existing policy type\n- Posting the same policy_type_id will create a new version of the policy\n- Policies with effective_at dates in the future, will only become active then\n- You can only have one active policy per policy_type_id\n"
      },
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/version_from_query_string"
          },
          {
            "$ref": "#/parameters/version_query_string"
          },
          {
            "$ref": "#/parameters/version_to_query_string"
          },
          {
            "$ref": "#/parameters/active_query_string"
          },
          {
            "$ref": "#/parameters/policy_type_id_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/policy_sort_by_query_string"
          },
          {
            "$ref": "#/parameters/policy_type_classification"
          },
          {
            "$ref": "#/parameters/policy_type_title"
          },
          {
            "$ref": "#/parameters/policy_type_description"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "policy",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of all policies",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/policy_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/pattern_enum_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Policy"
        ],
        "summary": "Lists all policies based on the query string",
        "description": "- What version of the policy is currently the active version?\n  - /agency-group/{group_id}/policy?policy_type_id=2468&active=true\n- What version of a set of policies is currently the active version?\n  - /agency-group/{group_id}/policy?policy_type_id=2468,2469,2470&active=true\n- What is the content of version x of a policy?\n  - /agency-group/{group_id}/policy?policy_type_id=2468&version=x\n- What are the currently active policies in effect?\n  - /agency-group/{group_id}/policy?active=true\n"
      }
    },
    "/agency-group/{group_id}/policy-type/{policy_type_id}/version/{version}/preview": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/group_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        },
        {
          "$ref": "#/parameters/version"
        }
      ],
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/pdf"
        ],
        "parameters": [
          {
            "name": "policy_preview",
            "in": "body",
            "description": "Details that will be used to generate the preview",
            "required": true,
            "schema": {
              "$ref": "#/definitions/policy_preview"
            }
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "policy",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a pdf document preview of the pollicy",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/policy_pdf_preview_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Processed Policy"
        ],
        "summary": "Generates the policy preview",
        "description": "- Content and Prompt are expected to be valid html strings\n"
      }
    },
    "/candidate/{candidate_id}/policy-type/{policy_type_id}/version/{version}/action": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        },
        {
          "$ref": "#/parameters/version"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "action_details",
            "in": "body",
            "description": "Contains the action the candidate would like to take against a particular policy type",
            "required": true,
            "schema": {
              "$ref": "#/definitions/policy_action_create"
            }
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "policy_action",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Returns the candidate policy action object",
            "schema": {
              "$ref": "#/definitions/policy_action_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/policy_action_create_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Policy",
          "Candidate Policy"
        ],
        "summary": "Apply an action to a particular policy",
        "description": "- acknowledged can only be actioned against the latest version, you will get a 400 if the version is not\n- you will get a 404 if any of the ids in the url do not link to a valid object\n"
      }
    },
    "/candidate/{candidate_id}/policy-type/{policy_type_id}/version/{version}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        },
        {
          "$ref": "#/parameters/latest_version"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json",
          "application/pdf"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-proxy-headers": [
          "X-Accept-Timezone"
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "policy",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a policy object that has had all the tokens stripped from the content",
            "schema": {
              "$ref": "#/definitions/processed_policy_return"
            }
          },
          "400": {
            "$ref": "#/responses/pattern_required_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Policy",
          "Candidate Policy",
          "Processed Policy"
        ],
        "summary": "Get the processed policy details with all tokens replaced / stripped out",
        "description": "- This route gives you the ability to get the policy content in html, having all tokens replaced / removed.\n- This html can then be used directly on a web page.\n- You will need to inspect the action array to determine if the candidate has acknowledged this particular policy version\n- When specifying `application/pdf` your response will be a file\n"
      }
    },
    "/user/{user_id}/policy-type/{policy_type_id}/version/{version}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/user_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        },
        {
          "$ref": "#/parameters/latest_version"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json",
          "application/pdf"
        ],
        "x-proxy-headers": [
          "X-Accept-Timezone"
        ],
        "security": [
          {
            "staffshiftUser": []
          }
        ],
        "x-staffshift-user-security": [
          {
            "context": "Candidate",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "policy",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a policy object that has had all the tokens stripped from the content",
            "schema": {
              "$ref": "#/definitions/user_processed_policy_return"
            }
          },
          "400": {
            "$ref": "#/responses/pattern_required_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Policy",
          "User Policy"
        ],
        "summary": "Get the processed policy details with all tokens replaced / stripped out",
        "description": "- This route gives you the ability to get the policy content in html, having all tokens replaced / removed.\n- This html can then be used directly on a web page.\n- You will need to inspect the action array to determine if the candidate has acknowledged this particular policy version\n- When specifying `application/pdf` your response will be a file\n"
      }
    },
    "/candidate/{candidate_id}/policy-type/{policy_type_id}/version/{version}/acknowledgement": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        },
        {
          "$ref": "#/parameters/version"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/pdf"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "policy",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a policy object that has had all the tokens stripped from the content",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "description": "Invalid path params / values for the header of the request",
            "schema": {
              "$ref": "#/definitions/policy_type_version_get_acknowledgement_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Policy",
          "Candidate Policy",
          "Processed Policy"
        ],
        "summary": "Gets only the acknowledgement details of the processed policy with all tokens replaced / stripped out",
        "description": "- When specifying `application/pdf` your response will be a file\n"
      }
    },
    "/candidate/{candidate_id}/agency-group/{group_id}/policy": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/action_query_string"
          },
          {
            "$ref": "#/parameters/version_from_query_string"
          },
          {
            "$ref": "#/parameters/version_query_string"
          },
          {
            "$ref": "#/parameters/version_to_query_string"
          },
          {
            "$ref": "#/parameters/latest_only_query_string"
          },
          {
            "$ref": "#/parameters/policy_type_id_query_string"
          },
          {
            "$ref": "#/parameters/policy_effective_at_from_query_string"
          },
          {
            "$ref": "#/parameters/policy_effective_at_query_string"
          },
          {
            "$ref": "#/parameters/policy_effective_at_to_query_string"
          },
          {
            "$ref": "#/parameters/resource_policy_sort_by_query_string"
          },
          {
            "$ref": "#/parameters/policy_type_classification"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "policy",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of all policies assigned to the candidate for the agency group",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_or_user_policy_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/user_or_candidate_policy_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Policy",
          "Candidate Policy"
        ],
        "summary": "Candidate policy listing for a particular agency group",
        "description": "- All assigned policy types for a candidate for a particular agency group\n  - /candidate/{candidate_id}/agency-group/{group_id}/policy\n- Has a candidate acknowledged a particular policy?\n  - /candidate/{candidate_id}/agency-group/{group_id}/policy?action=acknowledged&policy_type_id=2468\n- Has a candidate acknowledged a particular version of the policy?\n  - /candidate/{candidate_id}/agency-group/{group_id}/policy?action=acknowledged&policy_type_id=2468&latest_only=true\n  - /candidate/{candidate_id}/agency-group/{group_id}/policy?action=acknowledged&policy_type_id=2468&version=2\n- Has a candidate acknowledged a document that has an effective date greater than x?\n  - /candidate/{candidate_id}/agency-group/{group_id}/policy?action=acknowledged&policy_type_id=2468&policy_effective_at_from=x\n"
      }
    },
    "/user/{user_id}/staffshift/{staffshift_id}/policy": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/staffshift_user_id"
        },
        {
          "$ref": "#/parameters/staffshift_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/action_query_string"
          },
          {
            "$ref": "#/parameters/version_from_query_string"
          },
          {
            "$ref": "#/parameters/version_query_string"
          },
          {
            "$ref": "#/parameters/version_to_query_string"
          },
          {
            "$ref": "#/parameters/latest_only_query_string"
          },
          {
            "$ref": "#/parameters/policy_type_id_query_string"
          },
          {
            "$ref": "#/parameters/policy_effective_at_from_query_string"
          },
          {
            "$ref": "#/parameters/policy_effective_at_query_string"
          },
          {
            "$ref": "#/parameters/policy_effective_at_to_query_string"
          },
          {
            "$ref": "#/parameters/resource_policy_sort_by_query_string"
          },
          {
            "$ref": "#/parameters/policy_type_classification"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "security": [
          {
            "staffshiftUser": []
          }
        ],
        "x-staffshift-user-security": [
          {
            "context": "Candidate",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "policy",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of all policies assigned to the user for the staffshift",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_or_user_policy_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/user_or_candidate_policy_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Policy",
          "User Policy"
        ],
        "summary": "User policy listing for a particular staffshift",
        "description": "- All assigned policy types for a user for a particular staffshift\n  - /user/{user_id}/staffshift/{staffshift_id}/policy\n- Has a user acknowledged a particular policy?\n  - /user/{user_id}/staffshift/{staffshift_id}/policy?action=acknowledged&policy_type_id=2468\n- Has a user acknowledged a particular version of the policy?\n  - /user/{user_id}/staffshift/{staffshift_id}/policy?action=acknowledged&policy_type_id=2468&latest_only=true\n  - /user/{user_id}/staffshift/{staffshift_id}/policy?action=acknowledged&policy_type_id=2468&version=2\n- Has a user acknowledged a document that has an effective date greater than x?\n  - /user/{user_id}/staffshift/{staffshift_id}/policy?action=acknowledged&policy_type_id=2468&policy_effective_at_from=x\n"
      }
    },
    "/acl/group/{acl_group_id}/userdetails": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/acl_group_id"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/acl_groups_userdetails_sort_by_query_string"
        },
        {
          "$ref": "#/parameters/sFirstName_query_string"
        },
        {
          "$ref": "#/parameters/sLastName_query_string"
        },
        {
          "$ref": "#/parameters/sUsername_query_string"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "ACL user details listing",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/acl_user_details_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Invalid path params / values for the header of the request",
            "schema": {
              "$ref": "#/definitions/acl_user_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "405": {
            "$ref": "#/responses/method_not_supported"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Acl Groups"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Listing of acl user details"
      }
    },
    "/acl/group/{acl_group_id}/user/{user_id}": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/acl_group_id"
        },
        {
          "$ref": "#/parameters/user_id"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "delete": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "ACL group associated with a user",
            "schema": {
              "$ref": "#/definitions/acl_group_user_return"
            }
          },
          "400": {
            "description": "Invalid path params / values for the header of the request",
            "schema": {
              "$ref": "#/definitions/acl_group_delete_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Acl Groups"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Removes an acl group from a user."
      },
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "acl_group",
            "in": "body",
            "description": "Payload for creating acl group",
            "required": true,
            "schema": {
              "$ref": "#/definitions/acl_group_user_create"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the acl group and user pairing",
            "schema": {
              "$ref": "#/definitions/acl_group_user_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/acl_group_update_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Acl Groups"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Adds an acl group to a user"
      }
    },
    "/candidate/{candidate_id}/plugin": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "CandidatePlugin"
        ],
        "description": "Retrieves all plugins for a certain candidate.",
        "summary": "Retrieves all plugins for a certain candidate",
        "operationId": "getListCandidatePlugin",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "sOwnerId",
            "in": "query",
            "description": "The id of the owner that created the plugin setting",
            "required": false,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "sPluginSettingId",
            "in": "query",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The id of the plugin setting using which the plugin was created",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An array of plugins for display",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PluginDisplay"
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/candidate_plugin_get_validation_error_model"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "404": {
            "description": "Not Found Error. Thrown if the resource that is being accessed does not exists.",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/serverErrorModel"
            }
          }
        },
        "x-swagger-router-controller": "CandidatePlugin"
      }
    },
    "/agency-group/{agency_group_id}/user/{user_id}/plugin": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/user_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "User Plugins"
        ],
        "summary": "Retrieves all agency group plugins for a specific user.",
        "operationId": "getListAgencyGroupUserPlugins",
        "parameters": [
          {
            "name": "sPluginSettingId",
            "in": "query",
            "description": "The id of the plugin setting using which the plugin was created",
            "required": false,
            "type": "string"
          }
        ],
        "security": [
          {
            "pathContextValidator": [],
            "staffshiftUser": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-user-security": [
          {
            "context": "AgencyGroup",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "welcome",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "An array of plugins will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PluginDisplay"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "x-swagger-router-controller": "UserPlugin"
      }
    },
    "/agency-group/{agency_group_id}/user/{user_id}/plugin/{plugin_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/user_id"
        },
        {
          "$ref": "#/parameters/plugin_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "User Plugins"
        ],
        "summary": "Retrieves a single agency group plugin for a specific user.",
        "operationId": "getAgencyGroupUserPlugin",
        "security": [
          {
            "pathContextValidator": [],
            "staffshiftUser": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-user-security": [
          {
            "context": "AgencyGroup",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "welcome",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A plugin object for display",
            "schema": {
              "$ref": "#/definitions/PluginDisplay"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "x-swagger-router-controller": "UserPlugin"
      }
    },
    "/agency/{agency_id}/user/{user_id}/plugin": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/user_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "User Plugins"
        ],
        "summary": "Retrieves all agency plugins for a specific user.",
        "operationId": "getListAgencyUserPlugins",
        "parameters": [
          {
            "name": "sPluginSettingId",
            "in": "query",
            "description": "The id of the plugin setting using which the plugin was created",
            "required": false,
            "type": "string"
          }
        ],
        "security": [
          {
            "pathContextValidator": [],
            "staffshiftUser": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-user-security": [
          {
            "context": "Agency",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "welcome",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "An array of plugins will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PluginDisplay"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "x-swagger-router-controller": "UserPlugin"
      }
    },
    "/agency/{agency_id}/user/{user_id}/plugin/{plugin_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/user_id"
        },
        {
          "$ref": "#/parameters/plugin_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "User Plugins"
        ],
        "summary": "Retrieves a single agency plugin for a specific user.",
        "operationId": "getAgencyUserPlugin",
        "security": [
          {
            "pathContextValidator": [],
            "staffshiftUser": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-user-security": [
          {
            "context": "Agency",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "welcome",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A plugin object for display",
            "schema": {
              "$ref": "#/definitions/PluginDisplay"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "x-swagger-router-controller": "UserPlugin"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/plugin": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "CandidatePlugin"
        ],
        "summary": "Retrieves all agency group plugins for a certain candidate.",
        "operationId": "getListAgencyGroupCandidatePlugin",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "sPluginSettingId",
            "in": "query",
            "description": "The id of the plugin setting using which the plugin was created",
            "required": false,
            "type": "string"
          }
        ],
        "security": [
          {
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "responses": {
          "200": {
            "description": "An array of plugins for display",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PluginDisplay"
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "x-swagger-router-controller": "CandidatePlugin",
        "x-bypass-ip-security-check": true
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/plugin/{plugin_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/plugin_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "CandidatePlugin"
        ],
        "summary": "Retrieves a specific agency group plugin for a certain candidate.",
        "operationId": "getAgencyGroupCandidatePlugin",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "responses": {
          "200": {
            "description": "A plugin object for display",
            "schema": {
              "$ref": "#/definitions/PluginDisplay"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "x-swagger-router-controller": "CandidatePlugin",
        "x-bypass-ip-security-check": true
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/invitation": {
      "post": {
        "tags": [
          "CandidateInvitation"
        ],
        "description": "Sends Agency group candidate invitations out",
        "summary": "Sends Agency group candidate invitations out",
        "operationId": "sendAgencyGroupCandidateInvitation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "candidate_id",
            "in": "path",
            "description": "The id of the candidate who we want to send invitation to",
            "required": true,
            "type": "string"
          },
          {
            "name": "agency_group_id",
            "in": "path",
            "description": "The id of Agency group",
            "required": true,
            "type": "string"
          },
          {
            "name": "objInvitationSendType",
            "in": "body",
            "description": "Send in whether to resend or send the invitation",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InvitationSendType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success response",
            "schema": {
              "$ref": "#/definitions/SuccessResponse"
            }
          },
          "400": {
            "description": "Validation Error. When context is incorrect.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/serverErrorModel"
            }
          }
        },
        "x-swagger-router-controller": "AgencyGroupCandidateInvitation",
        "x-bypass-ip-security-check": true
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/invitation": {
      "post": {
        "tags": [
          "CandidateInvitation"
        ],
        "description": "Sends Agency candidate invitations out",
        "summary": "Sends Agency candidate invitations out",
        "operationId": "sendCandidateInvitation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "candidate_id",
            "in": "path",
            "description": "The id of the candidate who we want to send invitation to",
            "required": true,
            "type": "string"
          },
          {
            "name": "agency_id",
            "in": "path",
            "description": "The id of Agency",
            "required": true,
            "type": "string"
          },
          {
            "name": "objInvitationSendType",
            "in": "body",
            "description": "Send in whether to resend or send the invitation",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InvitationSendType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success response",
            "schema": {
              "$ref": "#/definitions/SuccessResponse"
            }
          },
          "400": {
            "description": "Validation Error. When context is incorrect.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/serverErrorModel"
            }
          }
        },
        "x-swagger-router-controller": "AgencyCandidateInvitation",
        "x-bypass-ip-security-check": true
      }
    },
    "/candidate/{candidate_id}/plugin/{plugin_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/plugin_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "CandidatePlugin"
        ],
        "description": "Retrieves a single plugin for a single candidate.",
        "summary": "Retrieves a single plugin for a single candidate.",
        "operationId": "getCandidatePlugin",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A single plugin for display",
            "schema": {
              "$ref": "#/definitions/PluginDisplay"
            }
          },
          "400": {
            "description": "Validation Error. When context is incorrect.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/serverErrorModel"
            }
          }
        },
        "x-swagger-router-controller": "CandidatePlugin"
      }
    },
    "/candidate/{candidateId}/profile/next-of-kin": {
      "get": {
        "deprecated": true,
        "x-deprecation-key": "deprecate-candidate-next-of-kin",
        "tags": [
          "Candidate"
        ],
        "description": "Retrieves a candidate's next-of-kin details",
        "summary": "Retrieves a candidate's next-of-kin details",
        "operationId": "getListCandidateNextOfKinDetails",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "candidateId",
            "in": "path",
            "description": "The candidate Id",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "success response for next-of-kin details retrieval",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/NextOfKinDetailsWithIdGet"
              }
            }
          },
          "204": {
            "description": "No Content. Returned if no next-of-kin details were found."
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter. Or this could be because of an unexpected result returned from ACCR at the moment.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/serverErrorModel"
            }
          }
        },
        "x-swagger-router-controller": "Candidate"
      }
    },
    "/candidate/{candidate_id}/basic-info": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Candidate Basic Info"
        ],
        "description": "Retrieves candidate basic info",
        "summary": "Retrieves candidate basic info",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_basic_info",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate Basic Info",
            "schema": {
              "$ref": "#/definitions/candidate_basic_info_response_def"
            }
          },
          "400": {
            "description": "Validation Error. When context is incorrect.",
            "schema": {
              "$ref": "#/definitions/get_candidate_basic_info_validation_error"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "406": {
            "description": "Not acceptable, Content type not supported",
            "schema": {
              "$ref": "#/definitions/clientErrorModel"
            }
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        }
      },
      "put": {
        "tags": [
          "Candidate Basic Info"
        ],
        "description": "Upserts a candidate basic info",
        "summary": "Upserts a Candidate Basic Info",
        "x-operation-disabled": false,
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_basic_info",
              "permission": [
                "create",
                "update"
              ]
            }
          }
        ],
        "parameters": [
          {
            "in": "body",
            "name": "basic_info_put_body",
            "description": "The document that needs to be added/updated",
            "required": true,
            "schema": {
              "$ref": "#/definitions/candidate_basic_info_def"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response for updating candidate Basic Info",
            "schema": {
              "$ref": "#/definitions/candidate_basic_info_response_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/put_candidate_basic_info_validation_error"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "406": {
            "description": "Not acceptable, Content type not supported",
            "schema": {
              "$ref": "#/definitions/clientErrorModel"
            }
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        }
      }
    },
    "/candidate/{candidate_id}/misc": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Candidate Misc Details"
        ],
        "description": "Retrieves candidate misc details",
        "summary": "Retrieves candidate misc details",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_misc_details",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate Misc Details",
            "schema": {
              "$ref": "#/definitions/candidate_misc_details_response_body_def"
            }
          },
          "400": {
            "description": "Validation Error. When context is incorrect.",
            "schema": {
              "$ref": "#/definitions/get_candidate_misc_details_validation_error"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "406": {
            "description": "Not acceptable, Content type not supported",
            "schema": {
              "$ref": "#/definitions/clientErrorModel"
            }
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        }
      },
      "put": {
        "tags": [
          "Candidate Misc Details"
        ],
        "description": "Update candidate misc details",
        "summary": "Upserts candidate misc details",
        "x-operation-disabled": false,
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_misc_details",
              "permission": [
                "create",
                "update"
              ]
            }
          }
        ],
        "parameters": [
          {
            "in": "body",
            "name": "misc_details_put_body",
            "description": "The document that needs to be added/updated",
            "required": true,
            "schema": {
              "$ref": "#/definitions/candidate_misc_details_put_body_def"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response for updating candidate Misc Details",
            "schema": {
              "$ref": "#/definitions/candidate_misc_details_response_body_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/put_candidate_misc_details_validation_error"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "406": {
            "description": "Not acceptable, Content type not supported",
            "schema": {
              "$ref": "#/definitions/clientErrorModel"
            }
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/misc": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "tags": [
          "AgencyCandidate"
        ],
        "description": "Updates agency candidate's miscellaneous details",
        "summary": "Upserts agency candidate's miscellaneous details",
        "x-operation-disabled": false,
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "pathContextValidator": [],
            "agencyCandidate": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_misc_details",
              "permission": [
                "create",
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "parameters": [
          {
            "in": "body",
            "name": "misc_details_put_body",
            "description": "The body needed to update the miscellaneous details for a candidate",
            "required": true,
            "schema": {
              "$ref": "#/definitions/candidate_misc_details_put_body_def"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success response for miscellaneous details update",
            "schema": {
              "$ref": "#/definitions/agency_candidate_misc_details_response_body_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/put_candidate_misc_details_validation_error"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "406": {
            "description": "Not acceptable, Content type not supported",
            "schema": {
              "$ref": "#/definitions/clientErrorModel"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/serverErrorModel"
            }
          }
        }
      },
      "get": {
        "tags": [
          "AgencyCandidate"
        ],
        "description": "Retrieves agency candidate's miscellaneous details",
        "summary": "Retrieves agency candidate's miscellaneous details",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "pathContextValidator": [],
            "agencyCandidate": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_misc_details",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "description": "success response for miscellaneous details retrieval",
            "schema": {
              "$ref": "#/definitions/agency_candidate_misc_details_response_body_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter. Or this could be because of an unexpected result returned from ACCR at the moment.",
            "schema": {
              "$ref": "#/definitions/get_candidate_misc_details_validation_error"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/serverErrorModel"
            }
          }
        }
      }
    },
    "/candidate/profile/misc/{candidate_id}": {
      "get": {
        "tags": [
          "Candidate"
        ],
        "description": "Retrieves a candidate's miscellaneous details",
        "summary": "Retrieves a candidate's miscellaneous details",
        "operationId": "getCandidateProfileMiscellaneousDetails",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "candidate_id",
            "in": "path",
            "description": "The candidate Id",
            "required": true,
            "type": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "success response for miscellaneous details retrieval",
            "schema": {
              "$ref": "#/definitions/MiscDetailsWithIdGet"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter. Or this could be because of an unexpected result returned from ACCR at the moment.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/serverErrorModel"
            }
          }
        },
        "x-swagger-router-controller": "Candidate"
      }
    },
    "/candidate/profile/recruitment-preferences/{candidate_id}": {
      "get": {
        "tags": [
          "Candidate"
        ],
        "description": "Retrieves a recruiment preferences for candidate",
        "summary": "Retrieves a recruitment preferences for candidate",
        "operationId": "getCandidateRecruitment",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "candidate_id",
            "in": "path",
            "description": "The id of the candidate whose recruitment preferences will be returned",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate recruitment details",
            "schema": {
              "$ref": "#/definitions/recruitmentPreference"
            }
          },
          "400": {
            "description": "Validation Error. When context is incorrect.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/serverErrorModel"
            }
          }
        },
        "x-swagger-router-controller": "Candidate"
      },
      "post": {
        "tags": [
          "Candidate"
        ],
        "description": "Updates candidate's recruitment preferences",
        "summary": "Updates candidate's recruitment preferences",
        "operationId": "postCandidateRecruitment",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "candidate_id",
            "in": "path",
            "description": "The id of the candidate whose recruitment preferences will be posted",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "objCandidateRecruitmenBody",
            "description": "The document that needs to be added",
            "required": true,
            "schema": {
              "$ref": "#/definitions/arrRecruitmenPostModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Agency candidate language details was updated",
            "schema": {
              "$ref": "#/definitions/recruitmentPreference"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter. Or this could be because of an unexpected result returned from ACCR at the moment",
            "schema": {
              "$ref": "#/definitions/validationErrorSchemaPostRecruitment"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "406": {
            "description": "Not acceptable, Content type not supported",
            "schema": {
              "$ref": "#/definitions/clientErrorModel"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/serverErrorModel"
            }
          }
        },
        "x-swagger-router-controller": "Candidate"
      }
    },
    "/candidate/profile/equality/{candidate_id}": {
      "get": {
        "tags": [
          "Candidate"
        ],
        "description": "Retrieves candidate equality details",
        "summary": "Retrieves candidate equality details",
        "operationId": "getCandidateEquality",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "candidate_id",
            "in": "path",
            "description": "The id of the candidate whose equality details will be returned",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response for retrieving Candidate with a List of equality",
            "schema": {
              "$ref": "#/definitions/CandidateEqualityProfile"
            }
          },
          "400": {
            "description": "Validation Error. When context is incorrect.",
            "schema": {
              "$ref": "#/definitions/validationErrorModel"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "406": {
            "description": "Not acceptable, Content type not supported",
            "schema": {
              "$ref": "#/definitions/clientErrorModel"
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "$ref": "#/definitions/serverErrorModel"
            }
          }
        },
        "x-swagger-router-controller": "Candidate"
      }
    },
    "/candidate/{candidate_id}/email/{email_id}/verify/{hash_value}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/email_id"
        },
        {
          "$ref": "#/parameters/hash_value"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Candidate Email Verify"
        ],
        "description": "Verify candidate email address",
        "summary": "Verify candidate email address",
        "x-public-operation": true,
        "x-operation-disabled": false,
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate Email Address that was verified",
            "schema": {
              "$ref": "#/definitions/candidate_email_address_with_verified_at_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/verify_candidate_email_address_validation_error"
            }
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/equality": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "AgencyCandidate"
        ],
        "description": "Retrieves agency candidate equality details",
        "summary": "Retrieves agency candidate equality details",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_equality",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "description": "Agency Candidate's List of equality",
            "schema": {
              "$ref": "#/definitions/agency_equality_response_body"
            }
          },
          "400": {
            "description": "Validation Error. When context is incorrect.",
            "schema": {
              "$ref": "#/definitions/getValidationErrorCandidateEqualityModel"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "406": {
            "description": "Not acceptable, Content type not supported",
            "schema": {
              "$ref": "#/definitions/clientErrorModel"
            }
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        }
      },
      "put": {
        "tags": [
          "AgencyCandidate"
        ],
        "description": "Update agency candidate Equality details",
        "summary": "Update agency candidate Equality details",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_equality",
              "permission": [
                "create",
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "parameters": [
          {
            "in": "body",
            "name": "equality_put_body",
            "description": "The document that needs to be added",
            "required": true,
            "schema": {
              "$ref": "#/definitions/equality_put_body"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response for updating Agency candidate Equality details",
            "schema": {
              "$ref": "#/definitions/agency_equality_response_body"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter. Or this could be because of an unexpected result returned from ACCR at the moment",
            "schema": {
              "$ref": "#/definitions/validationErrorCandidateEqualityModel"
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "$ref": "#/definitions/unauthorize_error_model"
            }
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "description": "Not found. Returned if no resource was found",
            "schema": {
              "$ref": "#/definitions/resource_not_found"
            }
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "406": {
            "description": "Not acceptable, Content type not supported",
            "schema": {
              "$ref": "#/definitions/clientErrorModel"
            }
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/next-of-kin": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "AgencyCandidate"
        ],
        "summary": "Retrieves all next of kin entries for the candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_next_of_kin",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All next of kin details for a candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_next_of_kin_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "AgencyCandidate"
        ],
        "summary": "Creates a next of kin entry for the candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_next_of_kin",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/next_of_kin_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Candidate next of kin data that was created",
            "schema": {
              "$ref": "#/definitions/agency_next_of_kin_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/next-of-kin/{next_of_kin_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/next_of_kin_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_next_of_kin",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate next of kin details for id will be returned",
            "schema": {
              "$ref": "#/definitions/agency_next_of_kin_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "AgencyCandidate"
        ],
        "summary": "Retrieves a next of kin entry for the candidate"
      },
      "put": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_next_of_kin",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/next_of_kin_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate next of kin data that was replaced",
            "schema": {
              "$ref": "#/definitions/agency_next_of_kin_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "AgencyCandidate"
        ],
        "summary": "Replaces a next of kin entry for the candidate"
      },
      "delete": {
        "tags": [
          "AgencyCandidate"
        ],
        "summary": "Removed the specific agency candidate next of kin record",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_next_of_kin",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate next of kin data that was deleted",
            "schema": {
              "$ref": "#/definitions/agency_next_of_kin_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        }
      }
    },
    "/candidate/{candidate_id}/next-of-kin": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_next_of_kin",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All next of kin details for a candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/next_of_kin_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Next Of Kin"
        ],
        "summary": "Retrieves all next of kin entries for the candidate"
      },
      "post": {
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_next_of_kin",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/next_of_kin_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Candidate next of kin data that was created",
            "schema": {
              "$ref": "#/definitions/next_of_kin_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Next Of Kin"
        ],
        "summary": "Creates a next of kin entry for the candidate"
      }
    },
    "/candidate/{candidate_id}/next-of-kin/{next_of_kin_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/next_of_kin_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_next_of_kin",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate next of kin details for id will be returned",
            "schema": {
              "$ref": "#/definitions/next_of_kin_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Next Of Kin"
        ],
        "summary": "Retrieves a next of kin entry for the candidate"
      },
      "put": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_next_of_kin",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/next_of_kin_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate next of kin data that was replaced",
            "schema": {
              "$ref": "#/definitions/next_of_kin_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Next Of Kin"
        ],
        "summary": "Replaces a next of kin entry for the candidate"
      },
      "delete": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_next_of_kin",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate next of kin data that was deleted",
            "schema": {
              "$ref": "#/definitions/next_of_kin_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Next Of Kin"
        ],
        "summary": "Deletes a next of kin entry for the candidate"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/next-of-kin": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_next_of_kin",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All next of kin details for a candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_next_of_kin_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Retrieves all next of kin entries for the candidate"
      },
      "post": {
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_next_of_kin",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/next_of_kin_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Candidate next of kin data that was created",
            "schema": {
              "$ref": "#/definitions/agency_group_next_of_kin_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Creates a next of kin entry for the candidate"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/next-of-kin/{next_of_kin_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/next_of_kin_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_next_of_kin",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate next of kin details for id will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_next_of_kin_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Retrieves a next of kin entry for the candidate"
      },
      "put": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_next_of_kin",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/next_of_kin_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate next of kin data that was replaced",
            "schema": {
              "$ref": "#/definitions/agency_group_next_of_kin_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Replaces a next of kin entry for the candidate"
      },
      "delete": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_next_of_kin",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate next of kin data that was deleted",
            "schema": {
              "$ref": "#/definitions/agency_group_next_of_kin_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_next_of_kin_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Deletes a next of kin entry for the candidate"
      }
    },
    "/candidate/{candidate_id}/languages": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Candidate"
        ],
        "summary": "Retrieves all language entries for the candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_language",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All languages for a candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/language_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Candidate"
        ],
        "summary": "Creates a language entry for the candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_language",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/language_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Candidate language data that was created",
            "schema": {
              "$ref": "#/definitions/language_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/languages/{language_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/language_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Candidate"
        ],
        "summary": "Retrieves a language entry for the candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_language",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate language details for id will be returned",
            "schema": {
              "$ref": "#/definitions/language_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Candidate"
        ],
        "summary": "Replaces a language entry for the candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_language",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/language_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate language data that was replaced",
            "schema": {
              "$ref": "#/definitions/language_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Candidate"
        ],
        "summary": "Deletes a language entry for the candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_language",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate language data that was deleted",
            "schema": {
              "$ref": "#/definitions/language_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/languages": {
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Retrieves all languages entries for the candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_language",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All languages for a candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_language_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Creates a language entry for the agency group candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_language",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/language_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "All languages for a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_language_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/languages/{language_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/language_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Retrieves a language entry for the agency group candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_language",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate language details for id will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_language_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Replaces a language entry for the agency group candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_language",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/language_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate language data that was replaced",
            "schema": {
              "$ref": "#/definitions/agency_group_language_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Group Candidate"
        ],
        "summary": "Deletes a language entry for the agency group candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_language",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate language data that was deleted",
            "schema": {
              "$ref": "#/definitions/agency_group_language_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/languages": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Languages"
        ],
        "summary": "Retrieves all language entries for the agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_language",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All languages for a candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_language_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Agency Candidate Languages"
        ],
        "summary": "Creates a language entry for the agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_language",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/language_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Candidate language data that was created",
            "schema": {
              "$ref": "#/definitions/agency_language_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/languages/{language_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/language_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Languages"
        ],
        "summary": "Retrieves a language entry for the agency candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_language",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate language details for id will be returned",
            "schema": {
              "$ref": "#/definitions/agency_language_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Candidate Languages"
        ],
        "summary": "Replaces a language entry for the agency candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_language",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/language_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate language data that was replaced",
            "schema": {
              "$ref": "#/definitions/agency_language_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Candidate Languages"
        ],
        "summary": "Deletes a language entry for the agency candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_language",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate language data that was deleted",
            "schema": {
              "$ref": "#/definitions/agency_language_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_language_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/other-names": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Candidate Other Names"
        ],
        "summary": "Gets the specified Candidate Other Names record",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_other_names",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The other names record of a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/other_names_response_body_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Candidate Other Names"
        ],
        "summary": "Upserts a Candidate Other Names record",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_other_names",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/other_names_put_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The other names record of a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/other_names_response_body_def"
            }
          },
          "400": {
            "$ref": "#/responses/validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "405": {
            "$ref": "#/responses/method_not_supported"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/other-names": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Other Names"
        ],
        "summary": "Gets the specified Agency Candidate Other Names",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_other_names",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The other names of a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/agency_other_names_response_body_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Candidate Other Names"
        ],
        "summary": "Upserts an Agency Candidate Other Names",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_other_names",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/other_names_put_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The other names of a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/agency_other_names_response_body_def"
            }
          },
          "400": {
            "$ref": "#/responses/validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "405": {
            "$ref": "#/responses/method_not_supported"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/other-names": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate OtherNames"
        ],
        "summary": "Gets the specified Agency Group Candidate Other Names",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_other_names",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The other names of a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_other_names_response_body_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Group Candidate OtherNames"
        ],
        "summary": "Upserts an Agency Group Candidate Other Names",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_other_names",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/other_names_put_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The other names of a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_other_names_response_body_def"
            }
          },
          "400": {
            "$ref": "#/responses/validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "405": {
            "$ref": "#/responses/method_not_supported"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/contact-numbers": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Contact Numbers"
        ],
        "summary": "Retrieves all contact numbers for the agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_contact_numbers",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All contact numbers for a candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_candidate_contact_number_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_contact_numbers_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Agency Candidate Contact Numbers"
        ],
        "summary": "Creates a contact number for the agency candidate",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_contact_numbers",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/contact_number_post_put_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Candidate contact number that was created",
            "schema": {
              "$ref": "#/definitions/agency_candidate_contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_contact_number_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/contact-numbers/{contact_number_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/contact_number_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_contact_numbers",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate contact number for id will be returned",
            "schema": {
              "$ref": "#/definitions/agency_candidate_contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_contact_numbers_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Contact Numbers"
        ],
        "summary": "Retrieves a contact number for the agency candidate"
      },
      "put": {
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_contact_numbers",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/contact_number_post_put_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate contact number that was replaced",
            "schema": {
              "$ref": "#/definitions/agency_candidate_contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_contact_number_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Contact Numbers"
        ],
        "summary": "Replaces a contact number for the agency candidate"
      },
      "delete": {
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_contact_numbers",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate contact number that was deleted",
            "schema": {
              "$ref": "#/definitions/agency_candidate_contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_contact_numbers_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Contact Numbers"
        ],
        "summary": "Deletes a contact number for the agency candidate"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/contact-numbers": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate Contact Numbers"
        ],
        "summary": "Retrieves all contact numbers for the agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_contact_numbers",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All contact numbers for a candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_contact_number_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_contact_numbers_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Agency Group Candidate Contact Numbers"
        ],
        "summary": "Creates a contact number for the agency group candidate",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_contact_numbers",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/contact_number_post_put_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Candidate contact number that was created",
            "schema": {
              "$ref": "#/definitions/agency_group_contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_contact_number_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/contact-numbers/{contact_number_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/contact_number_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate Contact Numbers"
        ],
        "summary": "Retrieves a contact number for the agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_contact_numbers",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate contact number for id will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_contact_numbers_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Group Candidate Contact Numbers"
        ],
        "summary": "Replaces a contact number for the agency group candidate",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_contact_numbers",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/contact_number_post_put_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate contact number that was replaced",
            "schema": {
              "$ref": "#/definitions/agency_group_contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_contact_number_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Group Candidate Contact Numbers"
        ],
        "summary": "Deletes a contact number for the agency group candidate",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_contact_numbers",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate contact number that was deleted",
            "schema": {
              "$ref": "#/definitions/agency_group_contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_contact_numbers_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/contact-numbers": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_contact_numbers",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All contact numbers details for a candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/contact_number_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_contact_numbers_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Contact Numbers"
        ],
        "summary": "Retrieves all contact numbers entries for the candidate"
      },
      "post": {
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_contact_numbers",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/contact_number_post_put_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Candidate contact numbers data that was created",
            "schema": {
              "$ref": "#/definitions/contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_contact_number_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Contact Numbers"
        ],
        "summary": "Creates a contact numbers entry for the candidate"
      }
    },
    "/candidate/{candidate_id}/contact-numbers/{contact_number_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/contact_number_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_contact_numbers",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate contact numbers details for id will be returned",
            "schema": {
              "$ref": "#/definitions/contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_contact_numbers_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Contact Numbers"
        ],
        "summary": "Retrieves a contact numbers entry for the candidate"
      },
      "put": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_contact_numbers",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/contact_number_post_put_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate contact numbers data that was replaced",
            "schema": {
              "$ref": "#/definitions/contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_contact_number_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Contact Numbers"
        ],
        "summary": "Replaces a contact numbers entry for the candidate"
      },
      "delete": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_contact_numbers",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate contact numbers data that was deleted",
            "schema": {
              "$ref": "#/definitions/contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_contact_numbers_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Contact Numbers"
        ],
        "summary": "Deletes a contact numbers entry for the candidate"
      }
    },
    "/agency/{agency_id}/candidate-type": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/candidate_type_id_filter"
          },
          {
            "$ref": "#/parameters/candidate_type_name_filter"
          },
          {
            "$ref": "#/parameters/candidate_type_country_filter"
          },
          {
            "$ref": "#/parameters/candidate_type_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "The candidate types available",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_type_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/pattern_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Candidate Type"
        ],
        "summary": "Gets agency candidate types"
      }
    },
    "/agency-group/{agency_group_id}/candidate-type": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/candidate_type_id_filter"
          },
          {
            "$ref": "#/parameters/candidate_type_name_filter"
          },
          {
            "$ref": "#/parameters/candidate_type_country_filter"
          },
          {
            "$ref": "#/parameters/candidate_type_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "The candidate types available",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_type_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/pattern_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Candidate Type"
        ],
        "summary": "Gets agency group candidate types"
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/address-details": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Address Details"
        ],
        "summary": "Retrieves all address details for the agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_address_details",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All address details for a agency candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_candidate_address_item_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Agency Candidate Address Details"
        ],
        "summary": "Creates a address details entry for the agency candidate",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_address_details",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_address_detail_post_put_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Agency candidate address detail entry that was created",
            "schema": {
              "$ref": "#/definitions/agency_candidate_address_item_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/address-details/{address_details_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/address_details_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_address_details",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Agency candidate address detail item for id will be returned",
            "schema": {
              "$ref": "#/definitions/agency_candidate_address_item_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Address Details"
        ],
        "summary": "Retrieves a address detail item for the agency candidate"
      },
      "put": {
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_address_details",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_address_detail_post_put_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Agency candidate address detail item that was replaced",
            "schema": {
              "$ref": "#/definitions/agency_candidate_address_item_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Address Details"
        ],
        "summary": "Replaces an address detail item for the agency candidate"
      },
      "delete": {
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_address_details",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Agency candidate address detail item that was deleted",
            "schema": {
              "$ref": "#/definitions/agency_candidate_address_item_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Address Details"
        ],
        "summary": "Deletes an address detail item for the agency candidate"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/address-details": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate Address Details"
        ],
        "summary": "Retrieves all address details for the agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_address_details",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All address details for a candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_candidate_address_item_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Agency Group Candidate Address Details"
        ],
        "summary": "Creates a contact number for the address details candidate",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_address_details",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_address_detail_post_put_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Candidate address details that was created",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_address_item_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/address-details/{address_details_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/address_details_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate Address Details"
        ],
        "summary": "Retrieves a address detail for the agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_address_details",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate address detail for id will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_address_item_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Group Candidate Address Details"
        ],
        "summary": "Replaces a address details for the agency group candidate",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_address_details",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_address_detail_post_put_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate address detail that was replaced",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_address_item_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Group Candidate Address Details"
        ],
        "summary": "Deletes a address detail for the agency group candidate",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_address_details",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate address detail that was deleted",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_address_item_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/address-details": {
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Candidate Address Details"
        ],
        "summary": "Retrieves all address details for the candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_address_details",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All address details for a candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_address_item_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Candidate Address Details"
        ],
        "summary": "Creates a address details entry for the candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_address_details",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_address_detail_post_put_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "All address details for a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_address_item_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/address-details/{address_details_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/address_details_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Candidate Address Details"
        ],
        "summary": "Retrieves a address detail item for the candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_address_details",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate address detail item for id will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_address_item_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Candidate Address Details"
        ],
        "summary": "Replaces an address detail item for the candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_address_details",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_address_detail_post_put_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate address detail item that was replaced",
            "schema": {
              "$ref": "#/definitions/candidate_address_item_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_post_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Candidate Address Details"
        ],
        "summary": "Deletes an address detail item for the candidate",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_address_details",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate address detail item that was deleted",
            "schema": {
              "$ref": "#/definitions/candidate_address_item_response_def"
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_delete_address_details_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/basic-info": {
      "x-swagger-router-controller": "Proxy",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_basic_info",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The basic info of a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/agency_candidate_basic_info_response_body_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_agency_candidate_basic_info_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "AgencyCandidate"
        ],
        "summary": "Gets the specified Agency Candidate Basic Info"
      },
      "put": {
        "x-operation-disabled": false,
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "pathContextValidator": [],
            "agencyCandidate": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_basic_info",
              "permission": [
                "create",
                "update"
              ]
            }
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_candidate_basic_info_put_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The basic info of a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/agency_candidate_basic_info_response_body_def"
            }
          },
          "400": {
            "$ref": "#/responses/put_agency_candidate_basic_info_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "405": {
            "$ref": "#/responses/method_not_supported"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "AgencyCandidate"
        ],
        "summary": "Upserts an Agency Candidate Basic Info"
      }
    },
    "/staffshift/{staffshift_id}/policy-type": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/staffshift_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "parameters": [
          {
            "name": "new_policy_type",
            "in": "body",
            "description": "New policy type that will be created",
            "required": true,
            "schema": {
              "$ref": "#/definitions/policy_type_create"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Return the policy type object for staffshift",
            "schema": {
              "$ref": "#/definitions/policy_type_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/policy_type_create_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Staffshift Policy Type"
        ],
        "summary": "Creation of a new policy type for staffshift",
        "description": "- There is no unique validation on payload, multiple posts create multiple policy types\n"
      },
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/classification"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of all policy types for staffshift",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/policy_type_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/pattern_enum_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Staffshift Policy Type"
        ],
        "summary": "Lists all policy types based on the query string"
      }
    },
    "/staffshift/{staffshift_id}/policy-type/{policy_type_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/staffshift_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "policy_type_update",
            "in": "body",
            "description": "Update policy type",
            "required": true,
            "schema": {
              "$ref": "#/definitions/policy_type_update"
            }
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the policy type object for staffshift",
            "schema": {
              "$ref": "#/definitions/policy_type_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/policy_type_update_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Staffshift Policy Type"
        ],
        "summary": "Updates a policy type for staffshift"
      },
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the policy type object for staffshift",
            "schema": {
              "$ref": "#/definitions/policy_type_return"
            }
          },
          "400": {
            "$ref": "#/responses/pattern_enum_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Staffshift Policy Type"
        ],
        "summary": "Get the policy type for staffshift"
      }
    },
    "/staffshift/{staffshift_id}/policy": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/staffshift_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "new_policy",
            "in": "body",
            "description": "New policy that will be created",
            "required": true,
            "schema": {
              "$ref": "#/definitions/policy_create"
            }
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "responses": {
          "201": {
            "description": "Return the new policy object",
            "schema": {
              "$ref": "#/definitions/policy_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/policy_create_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Staffshift Policy"
        ],
        "summary": "Creation of a new policy for staffshift",
        "description": "- The effective date must be greater than the previous document, if this is the first any value is valid\n- The specified policy_type_id, must refer to an existing policy type\n- Posting the same policy_type_id will create a new version of the policy\n- Policies with effective_at dates in the future, will only become active then\n- You can only have one active policy per policy_type_id\n"
      },
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/version_from_query_string"
          },
          {
            "$ref": "#/parameters/version_query_string"
          },
          {
            "$ref": "#/parameters/version_to_query_string"
          },
          {
            "$ref": "#/parameters/active_query_string"
          },
          {
            "$ref": "#/parameters/policy_type_id_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/policy_sort_by_query_string"
          },
          {
            "$ref": "#/parameters/policy_type_classification"
          },
          {
            "$ref": "#/parameters/policy_type_title"
          },
          {
            "$ref": "#/parameters/policy_type_description"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of all policies for staffshift",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/policy_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/pattern_enum_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Staffshift Policy"
        ],
        "summary": "Lists all policies based on the query string for staffshift",
        "description": "- What version of the policy is currently the active version?\n  - /staffshift/{staffshift_id}/policy?policy_type_id=2468&active=true\n- What version of a set of policies is currently the active version?\n  - /staffshift/{staffshift_id}/policy?policy_type_id=2468,2469,2470&active=true\n- What is the content of version x of a policy?\n  - /staffshift/{staffshift_id}/policy?policy_type_id=2468&version=x\n- What are the currently active policies in effect?\n  - /staffshift/{staffshift_id}/policy?active=true\n"
      }
    },
    "/staffshift/{staffshift_id}/policy/{policy_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/staffshift_id"
        },
        {
          "$ref": "#/parameters/policy_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the policy object",
            "schema": {
              "$ref": "#/definitions/policy_return"
            }
          },
          "400": {
            "$ref": "#/responses/pattern_enum_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "description": "No such record found for staffshift policy",
            "schema": {
              "$ref": "#/definitions/resource_not_found_error"
            }
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Staffshift Policy"
        ],
        "summary": "Get the policy for staffshift"
      }
    },
    "/staffshift/{staffshift_id}/policy-type/{policy_type_id}/version/{version}": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/staffshift_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        },
        {
          "$ref": "#/parameters/version"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json",
          "application/pdf"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a policy object that has had all the tokens stripped from the content",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "description": "One of the path params does not match the expected pattern",
            "schema": {
              "$ref": "#/definitions/policy_pdf_download_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Staffshift Policy type version"
        ],
        "summary": "Get the policy details with all tokens replaced / stripped out for staffshift",
        "description": "- This route gives you the ability to get the policy as a pdf.\n- When specifying `application/pdf` your response will be a file\n"
      }
    },
    "/staffshift/{staffshift_id}/policy-type/{policy_type_id}/version/{version}/preview": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/staffshift_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        },
        {
          "$ref": "#/parameters/version"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/pdf"
        ],
        "parameters": [
          {
            "name": "policy_preview",
            "in": "body",
            "description": "Details that will be used to generate the preview",
            "required": true,
            "schema": {
              "$ref": "#/definitions/policy_preview"
            }
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a pdf document preview of the pollicy",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/policy_pdf_preview_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Staffshift Policy type version"
        ],
        "summary": "Get the policy details with all tokens replaced / stripped out for staffshift",
        "description": "- Content and Prompt are expected to be valid html strings\n"
      }
    },
    "/user/{user_id}/policy-type/{policy_type_id}/version/{version}/action": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/user_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        },
        {
          "$ref": "#/parameters/version"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "action_details",
            "in": "body",
            "description": "Contains the action the user would like to take against a particular policy type",
            "required": true,
            "schema": {
              "$ref": "#/definitions/user_policy_action_create"
            }
          }
        ],
        "security": [
          {
            "staffshiftUser": []
          }
        ],
        "x-staffshift-user-security": [
          {
            "context": "Candidate",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "policy_action",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Returns the user policy action object",
            "schema": {
              "$ref": "#/definitions/user_policy_action_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/policy_action_create_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Policy",
          "User Policy"
        ],
        "summary": "Apply an action to a particular user policy",
        "description": "- acknowledged can only be actioned against the latest version, you will get a 400 if the version is not\n- you will get a 404 if any of the ids in the url do not link to a valid object\n"
      }
    },
    "/agency-group/{agency_group_id}/settings/registration-content": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id_for_registration"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "registration_setting",
              "permission": [
                "create",
                "update"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/authorization"
          },
          {
            "$ref": "#/parameters/context"
          },
          {
            "name": "new_settings",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/settings_registration_content_payload"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "the modified Agency Group registration content settings",
            "schema": {
              "$ref": "#/definitions/settings_registration_content_response"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/put_registration_settings_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Registration Settings"
        ],
        "summary": "Creates or Updates agency group registration settings"
      },
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "x-public-operation": true,
        "responses": {
          "200": {
            "description": "the modified Agency Group registration content settings",
            "schema": {
              "$ref": "#/definitions/settings_registration_content_response"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/put_validation_error_model"
            }
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Registration Settings"
        ],
        "summary": "Retrives agency group registration settings"
      }
    },
    "/policies/{resource_type}/{resource_id}/policy-type/{policy_type_id}.html": {
      "parameters": [
        {
          "$ref": "#/parameters/resource_type"
        },
        {
          "$ref": "#/parameters/resource_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        }
      ],
      "get": {
        "x-swagger-router-controller": "ResourcePolicy",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "text/html"
        ],
        "responses": {
          "200": {
            "description": "Returns the public policy in HTML format",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "$ref": "#/responses/policies_resource_html_pdf_validation_errors"
          },
          "404": {
            "description": "Returns the policy not found HTML file",
            "schema": {
              "type": "file"
            }
          },
          "default": {
            "description": "Returns the default error in HTML file",
            "schema": {
              "type": "file"
            }
          }
        },
        "tags": [
          "Resource Policies"
        ],
        "summary": "Get the public policy in HTML format that is linked to the policy type for the given resource"
      }
    },
    "/policies/{resource_type}/{resource_id}/policy-type/{policy_type_id}.pdf": {
      "parameters": [
        {
          "$ref": "#/parameters/resource_type"
        },
        {
          "$ref": "#/parameters/resource_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        }
      ],
      "get": {
        "x-swagger-router-controller": "ResourcePolicy",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/pdf"
        ],
        "responses": {
          "200": {
            "description": "Returns the public policy in PDF format",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "$ref": "#/responses/policies_resource_html_pdf_validation_errors"
          },
          "404": {
            "description": "Returns the policy not found PDF file",
            "schema": {
              "type": "file"
            }
          },
          "default": {
            "description": "Returns the default error in PDF file",
            "schema": {
              "type": "file"
            }
          }
        },
        "tags": [
          "Resource Policies"
        ],
        "summary": "Get the public policy in PDF format that is linked to the policy type for the given resource"
      }
    },
    "/vanity/{vanity_name}/settings/registration-content": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "parameters": [
        {
          "$ref": "#/parameters/vanity_name"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "x-public-operation": true,
        "responses": {
          "200": {
            "description": "The agency group registration content settings by vanity name",
            "schema": {
              "$ref": "#/definitions/vanity_settings_registration_content_response"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/get_vanity_name_settings_validation"
            }
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Registration Settings"
        ],
        "summary": "Retrive agency group registration settings by vanity name"
      }
    },
    "/agency-group/{group_id}/candidate/{candidate_id}/policy": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/action_query_string"
          },
          {
            "$ref": "#/parameters/version_from_query_string"
          },
          {
            "$ref": "#/parameters/version_query_string"
          },
          {
            "$ref": "#/parameters/version_to_query_string"
          },
          {
            "$ref": "#/parameters/latest_only_query_string"
          },
          {
            "$ref": "#/parameters/policy_type_id_query_string"
          },
          {
            "$ref": "#/parameters/policy_effective_at_from_query_string"
          },
          {
            "$ref": "#/parameters/policy_effective_at_query_string"
          },
          {
            "$ref": "#/parameters/policy_effective_at_to_query_string"
          },
          {
            "$ref": "#/parameters/resource_policy_sort_by_query_string"
          },
          {
            "$ref": "#/parameters/policy_type_classification"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "group_id",
            "operation": {
              "name": "agency_group_candidate_policy",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "group_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "description": "Listing of all policies assigned to the agency group for the candidate",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_or_user_policy_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/user_or_candidate_policy_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Policy",
          "Agency Group Policy"
        ],
        "summary": "Agency group policy listing for a particular candidate",
        "description": "- All assigned policy types for a agency group for a particular candidate\n  - /agency-group/{group_id}/candidate/{candidate_id}/policy\n- Has a agency group acknowledged a particular policy?\n  - /agency-group/{group_id}/candidate/{candidate_id}/policy?action=acknowledged&policy_type_id=2468\n- Has a agency group acknowledged a particular version of the policy?\n  - /agency-group/{group_id}/candidate/{candidate_id}/policy?action=acknowledged&policy_type_id=2468&latest_only=true\n  - /agency-group/{group_id}/candidate/{candidate_id}/policy?action=acknowledged&policy_type_id=2468&version=2\n- Has a agency group acknowledged a document that has an effective date greater than x?\n  - /agency-group/{group_id}/candidate/{candidate_id}/policy?action=acknowledged&policy_type_id=2468&policy_effective_at_from=x\n"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/policy-type/{policy_type_id}/version/{version}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/policy_type_id"
        },
        {
          "$ref": "#/parameters/latest_version"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/pdf_accept"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/pdf"
        ],
        "x-proxy-headers": [
          "X-Accept-Timezone"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_policy",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "description": "Returns a pdf for the policy object that has had all the tokens stripped from the content",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "$ref": "#/responses/pattern_required_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Policy",
          "Candidate Policy",
          "Processed Policy"
        ],
        "summary": "Get the processed policy details with all tokens replaced / stripped out",
        "description": "- This route gives you the ability to get the policy content in pdf.\n- You will need to inspect the action array to determine if the candidate has acknowledged this particular policy version\n- When specifying `application/pdf` your response will be a file\n"
      }
    },
    "/registration-policies/{resource_type}/{resource_id}/policy": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_policy_library",
      "parameters": [
        {
          "$ref": "#/parameters/resource_type"
        },
        {
          "$ref": "#/parameters/resource_id"
        },
        {
          "$ref": "#/parameters/page"
        },
        {
          "$ref": "#/parameters/per_page"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "x-public-operation": true,
        "responses": {
          "200": {
            "description": "Listing of all registration policies by resource",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/registration_policy_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/pattern_enum_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Policy"
        ],
        "summary": "Retrives the list of registration policies by resource"
      }
    },
    "/candidate/{candidate_id}/email/{email_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/email_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "delete": {
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate Email Address that was deleted",
            "schema": {
              "$ref": "#/definitions/candidate_email_address_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_email_address_delete_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Email Details"
        ],
        "summary": "Delete Candidate email address"
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/email/{email_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/email_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "delete": {
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_email_address",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Agency candidate email Address that was deleted",
            "schema": {
              "$ref": "#/definitions/agency_candidate_email_address_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_email_address_delete_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Email Details"
        ],
        "summary": "Delete agency candidate email address"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/email/{email_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/email_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "delete": {
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_email_address",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Agency group candidate email details that was deleted",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_email_address_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_email_address_delete_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Email Details"
        ],
        "summary": "Delete agency group candidate email details"
      }
    },
    "/candidate/{candidate_id}/email": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "tags": [
          "Candidate Email Details"
        ],
        "description": "Create candidate email details",
        "summary": "Create candidate email details",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/add_candidate_email_body_param"
          }
        ],
        "security": [
          {
            "staffshift": [],
            "candidateExists": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "x-candidate-exists-security": {
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "201": {
            "description": "Candidate Email Address that was created",
            "schema": {
              "$ref": "#/definitions/candidate_email_address_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_email_address_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Candidate Email Details"
        ],
        "description": "Retrieves candidate email details",
        "summary": "Retrieves candidate email details",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_email_address",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate Email Addresses",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_email_address_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads.",
            "schema": {
              "$ref": "#/definitions/candidate_email_address_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/email": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "tags": [
          "Agency Candidate Email Details"
        ],
        "description": "Create email details for agency candidate",
        "summary": "Create email details for agency candidate",
        "x-operation-disabled": false,
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/add_candidate_email_body_param"
          }
        ],
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_email_address",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "201": {
            "description": "Agency Candidate Email Address that was created",
            "schema": {
              "$ref": "#/definitions/agency_candidate_email_address_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_email_address_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency Candidate Email Details"
        ],
        "description": "Retrieves all email details for agency candidate",
        "summary": "Retrieves all email details for agency candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_email_address",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "All email address for a candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_candidate_email_address_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_email_address_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/email": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "tags": [
          "Agency Group Candidate Email Details"
        ],
        "description": "Create email details for agency group candidate",
        "summary": "Create email details for agency group candidate",
        "x-operation-disabled": false,
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/add_candidate_email_body_param"
          }
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_email_address",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "201": {
            "description": "Agency Group Candidate Email details that was created",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_email_address_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_email_address_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency Group Candidate Email Details"
        ],
        "description": "Retrieves all email address for agency group candidate",
        "summary": "Retrieves all email address for agency group candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_email_address",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "All email address for a candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_candidate_email_address_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_email_address_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/email/{email_id}/action": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/email_id"
        }
      ],
      "post": {
        "tags": [
          "Candidate Email Details"
        ],
        "summary": "Actions to be taken on a candidates email address",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "security": [
          {
            "staffshift": [],
            "candidateExists": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "x-candidate-exists-security": {
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_email_action_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Action taken successfully on candidate email address",
            "schema": {
              "$ref": "#/definitions/success_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_email_action_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/email/{email_id}/action": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/email_id"
        }
      ],
      "post": {
        "tags": [
          "Agency Candidate Email Details"
        ],
        "summary": "Actions agency Candidate email addresses",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_email_address",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_email_action_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Action Agency Candidate Email Address",
            "schema": {
              "$ref": "#/definitions/success_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_email_action_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/email/{email_id}/action": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/email_id"
        }
      ],
      "post": {
        "tags": [
          "Agency Group Candidate Email Details"
        ],
        "summary": "Actions agency group Candidate email details",
        "x-operation-disabled": false,
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_email_address",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_email_action_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Action Agency Group Candidate Email details",
            "schema": {
              "$ref": "#/definitions/success_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_email_action_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/status/{status_id}/reason": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/status_id"
        }
      ],
      "post": {
        "description": "Create Agency Group Status Reason",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "status_settings",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_status_reason_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The created Agency Group status reason",
            "schema": {
              "$ref": "#/definitions/agency_group_status_reason_response_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/post_put_agency_group_status_reason_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Status Reason"
        ],
        "summary": "Create Agency Group Status Reason"
      },
      "get": {
        "description": "Retrieves a list of Agency Group status reasons",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "status_settings",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/agency_group_status_reason_sort_by_query"
          },
          {
            "$ref": "#/parameters/status_name_filter"
          },
          {
            "$ref": "#/parameters/status_disabled_filter"
          }
        ],
        "responses": {
          "200": {
            "description": "All status reasons that are linked with agency group status will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_status_reason_response_def"
              }
            }
          },
          "204": {
            "description": "No Content. Returned if no status reason was found."
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/get_agency_group_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Status Reason"
        ],
        "summary": "Get a list of agency group status reasons"
      }
    },
    "/agency-group/{agency_group_id}/status/{status_id}/reason/{reason_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "parameters": [
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/status_id"
        },
        {
          "$ref": "#/parameters/reason_id"
        }
      ],
      "put": {
        "description": "Updates Agency Group status reason",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "status_settings",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_status_reason_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The modified Agency Group Status Reason",
            "schema": {
              "$ref": "#/definitions/agency_group_status_reason_response_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/post_put_agency_group_status_reason_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Status Reason"
        ],
        "summary": "Updates Agency Group Status Reason"
      },
      "get": {
        "description": "Gets the specified Agency Group status reason",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "status_settings",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The agency group status reason will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_status_reason_response_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/get_agency_group_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Status Reason"
        ],
        "summary": "Gets the specified Agency Group status reason"
      }
    },
    "/agency-group/{agency_group_id}/status/{status_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/status_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group status details"
        ],
        "summary": "retrieves agency group status details",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "status_settings",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Agency group status was retrieved",
            "schema": {
              "$ref": "#/definitions/agency_group_status_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_agency_group_status_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Group status details"
        ],
        "summary": "updates agency group status details",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "status_settings",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_status_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Agency group status was updated",
            "schema": {
              "$ref": "#/definitions/agency_group_status_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/post_put_agency_group_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/settings/status": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group status details"
        ],
        "summary": "Retrieves agency group setting status",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "status_settings",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Agency group setting status was retrieved",
            "schema": {
              "$ref": "#/definitions/settings_status_content_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Group status details"
        ],
        "summary": "updates agency group setting status",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "status_settings",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "agency_group_status",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/settings_status_content"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Agency group setting status was updated",
            "schema": {
              "$ref": "#/definitions/settings_status_content_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/put_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/settings/status": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Status Details"
        ],
        "summary": "Retrieve the status setting for the Agency",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "status_settings",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Agency status setting was retrieved",
            "schema": {
              "$ref": "#/definitions/agency_settings_status_content_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/status": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "description": "Create Agency Group Status",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "status_settings",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_status_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "the created Agency Group status",
            "schema": {
              "$ref": "#/definitions/agency_group_status_response_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/post_put_agency_group_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group status details"
        ],
        "summary": "Create an Agency Group status"
      },
      "get": {
        "tags": [
          "Agency Group status details"
        ],
        "summary": "Actions agency group status details",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "status_settings",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/agency_group_status_sort_by_query"
          },
          {
            "$ref": "#/parameters/status_id_filter"
          },
          {
            "$ref": "#/parameters/status_name_filter"
          },
          {
            "$ref": "#/parameters/status_disabled_filter"
          }
        ],
        "responses": {
          "200": {
            "description": "All statuses that are linked with agency group will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_status_response_def"
              }
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_agency_group_status_action_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/status/current": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "tags": [
          "Agency Group Candidate Status"
        ],
        "summary": "Upsert Agency Group Candidate Current status",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_status",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_current_status_put_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The agency group candidate current status will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_status_response_def"
            }
          },
          "400": {
            "description": "Validation error on put",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency Group Candidate Status"
        ],
        "summary": "Retrieves current status for specific agency group candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_status",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "description": "Agency group candidate current status will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_status_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/status": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate Status"
        ],
        "summary": "Retrieves status history for specific agency group candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_status",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/status_filter"
          },
          {
            "$ref": "#/parameters/changed_by_name_filter"
          },
          {
            "$ref": "#/parameters/reason_filter"
          },
          {
            "$ref": "#/parameters/candidate_status_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "Status history list for candidate that are linked with agency will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_status_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/status": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "description": "Retrieves a list all the status for specified agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_status",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/status_filter"
          },
          {
            "$ref": "#/parameters/changed_by_name_filter"
          },
          {
            "$ref": "#/parameters/reason_filter"
          },
          {
            "$ref": "#/parameters/candidate_status_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "Status history list for candidate that are linked with agency will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_candidate_status_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Status"
        ],
        "summary": "List all the status for specified candidate of specified agency"
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/status/current": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "description": "Retrieves the details related to the current status of the agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_status",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Current status of the agency candidate",
            "schema": {
              "$ref": "#/definitions/agency_candidate_status_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Status"
        ],
        "summary": "Retrieves current status of Agency Candidate"
      }
    },
    "/agency-group/{agency_group_id}/consultant_role": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "summary": "Get a list of agency group consultant role",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_consultant",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "All consultant role that are linked with agency group will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_consultant_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Consultant Role"
        ],
        "description": "Retrieves a list of Agency Group consultant role"
      },
      "post": {
        "tags": [
          "Agency Group Consultant Role"
        ],
        "summary": "It will create agency group consultant role",
        "description": "Creates Agency Group consultant role",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin",
            "operation": {
              "name": "candidate_consultant",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_consultant_body"
          }
        ],
        "responses": {
          "201": {
            "description": "The created Agency Group consultant role",
            "schema": {
              "$ref": "#/definitions/agency_group_consultant_response_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/agency_group_consultant_create_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "409": {
            "$ref": "#/responses/conflict_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/consultant_role/{consultant_role_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/consultant_role_id"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Consultant Role"
        ],
        "description": "Gets the specified Agency Group consultant role",
        "summary": "It will return the specified Agency Group consultant role",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_consultant",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ],
        "responses": {
          "200": {
            "description": "The agency group consultant role will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_consultant_response_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/get_agency_group_consultant_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/consultant": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "description": "Create Agency Group Candidate Consultant",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_consultant",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_consultant_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The agency group candidate consultant will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_consultant_response_def"
            }
          },
          "400": {
            "description": "Validation error on post",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_consultant_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Consultant"
        ],
        "summary": "Create Agency Group Candidate consultant"
      },
      "get": {
        "description": "Retrieves a list of Agency Group consultant",
        "security": [
          {
            "staffshift": [],
            "contextCandidateLink": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_consultant",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "candidate_consultant",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-context-candidate-link-security": {
          "path_resource": {
            "type": "AgencyGroup",
            "param": "agency_group_id"
          },
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/consultant_role_filter"
          },
          {
            "$ref": "#/parameters/assigned_user_id_filter"
          },
          {
            "$ref": "#/parameters/assigned_user_name_filter"
          },
          {
            "$ref": "#/parameters/consultant_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "All consultant that are linked with agency group candidate will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_candidate_consultant_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_consultant_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Consultant"
        ],
        "summary": "Get a list of agency group consultant"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/consultant/{consultant_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/consultant_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "description": "Update Agency Group Candidate consultant",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_consultant",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_consultant_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The agency group candidate consultant will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_consultant_response_def"
            }
          },
          "400": {
            "description": "Validation error on put",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_consultant_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Consultant"
        ],
        "summary": "Update Agency Group Candidate consultant"
      },
      "delete": {
        "description": "Delete Agency Group Candidate consultant",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_consultant",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "description": "The deleted agency group candidate consultant payload will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_consultant_response_def"
            }
          },
          "400": {
            "description": "Validation error on delete",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_consultant_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Consultant"
        ],
        "summary": "Delete Agency Group Candidate consultant"
      },
      "get": {
        "description": "Retrieves consultant for an Agency Group Candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_consultant",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Consultant of the agency group candidate",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_consultant_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_consultant_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Consultant"
        ],
        "summary": "Retrieves the specific Agency Group Candidate consultant"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/additional-note": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "description": "Upsert Agency Group Candidate additional note",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "additional_note",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_additional_note_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The agency group candidate additional note will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_additional_note_response_def"
            }
          },
          "400": {
            "description": "Validation error on upsert",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_additional_note_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Additional Note"
        ],
        "summary": "Upsert Agency Group Candidate additional note"
      },
      "get": {
        "description": "Get Agency Group Candidate additional note",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "additional_note",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The agency group candidate additional note will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_additional_note_response_def"
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_additional_note_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Additional Note"
        ],
        "summary": "Get Agency Group Candidate additional note"
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/additional-note": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "description": "Upsert Agency Candidate additional note",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "additional_note",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_additional_note_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The agency candidate additional note will be returned",
            "schema": {
              "$ref": "#/definitions/agency_candidate_additional_note_response_def"
            }
          },
          "400": {
            "description": "Validation error on upsert",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_additional_note_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Additional Note"
        ],
        "summary": "Upsert Agency Candidate additional note"
      },
      "get": {
        "description": "Get Agency Candidate additional note",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "additional_note",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The agency candidate additional note will be returned",
            "schema": {
              "$ref": "#/definitions/agency_candidate_additional_note_response_def"
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_additional_note_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Additional Note"
        ],
        "summary": "Get Agency Candidate additional note"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/activity": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-activities",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "description": "Creates an Agency Group Candidate Activity record",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_activity",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_activity_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The agency group candidate activity will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_activity_response_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/candidate_activity_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Activity"
        ],
        "summary": "Create Agency Group Candidate Activity"
      },
      "get": {
        "description": "Get a list of Agency Group Candidate Activity records",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_activity",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/activity_sort_by_query"
          },
          {
            "$ref": "#/parameters/activity_type_filter"
          },
          {
            "$ref": "#/parameters/activity_date_filter_from_query_string"
          },
          {
            "$ref": "#/parameters/activity_date_filter_to_query_string"
          },
          {
            "$ref": "#/parameters/activity_created_by_user_filter"
          },
          {
            "$ref": "#/parameters/activity_created_by_user_name_filter"
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency group candidate activity will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_activity_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_activity_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Activity"
        ],
        "summary": "List Agency Group Candidate Activity"
      }
    },
    "/agency/{agency_id}/status": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "description": "Gets the list of Agency status",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "status_settings",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/status_id_filter"
          },
          {
            "$ref": "#/parameters/status_name_filter"
          },
          {
            "$ref": "#/parameters/status_disabled_filter"
          },
          {
            "$ref": "#/parameters/agency_status_sort_by_query"
          }
        ],
        "responses": {
          "200": {
            "description": "The agency status list will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_status_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/get_agency_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Status Details"
        ],
        "summary": "Gets the list of Agency status"
      }
    },
    "/agency/{agency_id}/status/{status_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/status_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "description": "Gets the specific Agency status",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "status_settings",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The specific agency status will be returned",
            "schema": {
              "$ref": "#/definitions/agency_status_response_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/get_agency_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Status Details"
        ],
        "summary": "Gets the specific Agency status"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/meta": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate-meta",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "description": "Upserts the Metadata for agency group candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_meta",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_meta_upset_param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/agency_group_candidate_meta_response"
          },
          "400": {
            "$ref": "#/responses/agency_group_candidate_meta_payload_validation_error"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Meta"
        ],
        "summary": "Upsert Agency Group Candidate Metadata"
      },
      "get": {
        "description": "Retrieve Agency Group Candidate metadata record",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_meta",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "$ref": "#/responses/agency_group_candidate_meta_response"
          },
          "400": {
            "$ref": "#/responses/agency_group_candidate_meta_get_validation_error"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Meta"
        ],
        "summary": "Retrieves the Metadata for agency group candidate"
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/meta": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate-meta",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "description": "Retrieve Agency Candidate metadata record",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_meta",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "$ref": "#/responses/agency_candidate_meta_response"
          },
          "400": {
            "$ref": "#/responses/agency_candidate_meta_get_validation_error"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Meta"
        ],
        "summary": "Retrieves the Metadata for agency candidate"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/status/history": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "description": "Create agency group candidate status history",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_status",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_status_history_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The agency group candidate historical status will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_status_response_def"
            }
          },
          "400": {
            "description": "Validation error on post",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Status History"
        ],
        "summary": "Create Agency Group Candidate Historical Status"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/status/history/{status_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/status_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "delete": {
        "description": "Delete agency group candidate status history",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_status",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The agency group candidate historical status will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_status_response_def"
            }
          },
          "400": {
            "description": "Validation error on post",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Status History"
        ],
        "summary": "Delete Agency Group Candidate Historical Status"
      }
    },
    "/agency-group/{agency_group_id}/candidate/consultant": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_consultant_mass_update",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/bulk_agency_group_candidate_consultant_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of candidate ids that were processed successfully",
            "schema": {
              "$ref": "#/definitions/bulk_200_agency_group_candidate_consultant_response_def"
            }
          },
          "202": {
            "description": "The list of candidate ids that are successfully processed or failed",
            "schema": {
              "$ref": "#/definitions/bulk_202_agency_group_candidate_consultant_response_def"
            }
          },
          "400": {
            "description": "Validation error on put",
            "schema": {
              "$ref": "#/definitions/bulk_agency_group_candidate_consultant_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Consultant"
        ],
        "summary": "Upsert Agency Group Candidate consultant in bulk"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/status/summary": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "description": "Get agency group candidate status summary",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_status",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The agency group candidate status summary will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_status_summary_response_def"
            }
          },
          "400": {
            "description": "Validation error on post",
            "schema": {
              "$ref": "#/definitions/get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Status Summary"
        ],
        "summary": "Get Agency Group Candidate Status Summary"
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/status/summary": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "description": "Get agency candidate status summary",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_status",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The agency candidate status summary will be returned",
            "schema": {
              "$ref": "#/definitions/agency_candidate_status_summary_response_def"
            }
          },
          "400": {
            "description": "Validation error on post",
            "schema": {
              "$ref": "#/definitions/get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Status Summary"
        ],
        "summary": "Get Agency Candidate Status Summary"
      }
    },
    "/candidate/{candidate_id}/settings": {
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-swagger-router-controller": "CandidateSettings",
        "operationId": "getCandidateSettings",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The settings of a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_settings_response_with_agency_groups_and_agencies"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_settings_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Settings"
        ],
        "summary": "Retrieves candidate settings"
      },
      "put": {
        "tags": [
          "Candidate Settings"
        ],
        "summary": "Upserts a candidates settings",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_profile_settings_param"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "responses": {
          "200": {
            "description": "The replaced data of candidate settings",
            "schema": {
              "$ref": "#/definitions/candidate_settings_put_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid headers, paths or payloads",
            "schema": {
              "$ref": "#/definitions/put_candidate_settings_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "406": {
            "description": "Not acceptable, Content type not supported",
            "schema": {
              "$ref": "#/definitions/clientErrorModel"
            }
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/settings": {
      "x-swagger-router-controller": "CandidateSettings",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "operationId": "getAgencyCandidateSettings",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The settings of an agency candidate will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_settings_response_with_agency_groups"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_settings_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Settings"
        ],
        "summary": "Retrieves agency candidate settings"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/settings": {
      "x-swagger-router-controller": "CandidateSettings",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "operationId": "getAgencyGroupCandidateSettings",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The settings of an agency group candidate will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_settings_response_with_agency_groups"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_settings_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Settings"
        ],
        "summary": "Retrieves agency group candidate settings"
      }
    },
    "/candidate-settings": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "x-proxy-route": "/settings",
        "tags": [
          "Candidate Settings"
        ],
        "summary": "Update the default candidate settings",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/profile_settings_param"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "responses": {
          "200": {
            "description": "The candidate default setting will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_default_setting_response_def"
            }
          },
          "400": {
            "description": "Validation Error. When context is incorrect.",
            "schema": {
              "$ref": "#/definitions/put_candidate_settings_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "406": {
            "description": "Not acceptable, Content type not supported",
            "schema": {
              "$ref": "#/definitions/clientErrorModel"
            }
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/invitation-verification": {
      "x-swagger-router-controller": "InvitationVerification",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "send_user_verification",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "objInvitationSendType",
            "in": "body",
            "description": "Send in whether to resend or send the invitation",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InvitationSendType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Whether the verification or invitation email was sent.",
            "schema": {
              "$ref": "#/definitions/verification_invitation_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/invitation_verification_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Invitation Verification"
        ],
        "summary": "Send either the invitation or verification emails"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/invitation-verification": {
      "x-swagger-router-controller": "InvitationVerification",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "send_user_verification",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "parameters": [
          {
            "name": "objInvitationSendType",
            "in": "body",
            "description": "Send in whether to resend or send the invitation",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InvitationSendType"
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Whether the verification or invitation email was sent.",
            "schema": {
              "$ref": "#/definitions/verification_invitation_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/invitation_verification_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Invitation Verification"
        ],
        "summary": "Send either the invitation or verification emails"
      }
    },
    "/agency/{agency_id}/job-title": {
      "x-swagger-router-controller": "LinkedJobTitle",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/page"
        },
        {
          "$ref": "#/parameters/per_page"
        },
        {
          "$ref": "#/parameters/triage_accept"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/sTitleName_query_string"
          },
          {
            "$ref": "#/parameters/sJobFamilyId_query_string"
          },
          {
            "$ref": "#/parameters/job_title_sort_query_string"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "job_title",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The linked job titles for an agency will be returned",
            "schema": {
              "$ref": "#/definitions/linked_job_title_response"
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/linked_job_titles_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Job Title"
        ],
        "summary": "Retrieve agency job titles"
      }
    },
    "/agency-group/{agency_group_id}/job-title": {
      "x-swagger-router-controller": "LinkedJobTitle",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/page"
        },
        {
          "$ref": "#/parameters/per_page"
        },
        {
          "$ref": "#/parameters/triage_accept"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/sTitleName_query_string"
          },
          {
            "$ref": "#/parameters/sJobFamilyId_query_string"
          },
          {
            "$ref": "#/parameters/job_title_sort_query_string"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "job_title",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The linked job titles for an agency group will be returned.",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "$ref": "#/definitions/linked_job_title_response"
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/linked_job_titles_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Job Title"
        ],
        "summary": "Retrieve agency group job titles"
      }
    },
    "/agency-group/{agency_group_id}/candidate-settings": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate",
        "x-proxy-route": "/agency-group/{agency_group_id}/settings",
        "tags": [
          "Agency Group Candidate Settings"
        ],
        "description": "Update the default settings for the agency group",
        "summary": "Update the default settings for the agency group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_profile_settings_param"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "responses": {
          "200": {
            "description": "The agency group candidate default setting will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_default_setting_response_def"
            }
          },
          "400": {
            "description": "Validation Error. When context is incorrect.",
            "schema": {
              "$ref": "#/definitions/put_settings_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "405": {
            "description": "Method not supported Error. Returned if an unsupported http method is used.",
            "schema": {
              "$ref": "#/definitions/method_not_supported"
            }
          },
          "406": {
            "description": "Not acceptable, Content type not supported",
            "schema": {
              "$ref": "#/definitions/clientErrorModel"
            }
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        }
      }
    },
    "/job-family": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/triage_accept"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/sJobFamilyName_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/job_family_sort_query_string"
          }
        ],
        "responses": {
          "200": {
            "description": "List of job family",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/job_family_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/job_routes_validation_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Job Family"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Returns a list of job families"
      }
    },
    "/job-family/{job_family_id}/job-title": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/job_family_id"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/sTitleName_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/job_title_sort_query_string"
          }
        ],
        "responses": {
          "200": {
            "description": "List of job title for the particular job family",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/job_title_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/job_routes_validation_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Job Family"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Returns a list of job titles related to the particular job family"
      }
    },
    "/job-title": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/triage_accept"
        }
      ],
      "get": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/sTitleName_query_string"
          },
          {
            "$ref": "#/parameters/sJobFamilyId_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/job_title_sort_query_string"
          }
        ],
        "responses": {
          "200": {
            "description": "List of job title for the particular job family",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/job_title_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/job_routes_validation_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Job Title"
        ],
        "x-bypass-ip-security-check": true,
        "summary": "Returns a list of job titles"
      }
    },
    "/agency/{agency_id}/site": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-bypass-ip-security-check": true,
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/sOrganisationName_query_string"
          },
          {
            "$ref": "#/parameters/sSiteName_query_string"
          },
          {
            "$ref": "#/parameters/sSiteAddress_query_string"
          },
          {
            "$ref": "#/parameters/sSiteProvince_query_string"
          },
          {
            "$ref": "#/parameters/sSitePostCode_query_string"
          },
          {
            "$ref": "#/parameters/bAgencyLinked_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/agency_site_sort_query_string"
          }
        ],
        "responses": {
          "200": {
            "description": "List of linked clients on agency context",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_site_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/agency_site_validation_error"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Linked Clients"
        ],
        "summary": "Returns a list of linked clients on Agency context"
      }
    },
    "/candidate/{candidate_id}/documents": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "documents",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/document_id_filter"
          },
          {
            "$ref": "#/parameters/document_file_name_filter"
          },
          {
            "$ref": "#/parameters/document_status_filter"
          },
          {
            "$ref": "#/parameters/document_uploaded_by_id_filter"
          },
          {
            "$ref": "#/parameters/document_uploaded_by_type_filter"
          },
          {
            "$ref": "#/parameters/document_uploaded_by_name_filter"
          },
          {
            "$ref": "#/parameters/system_document_type_id_filter"
          },
          {
            "$ref": "#/parameters/document_sort_by"
          }
        ],
        "responses": {
          "200": {
            "description": "All Documents will be returned for specific candidate",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/document_response_model_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Documents"
        ],
        "summary": "Retrieves a list of Documents for specific candidate"
      },
      "post": {
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "documents",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/document_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The created document details",
            "schema": {
              "$ref": "#/definitions/document_upload_result"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/document_upload_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Documents"
        ],
        "summary": "Create a document for a candidate"
      }
    },
    "/candidate/{candidate_id}/documents/{document_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/document_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "documents",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Return specific document for specific candidate",
            "schema": {
              "$ref": "#/definitions/document_response_model_def_with_signed_url"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Documents"
        ],
        "summary": "Retrieve a specific document for specific candidate"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/documents": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "documents",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/document_id_filter"
          },
          {
            "$ref": "#/parameters/document_file_name_filter"
          },
          {
            "$ref": "#/parameters/document_status_filter"
          },
          {
            "$ref": "#/parameters/document_uploaded_by_id_filter"
          },
          {
            "$ref": "#/parameters/document_uploaded_by_type_filter"
          },
          {
            "$ref": "#/parameters/document_uploaded_by_name_filter"
          },
          {
            "$ref": "#/parameters/system_document_type_id_filter"
          },
          {
            "$ref": "#/parameters/document_sort_by"
          }
        ],
        "responses": {
          "200": {
            "description": "All Documents will be returned for specific agency group candidate",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/document_response_model_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Documents"
        ],
        "summary": "Retrieves a list of Documents for specific agency group candidate"
      },
      "post": {
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "documents",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/document_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The created document details",
            "schema": {
              "$ref": "#/definitions/document_upload_result"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/document_upload_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Documents"
        ],
        "summary": "Create a document for an agency group candidate"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/documents/{document_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/document_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "documents",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Return specific document for specific agency group candidate",
            "schema": {
              "$ref": "#/definitions/document_response_model_def_with_signed_url"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Documents"
        ],
        "summary": "Retrieve a specific document for specific agency group candidate"
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/documents": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "documents",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/document_id_filter"
          },
          {
            "$ref": "#/parameters/document_file_name_filter"
          },
          {
            "$ref": "#/parameters/document_status_filter"
          },
          {
            "$ref": "#/parameters/document_uploaded_by_id_filter"
          },
          {
            "$ref": "#/parameters/document_uploaded_by_type_filter"
          },
          {
            "$ref": "#/parameters/document_uploaded_by_name_filter"
          },
          {
            "$ref": "#/parameters/system_document_type_id_filter"
          },
          {
            "$ref": "#/parameters/document_sort_by"
          }
        ],
        "responses": {
          "200": {
            "description": "All Documents will be returned for specific agency candidate",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/document_response_model_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Documents"
        ],
        "summary": "Retrieves a list of Documents for specific agency candidate"
      },
      "post": {
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "documents",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/document_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The created document details",
            "schema": {
              "$ref": "#/definitions/document_upload_result"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/document_upload_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Documents"
        ],
        "summary": "Create a document for an agency candidate"
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/documents/{document_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/document_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "documents",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Return specific document for specific agency candidate",
            "schema": {
              "$ref": "#/definitions/document_response_model_def_with_signed_url"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Documents"
        ],
        "summary": "Retrieve a specific document for specific agency candidate"
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/document/{document_id}/action": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/document_id"
        }
      ],
      "post": {
        "tags": [
          "Agency Candidate Documents"
        ],
        "summary": "Perform an appropriate action on specific agency candidate document",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "document_actions",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/document_action_payload_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The agency candidate document record will be returned",
            "schema": {
              "$ref": "#/definitions/document_response_model_def"
            }
          },
          "400": {
            "description": "The document action validation error model",
            "schema": {
              "$ref": "#/definitions/document_action_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/document/{document_id}/action": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/document_id"
        }
      ],
      "post": {
        "tags": [
          "Agency Group Candidate Documents"
        ],
        "summary": "Perform an appropriate action on specific agency group candidate document",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "document_actions",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/document_action_payload_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The agency group candidate document record will be returned",
            "schema": {
              "$ref": "#/definitions/document_response_model_def"
            }
          },
          "400": {
            "description": "The document action validation error model",
            "schema": {
              "$ref": "#/definitions/document_action_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/document-types": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Document Types"
        ],
        "summary": "Retrieves a list of all document types for specified agency group",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "document_types",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/document_type_sorting_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of agency group document types",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_document_type_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid headers, paths",
            "schema": {
              "$ref": "#/definitions/document_type_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Agency Group Document Types"
        ],
        "summary": "Creates a document type for a specified agency group",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "document_types",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_document_type_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The created agency group document types record",
            "schema": {
              "$ref": "#/definitions/agency_group_document_type_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid headers, paths",
            "schema": {
              "$ref": "#/definitions/agency_group_document_type_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/document-types/{document_type_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/document_type_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Document Types"
        ],
        "summary": "Retrieve specific document type for specified agency group",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "document_types",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The specific agency group document types record",
            "schema": {
              "$ref": "#/definitions/agency_group_document_type_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid headers, paths",
            "schema": {
              "$ref": "#/definitions/document_type_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Group Document Types"
        ],
        "summary": "Update the document type for a specified agency group",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "document_types",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_document_type_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated agency group document types record",
            "schema": {
              "$ref": "#/definitions/agency_group_document_type_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid headers, paths",
            "schema": {
              "$ref": "#/definitions/agency_group_document_type_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/document-types": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "System Document Types"
        ],
        "summary": "Retrieves a list of system document types",
        "x-proxy-route": "/document-types",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin",
            "operation": {
              "name": "document_types",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/document_type_sorting_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of system document types",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/system_document_type_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid headers, paths",
            "schema": {
              "$ref": "#/definitions/document_type_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "System Document Types"
        ],
        "summary": "Creates a document type for system",
        "x-proxy-route": "/document-types",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin",
            "operation": {
              "name": "document_types",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/system_document_type_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The created system document types record",
            "schema": {
              "$ref": "#/definitions/system_document_type_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid headers, paths",
            "schema": {
              "$ref": "#/definitions/system_document_type_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/document-types/{document_type_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/document_type_id"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "System Document Types"
        ],
        "summary": "Retrieve specific system document type",
        "x-proxy-route": "/document-types/{document_type_id}",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin",
            "operation": {
              "name": "document_types",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The specific system document type",
            "schema": {
              "$ref": "#/definitions/system_document_type_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid headers, paths",
            "schema": {
              "$ref": "#/definitions/document_type_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "System Document Types"
        ],
        "summary": "Update the document type for system",
        "x-proxy-route": "/document-types/{document_type_id}",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin",
            "operation": {
              "name": "document_types",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/system_document_type_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated system document types record",
            "schema": {
              "$ref": "#/definitions/system_document_type_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid headers, paths",
            "schema": {
              "$ref": "#/definitions/system_document_type_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/document-types": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "document_types",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/document_type_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "All Candidate Document Types will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/document_type_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Document Types"
        ],
        "summary": "Retrieves a list of all Document Types for specified candidate"
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/document-types": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "document_types",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/document_type_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "All Agency Candidate Document Types will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/document_type_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Document Types"
        ],
        "summary": "Retrieves a list of all Document Types for specified agency candidate"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/document-types": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-document",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "document_types",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/document_type_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "All Agency Group Candidate Document Types will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/document_type_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Document Types"
        ],
        "summary": "Retrieves a list of all Document Types for specified agency group candidate"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/activity/{activity_id}/email-communication-message/{message_id}": {
      "x-swagger-router-controller": "AgencyGroupCandidateActivityEmail",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/activity_id"
        },
        {
          "$ref": "#/parameters/message_id"
        }
      ],
      "get": {
        "operationId": "getAgencyGroupCandidateActivityEmail",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_email_comms_message",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "description": "The email message record will be returned for the specific agency group candidate activity",
            "schema": {
              "$ref": "#/definitions/email_message_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Group Candidate Activity Email"
        ],
        "summary": "retrieve the specific email communication message for agency group candidate activity"
      }
    },
    "/agency/{agency_id}/lookup/{agency_lookup_type}": {
      "x-swagger-router-controller": "Lookup",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/agency_lookup_type"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/lookup_type_sort_by_query"
          },
          {
            "$ref": "#/parameters/lookup_type_name_filter"
          },
          {
            "$ref": "#/parameters/category_filter"
          }
        ],
        "tags": [
          "Agency Lookup"
        ],
        "summary": "List lookup type for specific agency",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "lookup",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/lookups_response"
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/enum_validation_error"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/lookup/{agency_lookup_type}/{lookup_type_id}": {
      "x-swagger-router-controller": "Lookup",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/agency_lookup_type"
        },
        {
          "$ref": "#/parameters/lookup_type_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "tags": [
          "Agency Lookup"
        ],
        "summary": "Update the specific lookup type record for specific agency",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "lookup",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/lookup_type_body_param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/lookup_response"
          },
          "400": {
            "$ref": "#/responses/lookup_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Lookup"
        ],
        "summary": "Removes the specific lookup type record for specific agency",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "lookup",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/lookup_response"
          },
          "400": {
            "$ref": "#/responses/enum_validation_error"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/lookup/{lookup_type}": {
      "x-swagger-router-controller": "Lookup",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/lookup_type"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/lookup_type_sort_by_query"
          },
          {
            "$ref": "#/parameters/lookup_type_name_filter"
          },
          {
            "$ref": "#/parameters/category_filter"
          }
        ],
        "tags": [
          "Agency Group Lookup"
        ],
        "summary": "List lookup type for specific agency group",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "welcome",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/lookups_response"
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/enum_validation_error"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/lookup/{lookup_type}/{lookup_type_id}": {
      "x-swagger-router-controller": "Lookup",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/lookup_type"
        },
        {
          "$ref": "#/parameters/lookup_type_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "tags": [
          "Agency Group Lookup"
        ],
        "summary": "Update the specific lookup type record for specific agency group",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "lookup",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/lookup_type_body_param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/lookup_response"
          },
          "400": {
            "$ref": "#/responses/lookup_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Group Lookup"
        ],
        "summary": "Removes the specific lookup type record for specific agency group",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "lookup",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "$ref": "#/responses/lookup_response"
          },
          "400": {
            "$ref": "#/responses/enum_validation_error"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate-widgets": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "widget-service",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate Widgets"
        ],
        "summary": "Retrieves a list of all candidate widgets for specific agency group",
        "x-proxy-route": "/agency-group/{agency_group_id}/candidate/widgets",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_widgets",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "All candidate widgets will be returned for specified Agency Group",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_candidate_widget_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Agency Group Candidate Widgets"
        ],
        "summary": "Creates a candidate widget for a specific agency group",
        "x-proxy-route": "/agency-group/{agency_group_id}/candidate/widgets",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_widgets",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_widget_payload_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Created candidate widget for a agency group will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_widget_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/widget_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate-widgets/{widget_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "widget-service",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/widget_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate Widgets"
        ],
        "summary": "Retrieves a specific candidate widgets for specific agency group",
        "x-proxy-route": "/agency-group/{agency_group_id}/candidate/widgets/{widget_id}",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_widgets",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific candidate widgets will be returned for specified agency group",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_widget_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Group Candidate Widgets"
        ],
        "summary": "Updates a specific candidate widget for the specific agency group",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_widgets",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-proxy-route": "/agency-group/{agency_group_id}/candidate/widgets/{widget_id}",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_widget_payload_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Updated candidate widget for a specific agency group will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_widget_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/widget_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/widgets": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "widget-service",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_widgets",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/widget_type_filter"
          }
        ],
        "responses": {
          "200": {
            "description": "All Candidate widgets will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_widgets_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Candidate Widgets"
        ],
        "summary": "Retrieves a list of all widgets for specific candidate"
      }
    },
    "/agency-group/{agency_group_id}/activity-type": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-activities",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/context_activity_type_sort_by_query"
          },
          {
            "$ref": "#/parameters/activity_type_name_filter"
          },
          {
            "$ref": "#/parameters/activity_type_code_filter"
          },
          {
            "$ref": "#/parameters/activity_type_disabled_filter"
          },
          {
            "$ref": "#/parameters/activity_type_subject_type_filter"
          }
        ],
        "tags": [
          "Activity Type"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "welcome",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "summary": "Get a list of activity type for the given agency group",
        "description": "Retrieve a list of activity type for specific agency group",
        "responses": {
          "200": {
            "description": "The activity types of the agency group will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/context_activity_types_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/notification-type": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate-notification",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/notification_type_sort_by_query"
          },
          {
            "$ref": "#/parameters/name_filter"
          },
          {
            "$ref": "#/parameters/notification_activity_type_filter"
          },
          {
            "$ref": "#/parameters/mail_template_filter"
          },
          {
            "$ref": "#/parameters/notification_medium_filter"
          },
          {
            "$ref": "#/parameters/enabled_filter"
          },
          {
            "$ref": "#/parameters/automatic_notification_filter"
          }
        ],
        "tags": [
          "Agency Group Notification Type"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "welcome",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "summary": "Get a list of notification type for the given agency group",
        "description": "Retrieve a list of notification type for specific agency group",
        "responses": {
          "200": {
            "description": "The notification types of the agency group will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/context_notification_types_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Agency Group Notification Type"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_notification_type",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "summary": "Create notification type for the given agency group",
        "description": "Create notification type for a given agency group",
        "responses": {
          "201": {
            "description": "Created notification type of specific agency group",
            "schema": {
              "$ref": "#/definitions/agency_group_notification_types_response_def"
            }
          },
          "400": {
            "description": "Validation error on post",
            "schema": {
              "$ref": "#/definitions/agency_group_notification_type_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_notification_type_body_param"
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/notification-type/{notification_type_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate-notification",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/notification_type_id"
        }
      ],
      "put": {
        "tags": [
          "Agency Group Notification Type"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_notification_type",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "summary": "Update notification type for the given agency group",
        "description": "Update notification type for a given agency group",
        "responses": {
          "200": {
            "description": "Updated notification type of specific agency group",
            "schema": {
              "$ref": "#/definitions/agency_group_notification_types_response_def"
            }
          },
          "400": {
            "description": "Validation error on put",
            "schema": {
              "$ref": "#/definitions/agency_group_notification_type_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_notification_type_body_param"
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/notification/{notification_id}/send": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/notification_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate-notification",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "The agency group candidate notification will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_notification_body_param_response_def"
            }
          },
          "400": {
            "description": "Validation error on post",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_notification_post_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Notification"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "send_candidate_notification",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "summary": "Send Agency Group Candidate Notification"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/notification/{notification_id}/preview": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/notification_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "candidate-notification",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "The agency group candidate notification will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_notification_preview_body_param_response_def"
            }
          },
          "400": {
            "description": "Validation error on post",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_notification_post_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Group Candidate Notification"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "send_candidate_notification",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "summary": "Preview Agency Group Candidate Notification"
      }
    },
    "/webhook/mailgun": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "email-communication",
      "post": {
        "tags": [
          "Webhook Mailgun"
        ],
        "summary": "Mailgun to make webhook call",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/webhook_mailgun_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Response for making a webhook call with status information of email that we sent",
            "schema": {
              "$ref": "#/definitions/webhook_mailgun_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/make_webhook_call_validation_error"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/employment/{employment_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/employment_id"
        }
      ],
      "put": {
        "tags": [
          "Candidate Employment"
        ],
        "summary": "Updates a specific candidate employment history",
        "security": [
          {
            "staffshift": [],
            "candidateSettings": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_history_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/employment_history_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated candidate employment history details",
            "schema": {
              "$ref": "#/definitions/employment_history_response_model_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/employment_history_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Candidate Employment"
        ],
        "summary": "Retrieves a specific candidate employment history",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific candidate employment history details will be returned",
            "schema": {
              "$ref": "#/definitions/employment_history_response_model_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/employment/{employment_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/employment_id"
        }
      ],
      "put": {
        "tags": [
          "Agency Candidate Employment"
        ],
        "summary": "Updates a specific agency candidate employment history",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_history_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/employment_history_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated agency candidate employment history details",
            "schema": {
              "$ref": "#/definitions/employment_history_response_model_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/employment_history_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency Candidate Employment"
        ],
        "summary": "Retrieves a specific agency candidate employment history",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific agency candidate employment history details will be returned",
            "schema": {
              "$ref": "#/definitions/employment_history_response_model_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/employment/{employment_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/employment_id"
        }
      ],
      "put": {
        "tags": [
          "Agency Group Candidate Employment"
        ],
        "summary": "Updates a specific agency group candidate employment history",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_history_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/employment_history_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated agency group candidate employment history details",
            "schema": {
              "$ref": "#/definitions/employment_history_response_model_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/employment_history_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency Group Candidate Employment"
        ],
        "summary": "Retrieves a specific agency group candidate employment history",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific agency group candidate employment history details will be returned",
            "schema": {
              "$ref": "#/definitions/employment_history_response_model_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/report/interview-profile": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_bumblebee-v2",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate Reports"
        ],
        "summary": "Retrieve agency group candidate interview profile report",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_interview_profile_report",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Retrieve specific agency group candidate interview profile report",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_interview_profile_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/employment": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "post": {
        "tags": [
          "Candidate Employment"
        ],
        "summary": "Create an employment history for a specific candidate",
        "security": [
          {
            "staffshift": [],
            "candidateSettings": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_history_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/employment_history_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The created candidate employment history details",
            "schema": {
              "$ref": "#/definitions/employment_history_response_model_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/employment_history_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Candidate Employment"
        ],
        "summary": "Retrieves employment history list for a specific candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/work_type_filter"
          },
          {
            "$ref": "#/parameters/employer_name_filter"
          },
          {
            "$ref": "#/parameters/start_date_filter"
          },
          {
            "$ref": "#/parameters/end_date_filter"
          },
          {
            "$ref": "#/parameters/job_title_name_filter"
          },
          {
            "$ref": "#/parameters/employment_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "Employment history list for a specific candidate will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/employment_history_response_model_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/employment": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "post": {
        "tags": [
          "Agency Candidate Employment"
        ],
        "summary": "Create an employment history for a specific agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_history_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/employment_history_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The created agency candidate employment history details",
            "schema": {
              "$ref": "#/definitions/employment_history_response_model_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/employment_history_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency Candidate Employment"
        ],
        "summary": "Retrieves employment history list for specific agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/work_type_filter"
          },
          {
            "$ref": "#/parameters/employer_name_filter"
          },
          {
            "$ref": "#/parameters/start_date_filter"
          },
          {
            "$ref": "#/parameters/end_date_filter"
          },
          {
            "$ref": "#/parameters/job_title_name_filter"
          },
          {
            "$ref": "#/parameters/employment_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "Employment history list for a specific agency candidate will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/employment_history_response_model_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/employment": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "post": {
        "tags": [
          "Agency Group Candidate Employment"
        ],
        "summary": "Create an employment history for a specific agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_history_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/employment_history_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The created agency group candidate employment history details",
            "schema": {
              "$ref": "#/definitions/employment_history_response_model_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/employment_history_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency Group Candidate Employment"
        ],
        "summary": "Retrieves employment history list for a specific agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/work_type_filter"
          },
          {
            "$ref": "#/parameters/employer_name_filter"
          },
          {
            "$ref": "#/parameters/start_date_filter"
          },
          {
            "$ref": "#/parameters/end_date_filter"
          },
          {
            "$ref": "#/parameters/job_title_name_filter"
          },
          {
            "$ref": "#/parameters/employment_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "Employment history list for a specific agency group candidate will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/employment_history_response_model_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/activity": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-activities",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "description": "Create an Agency Candidate Activity record",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_activity",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "parameters": [
          {
            "$ref": "#/parameters/agency_candidate_activity_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The agency candidate activity will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_activity_response_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/candidate_activity_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Activity"
        ],
        "summary": "Create Agency Candidate Activity"
      },
      "get": {
        "description": "Get a list of Agency Candidate Activity records",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_activity",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/activity_sort_by_query"
          },
          {
            "$ref": "#/parameters/activity_type_filter"
          },
          {
            "$ref": "#/parameters/activity_date_filter_from_query_string"
          },
          {
            "$ref": "#/parameters/activity_date_filter_to_query_string"
          },
          {
            "$ref": "#/parameters/activity_created_by_user_filter"
          },
          {
            "$ref": "#/parameters/activity_created_by_user_name_filter"
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency candidate activity will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_activity_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_activity_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Agency Candidate Activity"
        ],
        "summary": "List Agency Candidate Activity"
      }
    },
    "/system/skills": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "x-proxy-route": "/skills",
        "tags": [
          "System skills"
        ],
        "summary": "Creates a skill",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/skills_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Skill that was created",
            "schema": {
              "$ref": "#/definitions/skills_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/skills_post_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "x-proxy-route": "/skills",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "skill",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/skills_name_filter"
          },
          {
            "$ref": "#/parameters/skills_status_filter"
          },
          {
            "$ref": "#/parameters/position_types_filter"
          },
          {
            "$ref": "#/parameters/position_types_exists_filter"
          },
          {
            "$ref": "#/parameters/skills_sorting"
          },
          {
            "$ref": "#/parameters/skills_id_filter"
          }
        ],
        "responses": {
          "200": {
            "description": "All system skills will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/skills_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/skills_get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "System skills"
        ],
        "summary": "Retrieves a list of all skills for system"
      }
    },
    "/system/skills/{skill_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/skill_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "x-proxy-route": "/skills/{skill_id}",
        "tags": [
          "System skills"
        ],
        "summary": "Update the specific skill",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/skills_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Specific skill that was updated",
            "schema": {
              "$ref": "#/definitions/skills_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/skills_post_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "x-proxy-route": "/skills/{skill_id}",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "skill",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific system skills will be returned",
            "schema": {
              "$ref": "#/definitions/skills_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "System skills"
        ],
        "summary": "Retrieves a specific skill for system"
      }
    },
    "/system/job-family": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-proxy-route": "/job-family",
        "tags": [
          "System Job Family"
        ],
        "summary": "Retrieves list of all system job families",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "job_family",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/industry_id_filter"
          },
          {
            "$ref": "#/parameters/country_code_filter"
          },
          {
            "$ref": "#/parameters/position_types_filter"
          },
          {
            "$ref": "#/parameters/position_types_exists_filter"
          },
          {
            "$ref": "#/parameters/name_filter"
          },
          {
            "$ref": "#/parameters/ids_filter"
          },
          {
            "$ref": "#/parameters/job_family_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "All System Job Families will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/job_family_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/virtual_property_get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/job-family/{job_family_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/job_family_id"
        }
      ],
      "get": {
        "x-proxy-route": "/job-family/{job_family_id}",
        "tags": [
          "System Job Family"
        ],
        "summary": "Retrieves a specific system job family",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "job_family",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific System Job Family will be returned",
            "schema": {
              "$ref": "#/definitions/job_family_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/job-title": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-proxy-route": "/job-title",
        "tags": [
          "System Job Title"
        ],
        "summary": "Retrieves a list of all system job titles",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "job_title",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/industry_id_filter"
          },
          {
            "$ref": "#/parameters/country_code_filter"
          },
          {
            "$ref": "#/parameters/position_types_filter"
          },
          {
            "$ref": "#/parameters/position_types_exists_filter"
          },
          {
            "$ref": "#/parameters/name_filter"
          },
          {
            "$ref": "#/parameters/short_name_filter"
          },
          {
            "$ref": "#/parameters/job_family_name_filter"
          },
          {
            "$ref": "#/parameters/job_family_id_filter"
          },
          {
            "$ref": "#/parameters/ids_filter"
          },
          {
            "$ref": "#/parameters/job_title_disabled_filter"
          },
          {
            "$ref": "#/parameters/job_title_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "All System job titles will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/job_title_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/virtual_property_get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/job-title/{job_title_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/job_title_id"
        }
      ],
      "get": {
        "x-proxy-route": "/job-title/{job_title_id}",
        "tags": [
          "System Job Title"
        ],
        "summary": "Retrieves a specific system job title",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "job_title",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific System job title will be returned",
            "schema": {
              "$ref": "#/definitions/job_title_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/position-types": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-proxy-route": "/position-types",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "position_type",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/position_types_country_code_filter"
          },
          {
            "$ref": "#/parameters/position_types_code_filter"
          },
          {
            "$ref": "#/parameters/position_types_sorting"
          }
        ],
        "responses": {
          "200": {
            "description": "All System position types will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/position_types_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "System position types"
        ],
        "summary": "Retrieves list of all system position types"
      }
    },
    "/system/position-types/{position_type_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/position_type_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-proxy-route": "/position-types/{position_type_id}",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "position_type",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific position type for system will be returned",
            "schema": {
              "$ref": "#/definitions/position_types_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "System position types"
        ],
        "summary": "Retrieves a specific system position types record"
      },
      "put": {
        "x-proxy-route": "/position-types/{position_type_id}",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/position_type_name_update_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Updated position type for system will be returned",
            "schema": {
              "$ref": "#/definitions/position_types_response_def"
            }
          },
          "400": {
            "description": "Validation error response when updating position type",
            "schema": {
              "$ref": "#/definitions/position_types_name_update_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "System position types"
        ],
        "summary": "Retrieves a specific system position types record"
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/activity/{activity_id}/email-communication-message/{message_id}": {
      "x-swagger-router-controller": "AgencyCandidateActivityEmail",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/activity_id"
        },
        {
          "$ref": "#/parameters/message_id"
        }
      ],
      "get": {
        "operationId": "getAgencyCandidateActivityEmail",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_email_comms_message",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "description": "The email message record will be returned for the specific agency candidate activity",
            "schema": {
              "$ref": "#/definitions/email_message_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Candidate Activity Email"
        ],
        "summary": "Retrieves the specific email communication message for agency candidate activity"
      }
    },
    "/candidate/{candidate_id}/skills": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "get": {
        "tags": [
          "Candidate Skills"
        ],
        "summary": "Retrieves list of all Candidate Skills",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_skills",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/skill_name_filter"
          },
          {
            "$ref": "#/parameters/stated_duration_filter"
          },
          {
            "$ref": "#/parameters/stated_status_filter"
          },
          {
            "$ref": "#/parameters/computed_duration_filter"
          },
          {
            "$ref": "#/parameters/computed_status_filter"
          },
          {
            "$ref": "#/parameters/position_types_filter"
          },
          {
            "$ref": "#/parameters/stated_skills_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "All candidate skills will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/view_candidate_skill_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/skills": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Skills"
        ],
        "summary": "Retrieves list of all Agency Candidate Skills",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_skills",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/skill_name_filter"
          },
          {
            "$ref": "#/parameters/stated_duration_filter"
          },
          {
            "$ref": "#/parameters/stated_status_filter"
          },
          {
            "$ref": "#/parameters/computed_duration_filter"
          },
          {
            "$ref": "#/parameters/computed_status_filter"
          },
          {
            "$ref": "#/parameters/position_types_filter"
          },
          {
            "$ref": "#/parameters/stated_skills_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "All agency candidate skills will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/view_candidate_skill_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/skills": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate Skills"
        ],
        "summary": "Retrieves list of all Agency Group Candidate Skills",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_skills",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/skill_name_filter"
          },
          {
            "$ref": "#/parameters/stated_duration_filter"
          },
          {
            "$ref": "#/parameters/stated_status_filter"
          },
          {
            "$ref": "#/parameters/computed_duration_filter"
          },
          {
            "$ref": "#/parameters/computed_status_filter"
          },
          {
            "$ref": "#/parameters/position_types_filter"
          },
          {
            "$ref": "#/parameters/stated_skills_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "All agency group candidate skills will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/view_candidate_skill_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/stated-skills/{skill_id}/action": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/skill_id"
        }
      ],
      "post": {
        "tags": [
          "Agency Group Candidate Stated Skills"
        ],
        "summary": "Performed an action on stated skill for a specified agency group candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_skills_actions",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_stated_skill_action_payload"
          }
        ],
        "responses": {
          "200": {
            "description": "Agency Group Candidate Stated Skill record after performing an specific action",
            "schema": {
              "$ref": "#/definitions/candidate_stated_skill_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/stated_skills_action_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/skills/{skill_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/skill_id"
        }
      ],
      "get": {
        "tags": [
          "Candidate Skills"
        ],
        "summary": "Retrieves a specific candidate skill",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_skills",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific Candidate Skill will be returned",
            "schema": {
              "$ref": "#/definitions/view_candidate_skill_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/skills/{skill_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/skill_id"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Skills"
        ],
        "summary": "Retrieves a specific agency candidate skill",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_skills",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific Agency Candidate Skill will be returned",
            "schema": {
              "$ref": "#/definitions/view_candidate_skill_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/skills/{skill_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/skill_id"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate Skills"
        ],
        "summary": "Retrieves a specific agency group candidate skill",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_skills",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific Agency Group Candidate Skill will be returned",
            "schema": {
              "$ref": "#/definitions/view_candidate_skill_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/stated-skills/{skill_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/skill_id"
        }
      ],
      "post": {
        "tags": [
          "Candidate Stated Skills"
        ],
        "summary": "Creates a stated skill for a specified candidate",
        "security": [
          {
            "staffshift": [],
            "candidateSettings": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_skills",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_stated_skill_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Candidate Stated Skill that was created",
            "schema": {
              "$ref": "#/definitions/candidate_stated_skill_response_def"
            }
          },
          "400": {
            "description": "Stated skill validation error model",
            "schema": {
              "$ref": "#/definitions/stated_skills_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "409": {
            "description": "Conflict error. Caused by creating duplicate stated skill",
            "schema": {
              "$ref": "#/definitions/conflict_error"
            }
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Candidate Stated Skills"
        ],
        "summary": "Updates a stated skill for a specified candidate",
        "security": [
          {
            "staffshift": [],
            "candidateSettings": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_skills",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_stated_skill_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate Stated Skill that was updated",
            "schema": {
              "$ref": "#/definitions/candidate_stated_skill_response_def"
            }
          },
          "400": {
            "description": "Stated skill validation error model",
            "schema": {
              "$ref": "#/definitions/stated_skills_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Candidate Stated Skills"
        ],
        "summary": "Remove the specific candidate stated skill",
        "security": [
          {
            "staffshift": [],
            "candidateSettings": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_skills",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate Stated Skill that was deleted",
            "schema": {
              "$ref": "#/definitions/candidate_stated_skill_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/skills_delete_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/stated-skills/{skill_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/skill_id"
        }
      ],
      "post": {
        "tags": [
          "Agency Group Candidate Stated Skills"
        ],
        "summary": "Create a stated skill for a specified agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_skills",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_stated_skill_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Agency Group Candidate Stated Skill that was created",
            "schema": {
              "$ref": "#/definitions/candidate_stated_skill_response_def"
            }
          },
          "400": {
            "description": "Stated skill validation error model",
            "schema": {
              "$ref": "#/definitions/stated_skills_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "409": {
            "description": "Conflict error. Caused by creating duplicate stated skill",
            "schema": {
              "$ref": "#/definitions/conflict_error"
            }
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Group Candidate Stated Skills"
        ],
        "summary": "Updates a specific agency group candidate stated skill",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_skills",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_stated_skill_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Agency Group Candidate Stated Skill that was updated",
            "schema": {
              "$ref": "#/definitions/candidate_stated_skill_response_def"
            }
          },
          "400": {
            "description": "Stated skill validation error model",
            "schema": {
              "$ref": "#/definitions/stated_skills_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Group Candidate Stated Skills"
        ],
        "summary": "Delete the specific agency group candidate skill",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_skills",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific Agency Group Candidate Stated Skill will be removed",
            "schema": {
              "$ref": "#/definitions/candidate_stated_skill_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/skills_delete_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/qualifications": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Candidate Qualifications"
        ],
        "summary": "Retrieves list of all Candidate Qualifications",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_qualifications",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/obtained_at_filter"
          },
          {
            "$ref": "#/parameters/expires_at_filter"
          },
          {
            "$ref": "#/parameters/qualification_id_filter"
          },
          {
            "$ref": "#/parameters/candidate_qualification_name_filter"
          },
          {
            "$ref": "#/parameters/institution_filter"
          },
          {
            "$ref": "#/parameters/candidate_qualifications_status_filter"
          },
          {
            "$ref": "#/parameters/position_types_filter"
          },
          {
            "$ref": "#/parameters/position_types_exists_filter"
          },
          {
            "$ref": "#/parameters/candidate_qualification_sorting"
          }
        ],
        "responses": {
          "200": {
            "description": "All candidate qualifications will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/view_candidate_qualification_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/virtual_property_get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Candidate Qualifications"
        ],
        "summary": "Create a candidate qualification",
        "security": [
          {
            "staffshift": [],
            "candidateSettings": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_qualifications",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_qualifications_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The created candidate qualification will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_qualification_response_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/candidate_qualifications_post_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/qualifications": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Qualifications"
        ],
        "summary": "Retrieves list of all Agency Candidate Qualifications",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_qualifications",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/obtained_at_filter"
          },
          {
            "$ref": "#/parameters/expires_at_filter"
          },
          {
            "$ref": "#/parameters/qualification_id_filter"
          },
          {
            "$ref": "#/parameters/candidate_qualification_name_filter"
          },
          {
            "$ref": "#/parameters/institution_filter"
          },
          {
            "$ref": "#/parameters/candidate_qualifications_status_filter"
          },
          {
            "$ref": "#/parameters/position_types_filter"
          },
          {
            "$ref": "#/parameters/position_types_exists_filter"
          },
          {
            "$ref": "#/parameters/candidate_qualification_sorting"
          }
        ],
        "responses": {
          "200": {
            "description": "All agency candidate qualifications will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_qualification_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/virtual_property_get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/qualifications": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate Qualifications"
        ],
        "summary": "Retrieves list of all Agency Group Candidate Qualifications",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_qualifications",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/obtained_at_filter"
          },
          {
            "$ref": "#/parameters/expires_at_filter"
          },
          {
            "$ref": "#/parameters/qualification_id_filter"
          },
          {
            "$ref": "#/parameters/candidate_qualification_name_filter"
          },
          {
            "$ref": "#/parameters/institution_filter"
          },
          {
            "$ref": "#/parameters/candidate_qualifications_status_filter"
          },
          {
            "$ref": "#/parameters/position_types_filter"
          },
          {
            "$ref": "#/parameters/position_types_exists_filter"
          },
          {
            "$ref": "#/parameters/candidate_qualification_sorting"
          }
        ],
        "responses": {
          "200": {
            "description": "All agency group candidate qualifications will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/view_candidate_qualification_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/virtual_property_get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Agency Group Candidate Qualifications"
        ],
        "summary": "Creates an agency group candidate qualification",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_qualifications",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_qualifications_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Created agency group candidate qualification will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_qualification_response_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/candidate_qualifications_post_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/qualifications/{candidate_qualification_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/candidate_qualification_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "tags": [
          "Candidate Qualifications"
        ],
        "summary": "Updates a specific candidate qualification",
        "security": [
          {
            "staffshift": [],
            "candidateSettings": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_qualifications",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_qualifications_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated candidate qualification will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_qualification_response_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/candidate_qualifications_post_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Candidate Qualifications"
        ],
        "summary": "Retrieves a specific candidate qualification",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_qualifications",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific Candidate Qualification will be returned",
            "schema": {
              "$ref": "#/definitions/view_candidate_qualification_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Candidate Qualifications"
        ],
        "summary": "Remove the specific candidate qualification",
        "security": [
          {
            "staffshift": [],
            "candidateSettings": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_qualifications",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific Candidate Qualification that was deleted",
            "schema": {
              "$ref": "#/definitions/candidate_qualification_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/delete_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/qualifications/{candidate_qualification_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/candidate_qualification_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Qualifications"
        ],
        "summary": "Retrieves a specific Agency candidate qualification",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_qualifications",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific Agency Candidate Qualification will be returned",
            "schema": {
              "$ref": "#/definitions/view_candidate_qualification_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/qualifications/{candidate_qualification_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/candidate_qualification_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "tags": [
          "Agency Group Candidate Qualifications"
        ],
        "summary": "Updates an agency group candidate qualification",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_qualifications",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_qualifications_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Updated agency group candidate qualification will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_qualification_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_qualifications_post_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency Group Candidate Qualifications"
        ],
        "summary": "Retrieves a specific Agency Group candidate qualification",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_qualifications",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific Agency Group Candidate Qualification will be returned",
            "schema": {
              "$ref": "#/definitions/view_candidate_qualification_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Group Candidate Qualifications"
        ],
        "summary": "Specific Agency Group Candidate Qualification that was deleted",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_qualifications",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific Agency Group Candidate Qualification will be removed",
            "schema": {
              "$ref": "#/definitions/candidate_qualification_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/delete_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/qualifications/{candidate_qualification_id}/action": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/candidate_qualification_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "tags": [
          "Agency Group Candidate Qualifications"
        ],
        "summary": "Performs an action on qualification for a specified agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_qualifications_actions",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_skills_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_qualifications_action_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Updated after specific action agency group candidate qualification will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_qualification_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/qualification_action_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/qualifications": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "x-proxy-route": "/qualifications",
        "tags": [
          "System Qualifications"
        ],
        "summary": "Creates a system qualifications",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/qualifications_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Created system qualification will be returned",
            "schema": {
              "$ref": "#/definitions/qualifications_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/qualification_post_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "x-proxy-route": "/qualifications",
        "tags": [
          "System Qualifications"
        ],
        "summary": "Retrieves a list of all qualifications for system",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "qualification",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/qualification_name_filter"
          },
          {
            "$ref": "#/parameters/position_types_filter"
          },
          {
            "$ref": "#/parameters/position_types_exists_filter"
          },
          {
            "$ref": "#/parameters/qualification_status_filter"
          },
          {
            "$ref": "#/parameters/qualification_sorting"
          },
          {
            "$ref": "#/parameters/qualifications_id_filter"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all system qualifications will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/qualifications_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/qualifications_get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/qualifications/{qualification_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/qualification_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "x-proxy-route": "/qualifications/{qualification_id}",
        "tags": [
          "System Qualifications"
        ],
        "summary": "Updates a specific system qualification",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/qualifications_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Updated system qualification will be returned",
            "schema": {
              "$ref": "#/definitions/qualifications_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/qualification_post_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "x-proxy-route": "/qualifications/{qualification_id}",
        "tags": [
          "System Qualifications"
        ],
        "summary": "Retrieves a specific system qualification",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "qualification",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific system qualification will be returned",
            "schema": {
              "$ref": "#/definitions/qualifications_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/firebase-custom-token": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-user-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        }
      ],
      "post": {
        "tags": [
          "Firebase custom token"
        ],
        "summary": "Create a custom firebase token",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "user",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/firebase_custom_token_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "the created custom firebase token",
            "schema": {
              "$ref": "#/definitions/firebase_custom_token_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/firebase_custom_token_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/agency": {
      "x-swagger-router-controller": "AgencyGroup",
      "parameters": [
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Agency"
        ],
        "summary": "Gets a list of agencies that is linked to the agency group",
        "operationId": "getAgencyGroupAgencies",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "list of agencies that is linked to the agency group",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_agency_listing"
              }
            }
          },
          "204": {
            "description": "No Content. Returned if no agencies were found."
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/get_agency_group_agency_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/agency-group": {
      "x-swagger-router-controller": "AgencyGroup",
      "parameters": [
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/agency_id"
        }
      ],
      "get": {
        "tags": [
          "Agency Agency Group"
        ],
        "summary": "Gets a list of agency group that is linked to the agency",
        "operationId": "getAgencyAgencyGroups",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency group that is linked to the agency",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_agency_listing"
              }
            }
          },
          "204": {
            "description": "No Content. Returned if no agency groups were found."
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/get_agency_group_agency_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/contact-numbers": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "agency",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Contact Numbers"
        ],
        "summary": "Retrieves list of agency contact numbers",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_contact_numbers",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/type_sort_by_query"
          },
          {
            "$ref": "#/parameters/type_filter"
          }
        ],
        "responses": {
          "200": {
            "description": "All Agency Contact Numbers will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_contact_number_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_agency_contact_number_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Agency Contact Numbers"
        ],
        "summary": "Creates an agency contact number",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_contact_numbers",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_contact_number_body_def"
          }
        ],
        "responses": {
          "201": {
            "description": "Agency Contact number that was created",
            "schema": {
              "$ref": "#/definitions/agency_contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/agency_contact_number_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/contact-numbers/{contact_number_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/contact_number_id"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "tags": [
          "Agency Contact Numbers"
        ],
        "summary": "Update an agency contact number",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "agency",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_contact_numbers",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_contact_number_body_def"
          }
        ],
        "responses": {
          "200": {
            "description": "Agency Contact number that was updated",
            "schema": {
              "$ref": "#/definitions/agency_contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/agency_contact_number_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Contact Numbers"
        ],
        "summary": "Delete an Agency Contact Number",
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "agency",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_contact_numbers",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The agency contact number that was deleted",
            "schema": {
              "$ref": "#/definitions/agency_contact_number_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_agency_contact_number_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/registration-body/{registration_body_id}/entry": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/registration_body_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "x-proxy-route": "/registration-body/{registration_body_id}/entry",
        "tags": [
          "System Registration Body Entries"
        ],
        "summary": "Creates a system registration body entry",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/registration_body_entry_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Created system registration body entry will be returned",
            "schema": {
              "$ref": "#/definitions/registration_body_entry_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/registration_body_entry_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "x-proxy-route": "/registration-body/{registration_body_id}/entry",
        "tags": [
          "System Registration Body Entries"
        ],
        "summary": "Retrieve the list of system registration body entry records",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/name_filter"
          },
          {
            "$ref": "#/parameters/short_name_filter"
          },
          {
            "$ref": "#/parameters/entry_status_filter"
          },
          {
            "$ref": "#/parameters/registration_body_entry_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "List the system registration body entry records",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/registration_body_entry_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/registration-body/{registration_body_id}/entry/{entry_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/registration_body_id"
        },
        {
          "$ref": "#/parameters/entry_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "x-proxy-route": "/registration-body/{registration_body_id}/entry/{entry_id}",
        "tags": [
          "System Registration Body Entries"
        ],
        "summary": "Update a specific system registration body entry",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/registration_body_entry_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Updated system registration body entry will be returned",
            "schema": {
              "$ref": "#/definitions/registration_body_entry_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/registration_body_entry_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "x-proxy-route": "/registration-body/{registration_body_id}/entry/{entry_id}",
        "tags": [
          "System Registration Body Entries"
        ],
        "summary": "Retrieve the specific system registration body entry",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific system registration body entry will be returned",
            "schema": {
              "$ref": "#/definitions/registration_body_entry_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/registration-body/{candidate_registration_body_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/candidate_registration_body_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Candidate Registration Body"
        ],
        "summary": "Retrieves a specific candidate registration body",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific candidate registration body will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_registration_body_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Candidate Registration Body"
        ],
        "summary": "Updates a specific Candidate Registration body",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_registration_body_put_input_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Updated candidate registration body will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_registration_body_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_registration_body_put_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Candidate Registration Body"
        ],
        "summary": "Removes the specific Candidate Registration body",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate registration body that was deleted",
            "schema": {
              "$ref": "#/definitions/candidate_registration_body_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/delete_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "412": {
            "$ref": "#/responses/pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/registration-body/{candidate_registration_body_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/candidate_registration_body_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Registration Body"
        ],
        "summary": "Retrieves a specific agency candidate registration body",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific agency candidate registration body will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_registration_body_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/registration-body/{candidate_registration_body_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/candidate_registration_body_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate Registration Body"
        ],
        "summary": "Retrieves a specific agency group candidate registration body",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific Agency Group Candidate Registration Body will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_registration_body_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Group Candidate Registration Body"
        ],
        "summary": "Updates a specific Agency Group Candidate Registration body",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_registration_body_put_input_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Updated Agency Group Candidate Registration Body will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_registration_body_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_registration_body_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Group Candidate Registration Body"
        ],
        "summary": "Removes the specific Agency Group Candidate Registration body",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Agency Group Candidate Registration Body that was deleted",
            "schema": {
              "$ref": "#/definitions/candidate_registration_body_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/delete_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/registration-body": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "x-proxy-route": "/registration-body",
        "tags": [
          "System Registration Body"
        ],
        "summary": "Creates a System Registration body",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/registration_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "System Registration that was created",
            "schema": {
              "$ref": "#/definitions/registration_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/registration_body_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "x-proxy-route": "/registration-body",
        "tags": [
          "System Registration Body"
        ],
        "summary": "Retrieve the list of system registration body",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/name_filter"
          },
          {
            "$ref": "#/parameters/short_name_filter"
          },
          {
            "$ref": "#/parameters/position_types_filter"
          },
          {
            "$ref": "#/parameters/registration_body_status_filter"
          },
          {
            "$ref": "#/parameters/country_code_filter"
          },
          {
            "$ref": "#/parameters/registration_body_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "List the system registration body records",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/registration_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/registration-body/{registration_body_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/registration_body_id"
        }
      ],
      "put": {
        "x-proxy-route": "/registration-body/{registration_body_id}",
        "tags": [
          "System Registration Body"
        ],
        "summary": "Update the specific System Registration Body",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/registration_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Specific system registration body that was updated",
            "schema": {
              "$ref": "#/definitions/registration_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/registration_body_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "x-proxy-route": "/registration-body/{registration_body_id}",
        "tags": [
          "System Registration Body"
        ],
        "summary": "Get the specific system registration body",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific system registration body record will be return",
            "schema": {
              "$ref": "#/definitions/registration_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/registration-body/{registration_body_id}/entry-status": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/registration_body_id"
        }
      ],
      "post": {
        "x-proxy-route": "/registration-body/{registration_body_id}/entry-status",
        "tags": [
          "System Registration Body Entry Status"
        ],
        "summary": "Creates a system registration body entry status",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/registration_body_entry_status_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "System registration body entry status that was created",
            "schema": {
              "$ref": "#/definitions/registration_body_entry_status_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/registration_body_entry_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "x-proxy-route": "/registration-body/{registration_body_id}/entry-status",
        "tags": [
          "System Registration Body Entry Status"
        ],
        "summary": "Retrieve the list of system registration body entry status",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/name_filter"
          },
          {
            "$ref": "#/parameters/registration_body_entry_status_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "List the system registration body entry status records",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/registration_body_entry_status_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/registration-body/{registration_body_id}/entry-status/{entry_status_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/registration_body_id"
        },
        {
          "$ref": "#/parameters/entry_status_id"
        }
      ],
      "put": {
        "x-proxy-route": "/registration-body/{registration_body_id}/entry-status/{entry_status_id}",
        "tags": [
          "System Registration Body Entry Status"
        ],
        "summary": "Updates a system registration body entry status",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/registration_body_entry_status_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "System registration body entry status that was created",
            "schema": {
              "$ref": "#/definitions/registration_body_entry_status_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/registration_body_entry_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "x-proxy-route": "/registration-body/{registration_body_id}/entry-status/{entry_status_id}",
        "tags": [
          "System Registration Body Entry Status"
        ],
        "summary": "Retrieves the specific system registration body entry status",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Retrieve the specific system registration body entry status record",
            "schema": {
              "$ref": "#/definitions/registration_body_entry_status_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/registration-body": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "post": {
        "tags": [
          "Candidate Registration Body"
        ],
        "summary": "Creates a Candidate Registration body",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_registration_body_input_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Created candidate registration body will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_registration_body_post_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_registration_body_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Candidate Registration Body"
        ],
        "summary": "List the Candidate registration body records",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/registration_body_position_types_filter"
          },
          {
            "$ref": "#/parameters/registration_body_country_code_filter"
          },
          {
            "$ref": "#/parameters/candidate_registration_body_sort_param"
          }
        ],
        "responses": {
          "200": {
            "description": "List the candidate registration body records",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_registration_body_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/registration-body": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "post": {
        "tags": [
          "Agency Group Candidate Registration Body"
        ],
        "summary": "Creates an Agency Group Candidate Registration body",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_registration_body_input_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Created agency group candidate registration body will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_registration_body_post_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_registration_body_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency Group Candidate Registration Body"
        ],
        "summary": "List the agency group candidate registration body records",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/registration_body_position_types_filter"
          },
          {
            "$ref": "#/parameters/registration_body_country_code_filter"
          },
          {
            "$ref": "#/parameters/candidate_registration_body_sort_param"
          }
        ],
        "responses": {
          "200": {
            "description": "List the agency group candidate registration body records",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_registration_body_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/registration-body": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Registration Body"
        ],
        "summary": "List the agency candidate registration body records",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/registration_body_position_types_filter"
          },
          {
            "$ref": "#/parameters/registration_body_country_code_filter"
          },
          {
            "$ref": "#/parameters/candidate_registration_body_sort_param"
          }
        ],
        "responses": {
          "200": {
            "description": "List the agency candidate registration body records",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_registration_body_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/registration-body/{registration_body_id}/status": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/registration_body_id"
        }
      ],
      "post": {
        "x-proxy-route": "/registration-body/{registration_body_id}/status",
        "tags": [
          "System Registration Body Status"
        ],
        "summary": "Creates a system registration body status",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/registration_body_status_input_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "System registration body status that was created",
            "schema": {
              "$ref": "#/definitions/registration_body_status_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/registration_body_entry_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "x-proxy-route": "/registration-body/{registration_body_id}/status",
        "tags": [
          "System Registration Body Status"
        ],
        "summary": "List all the system registration body statuses",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/name_filter"
          },
          {
            "$ref": "#/parameters/registration_body_status_sort_param"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all the system registration body statuses will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/registration_body_status_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/registration-body/{registration_body_id}/status/{status_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/registration_body_id"
        },
        {
          "$ref": "#/parameters/status_id"
        }
      ],
      "put": {
        "x-proxy-route": "/registration-body/{registration_body_id}/status/{status_id}",
        "tags": [
          "System Registration Body Status"
        ],
        "summary": "Updates a system registration body status",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/registration_body_status_input_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "System registration body status that was updated",
            "schema": {
              "$ref": "#/definitions/registration_body_status_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/registration_body_entry_status_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "x-proxy-route": "/registration-body/{registration_body_id}/status/{status_id}",
        "tags": [
          "System Registration Body Status"
        ],
        "summary": "Retrieves a specific system registration body status",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "registration_body",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Retrieves specific system registration body status",
            "schema": {
              "$ref": "#/definitions/registration_body_status_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/registration-body/{candidate_registration_body_id}/entry": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/candidate_registration_body_id"
        }
      ],
      "post": {
        "tags": [
          "Agency Group Candidate Registration Body Entry"
        ],
        "summary": "Creates an Agency Group Candidate Registration body entry",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/agency_group_candidate_registration_body_entry_input_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Created agency group candidate registration body entry will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_registration_body_entry_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_registration_body_entry_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/employment-dismissals": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "post": {
        "tags": [
          "Candidate Employment Dismissals"
        ],
        "summary": "Creates a candidate employment dismissal",
        "security": [
          {
            "staffshift": [],
            "candidateSettings": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_employment_dismissal",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_history_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_employment_dismissal_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Created candidate employment dismissal will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_employment_dismissal_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_employment_dismissal_post_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Candidate Employment Dismissals"
        ],
        "summary": "Retrieves a list of all employment dismissals for a specific candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_employment_dismissal",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all employment dismissals for a specific candidate will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_employment_dismissal_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or query params",
            "schema": {
              "$ref": "#/definitions/get_list_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/employment-dismissals/{candidate_dismissal_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/candidate_dismissal_id"
        }
      ],
      "delete": {
        "tags": [
          "Candidate Employment Dismissals"
        ],
        "summary": "Removes the specific candidate employment dismissal",
        "security": [
          {
            "staffshift": [],
            "candidateSettings": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_employment_dismissal",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_history_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate Employment Dismissal that was deleted",
            "schema": {
              "$ref": "#/definitions/candidate_employment_dismissal_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/delete_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Candidate Employment Dismissals"
        ],
        "summary": "Retrieve the specific candidate employment dismissal",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_employment_dismissal",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific Candidate Employment Dismissal will be return",
            "schema": {
              "$ref": "#/definitions/candidate_employment_dismissal_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Candidate Employment Dismissals"
        ],
        "summary": "Updates a specific candidate employment dismissal",
        "security": [
          {
            "staffshift": [],
            "candidateSettings": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_employment_dismissal",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_history_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_employment_dismissal_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Updated candidate employment dismissal will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_employment_dismissal_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_employment_dismissal_post_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/employment-dismissals": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "post": {
        "tags": [
          "Agency Group Candidate Employment Dismissals"
        ],
        "summary": "Creates an agency group candidate employment dismissal",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_employment_dismissal",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_history_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_employment_dismissal_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Created agency group candidate employment dismissal will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_employment_dismissal_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_employment_dismissal_post_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency Group Candidate Employment Dismissals"
        ],
        "summary": "Retrieves a list of all employment dismissals for a specific agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_employment_dismissal",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all employment dismissals for a specific agency group candidate will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_employment_dismissal_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or query params",
            "schema": {
              "$ref": "#/definitions/get_list_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/employment-dismissals": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Employment Dismissals"
        ],
        "summary": "Retrieves a list of all employment dismissals for a specific agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_employment_dismissal",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all employment dismissal for a specific agency candidate will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_employment_dismissal_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or query params",
            "schema": {
              "$ref": "#/definitions/get_list_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/employment-dismissals/{candidate_dismissal_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/candidate_dismissal_id"
        }
      ],
      "delete": {
        "tags": [
          "Agency Group Candidate Employment Dismissals"
        ],
        "summary": "Removes the specific agency group candidate employment dismissal",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_employment_dismissal",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_history_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Agency Group Candidate Employment Dismissal that was deleted",
            "schema": {
              "$ref": "#/definitions/candidate_employment_dismissal_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/delete_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency Group Candidate Employment Dismissals"
        ],
        "summary": "Retrieve the specific agency group candidate employment dismissal",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_employment_dismissal",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific Agency Group Candidate Employment Dismissal will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_employment_dismissal_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Group Candidate Employment Dismissals"
        ],
        "summary": "Updates a specific agency group candidate employment dismissal",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "candidateSettings": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_employment_dismissal",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-candidate-settings-security": {
          "path_candidate_id": "candidate_id",
          "setting_name": "employment_history_editable"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/candidate_employment_dismissal_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "Updated agency group candidate employment dismissal will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_employment_dismissal_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/candidate_employment_dismissal_post_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/employment-dismissals/{candidate_dismissal_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/candidate_dismissal_id"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Employment Dismissals"
        ],
        "summary": "Retrieve the specific agency candidate employment dismissal",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_employment_dismissal",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific Agency Candidate Employment Dismissal will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_employment_dismissal_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/conversation/{conversation_id}/status-change": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/conversation_id"
        }
      ],
      "post": {
        "tags": [
          "Chat"
        ],
        "summary": "Update conversation status",
        "description": "This updates the conversation status",
        "x-proxy-route": "/conversations/{conversation_id}/status-change",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "conversation_status_change",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "conversation_status_change",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/conversation_status_change_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The response after the status has been changed of a conversation",
            "schema": {
              "$ref": "#/definitions/conversation_get_param_response_def"
            }
          },
          "304": {
            "$ref": "#/responses/not_modified"
          },
          "400": {
            "$ref": "#/responses/conversation_status_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "409": {
            "$ref": "#/responses/conflict_error_model"
          },
          "412": {
            "$ref": "#/responses/status_not_open_pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/token/chatterbox": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "tags": [
          "Chat"
        ],
        "summary": "Creates a chatterbox token",
        "description": "Creates a token used in the chatterbox",
        "x-proxy-route": "/token/chatterbox",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "chat_chatterbox",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_chatterbox",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "Candidate",
            "ignore_context_id_validation": true,
            "operation": {
              "name": "chat_chatterbox",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/chatterbox_token_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The created chatterbox tokens",
            "schema": {
              "$ref": "#/definitions/chatterbox_token_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/chatterbox_tokens_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/token/inbox": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "tags": [
          "Chat"
        ],
        "summary": "Create a token to be used for inbox",
        "description": "Create a token to be used for inbox",
        "x-proxy-route": "/token/inbox",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "chat_inbox",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_inbox",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/inbox_token_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The created inbox token to be return",
            "schema": {
              "$ref": "#/definitions/inbox_token_response"
            }
          },
          "400": {
            "description": "Usually caused by invalid input",
            "schema": {
              "$ref": "#/definitions/inbox_token_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/sync/map/{map_id}/items": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/map_id"
        }
      ],
      "get": {
        "tags": [
          "Chat"
        ],
        "summary": "Gets all of the items in a sync map",
        "description": "Get list of items in sync map",
        "x-proxy-route": "/sync/map/{map_id}/items",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin",
            "operation": {
              "name": "chat_admin",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The sync map items",
            "headers": {
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "$ref": "#/definitions/sync_map_items"
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/sync_map_item_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/sync/map": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Chat"
        ],
        "summary": "Retrieves a list of sync maps",
        "description": "Get list of sync maps",
        "x-proxy-route": "/sync/maps",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "systemadmin",
            "operation": {
              "name": "chat_admin",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of sync maps will be returned",
            "headers": {
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/sync_map_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or query params",
            "schema": {
              "$ref": "#/definitions/get_list_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/config/online-user-map": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        }
      ],
      "get": {
        "tags": [
          "Chat"
        ],
        "summary": "Retrieves online user map configuration identified by the combination of resource id and resource type in the jwt context",
        "x-proxy-route": "/config/online-user-map",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "chat_config",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_config",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ],
        "responses": {
          "200": {
            "description": "The online user map configuration will be returned",
            "schema": {
              "$ref": "#/definitions/online_user_map_config_response"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Chat"
        ],
        "summary": "Upserts online user map configuration",
        "x-proxy-route": "/config/online-user-map",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "chat_config",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_config",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/online_user_map_config"
          }
        ],
        "responses": {
          "200": {
            "description": "The created online user map configuration will be returned",
            "schema": {
              "$ref": "#/definitions/online_user_map_config_response"
            }
          },
          "400": {
            "description": "Usually caused by invalid input",
            "schema": {
              "$ref": "#/definitions/update_online_map_config_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "409": {
            "$ref": "#/responses/conflict_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/config/conversation": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        }
      ],
      "get": {
        "tags": [
          "Chat"
        ],
        "summary": "Retrieves conversation configuration identified by the combination of resource id and resource type in the jwt context",
        "x-proxy-route": "/config/conversation",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "chat_config",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_config",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ],
        "responses": {
          "200": {
            "description": "The conversation config will be returned",
            "schema": {
              "$ref": "#/definitions/conversation_config_response"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Chat"
        ],
        "summary": "Upserts conversation configuration",
        "x-proxy-route": "/config/conversation",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "chat_config",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_config",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/conversation_config"
          }
        ],
        "responses": {
          "200": {
            "description": "The conversation configuration will be returned",
            "schema": {
              "$ref": "#/definitions/conversation_config_response"
            }
          },
          "400": {
            "description": "Usually caused by invalid input",
            "schema": {
              "$ref": "#/definitions/update_conversation_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "409": {
            "$ref": "#/responses/conflict_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/conversation": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/context"
        }
      ],
      "post": {
        "summary": "Creates the conversation and adds the relevant members",
        "tags": [
          "Chat"
        ],
        "x-proxy-route": "/conversations",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "create"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "create"
              ]
            }
          },
          {
            "context": "Candidate",
            "ignore_context_id_validation": true,
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "create"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/conversation_create_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Details about the conversation that was created",
            "schema": {
              "$ref": "#/definitions/conversation_create_body_param_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/conversation_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "412": {
            "$ref": "#/responses/conversation_creation_pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/conversation/{conversation_id}/member": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/conversation_id"
        }
      ],
      "post": {
        "summary": "Add a member to a conversation",
        "tags": [
          "Chat"
        ],
        "x-proxy-route": "/conversations/{conversation_id}/members",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "chat_conversation_member",
              "permission": [
                "create"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_conversation_member",
              "permission": [
                "create"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/conversation_member_create_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The response after a member has been added to a conversation",
            "schema": {
              "$ref": "#/definitions/conversation_member_create_body_param_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/conversation_member_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "409": {
            "$ref": "#/responses/conflict_error_model"
          },
          "412": {
            "$ref": "#/responses/status_not_open_pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/conversation/{conversation_id}/owner": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/conversation_id"
        }
      ],
      "put": {
        "tags": [
          "Chat"
        ],
        "summary": "Updates the owner of the specific conversation",
        "x-proxy-route": "/conversations/{conversation_id}/owner",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "conversation_ownership",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "conversation_ownership",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/conversation_owner_change_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated owner of conversation will be returned",
            "schema": {
              "$ref": "#/definitions/conversation_get_param_response_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid input",
            "schema": {
              "$ref": "#/definitions/conversation_owner_change_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "405": {
            "$ref": "#/responses/method_not_supported"
          },
          "412": {
            "$ref": "#/responses/status_not_open_pre_condition_fail_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/user/{user_id}/client-conversations": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/user_id"
        }
      ],
      "get": {
        "tags": [
          "Chat"
        ],
        "summary": "List client conversations of a user",
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/conversation_status_filter"
          },
          {
            "$ref": "#/parameters/conversation_type_filter"
          },
          {
            "$ref": "#/parameters/conversation_sort"
          }
        ],
        "x-proxy-route": "/user/{user_id}/client-conversations",
        "security": [
          {
            "staffshiftUser": []
          }
        ],
        "x-staffshift-user-security": [
          {
            "context": "Candidate",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "Agency",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "SystemAdmin",
            "path_user_id_validation": "user_id"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of user client conversations",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/conversation_get_param_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/user/{user_id}/client-conversations/{conversation_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/user_id"
        },
        {
          "$ref": "#/parameters/conversation_id"
        }
      ],
      "get": {
        "tags": [
          "Chat"
        ],
        "summary": "Gets the specific conversation of a user",
        "x-proxy-route": "/user/{user_id}/client-conversations/{conversation_id}",
        "security": [
          {
            "staffshiftUser": []
          }
        ],
        "x-staffshift-user-security": [
          {
            "context": "Candidate",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "Agency",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "SystemAdmin",
            "path_user_id_validation": "user_id"
          }
        ],
        "responses": {
          "200": {
            "description": "Specific user conversation will be returned",
            "schema": {
              "$ref": "#/definitions/get_augmented_conversation_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/client_conversation_get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/candidate/{candidate_id}/conversations": {
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Candidate Conversation"
        ],
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "chatster",
        "x-proxy-route": "/candidate/{candidate_id}/conversations",
        "summary": "List of all conversations for a specific candidate will be returned",
        "security": [
          {
            "staffshift": [],
            "candidateLinkToAgencyAgencyGroup": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "Agency",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-candidateLinkToAgencyAgencyGroup-security": {
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/conversation_type_filter"
          },
          {
            "$ref": "#/parameters/conversation_status_filter"
          },
          {
            "$ref": "#/parameters/conversation_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all conversations for a specific candidate will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/conversation_get_param_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/chat/candidate/{candidate_id}/conversation/{conversation_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/conversation_id"
        }
      ],
      "get": {
        "tags": [
          "Candidate Conversation"
        ],
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "chatster",
        "x-proxy-route": "/candidates/{candidate_id}/conversations/{conversation_id}",
        "summary": "Gets the specific candidate conversation",
        "security": [
          {
            "staffshift": [],
            "candidateLinkToAgencyAgencyGroup": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "Agency",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-candidateLinkToAgencyAgencyGroup-security": {
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "description": "Specific candidate conversation will be returned",
            "schema": {
              "$ref": "#/definitions/get_augmented_conversation_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/plugin-setting": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-plugin",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "x-proxy-route": "/plugin-setting",
        "tags": [
          "Plugin Setting"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/plugin_setting_request_body"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "plugin_setting",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "summary": "Creates a plugin setting",
        "description": "Creates a setting for the plugin that will be applied to resource",
        "responses": {
          "200": {
            "description": "Success response that the plugin setting has been created",
            "schema": {
              "$ref": "#/definitions/plugin_setting_response"
            }
          },
          "400": {
            "description": "Validation error on post",
            "schema": {
              "$ref": "#/definitions/plugin_settings_validation"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "405": {
            "$ref": "#/responses/method_not_supported"
          },
          "406": {
            "$ref": "#/responses/client_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/plugin-setting": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-plugin",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "x-proxy-route": "/plugin-setting",
        "tags": [
          "Plugin Setting"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/plugin_setting_request_body"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "plugin_setting",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "summary": "Creates a plugin setting",
        "description": "Creates a setting for the plugin that will be applied to a resource",
        "responses": {
          "200": {
            "description": "Success response that the plugin setting has been created",
            "schema": {
              "$ref": "#/definitions/plugin_setting_response"
            }
          },
          "400": {
            "description": "Validation error on post",
            "schema": {
              "$ref": "#/definitions/plugin_settings_validation"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "405": {
            "$ref": "#/responses/method_not_supported"
          },
          "406": {
            "$ref": "#/responses/client_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/activity-type": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-activities",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/context_activity_type_sort_by_query"
          },
          {
            "$ref": "#/parameters/activity_type_name_filter"
          },
          {
            "$ref": "#/parameters/activity_type_code_filter"
          },
          {
            "$ref": "#/parameters/activity_type_context_filter"
          },
          {
            "$ref": "#/parameters/activity_type_disabled_filter"
          },
          {
            "$ref": "#/parameters/activity_type_subject_type_filter"
          }
        ],
        "tags": [
          "System Activity Type"
        ],
        "x-proxy-route": "/activity-type",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "summary": "Get a list of activity type",
        "description": "Retrieve a list of activity type",
        "responses": {
          "200": {
            "description": "The system activity types will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/advanced_search_activity_types_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "System Activity Type"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/system_activity_type_body_param"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "summary": "Create activity type for any allowed context",
        "description": "Create activity type for any allowed context",
        "responses": {
          "201": {
            "description": "Created activity type",
            "schema": {
              "$ref": "#/definitions/advanced_search_activity_types_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/system_activity_type_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/system/activity-type/{activity_type_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-activities",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/activity_type_id"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "System Activity Type"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "summary": "Get the specified activity type",
        "description": "Retrieve a activity type",
        "responses": {
          "200": {
            "description": "The activity type of a given activity id will be returned",
            "schema": {
              "$ref": "#/definitions/advanced_search_activity_types_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "System Activity Type"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/system_activity_type_body_param"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "summary": "Upserts an activity type for given activity type id",
        "description": "Upserts an activity type",
        "responses": {
          "200": {
            "description": "Upserted activity type will be returned",
            "schema": {
              "$ref": "#/definitions/advanced_search_activity_types_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/system_activity_type_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/position-held": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "get": {
        "tags": [
          "Agency Group Candidate Employment Position Held"
        ],
        "summary": "Retrieves a list of employment position held for a specific agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_position_held",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/job_family_id_filter"
          },
          {
            "$ref": "#/parameters/job_title_id_filter"
          },
          {
            "$ref": "#/parameters/status_filter"
          },
          {
            "$ref": "#/parameters/work_suggestion_status_filter"
          },
          {
            "$ref": "#/parameters/employment_position_held_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "List of employment position held for a specific agency group candidate will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/employment_position_held_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or query params",
            "schema": {
              "$ref": "#/definitions/get_list_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/position-held": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "get": {
        "tags": [
          "Agency Candidate Employment Position Held"
        ],
        "summary": "Retrieves a list of employment position held for a specific agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_position_held",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/job_family_id_filter"
          },
          {
            "$ref": "#/parameters/job_title_id_filter"
          },
          {
            "$ref": "#/parameters/status_filter"
          },
          {
            "$ref": "#/parameters/work_suggestion_status_filter"
          },
          {
            "$ref": "#/parameters/employment_position_held_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "List of employment position held for a specific agency candidate will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/employment_position_held_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or query params",
            "schema": {
              "$ref": "#/definitions/get_list_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/ip-whitelist-all-access-user": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-permissions",
      "post": {
        "tags": [
          "Agency ip whitelist all access user"
        ],
        "summary": "Create the agency ip whitelist all access user",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/all_access_user_post_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The created agency ip-whitelist all access user record will be return",
            "schema": {
              "$ref": "#/definitions/all_access_user_response_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/agency_all_access_user_post_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "409": {
            "$ref": "#/responses/conflict_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency ip whitelist all access user"
        ],
        "summary": "List the agency ip whitelist all access user",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/user_id_filter"
          },
          {
            "$ref": "#/parameters/all_access_user_sort_params"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of ip whitelist all access user for specific agency",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/all_access_user_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/ip-whitelist-all-access-user/{user_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/ip_whitelist_user_id"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-permissions",
      "delete": {
        "tags": [
          "Agency ip whitelist all access user"
        ],
        "summary": "Remove the specific whitelist ip all access user record for specific agency",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The specific agency ip-whitelist all access user record will be return",
            "schema": {
              "$ref": "#/definitions/all_access_user_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/delete_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/ip-whitelist-all-access-user": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-permissions",
      "post": {
        "tags": [
          "Agency group ip whitelist all access user"
        ],
        "summary": "Create the agency group ip whitelist all access user",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/all_access_user_post_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The created agency group ip-whitelist all access user record will be return",
            "schema": {
              "$ref": "#/definitions/all_access_user_response_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/agency_group_all_access_user_post_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "409": {
            "$ref": "#/responses/conflict_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency group ip whitelist all access user"
        ],
        "summary": "List the agency group ip whitelist all access user",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/user_id_filter"
          },
          {
            "$ref": "#/parameters/all_access_user_sort_params"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of ip whitelist all access user for specific agency group",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/all_access_user_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/ip-whitelist-all-access-user/{user_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/ip_whitelist_user_id"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-permissions",
      "delete": {
        "tags": [
          "Agency group ip whitelist all access user"
        ],
        "summary": "Remove the specific whitelist ip all access user record for specific agency group",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The specific agency group ip-whitelist all access user record will be return",
            "schema": {
              "$ref": "#/definitions/all_access_user_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/delete_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/ip-whitelist": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-permissions",
      "post": {
        "tags": [
          "Agency ip-whitelist"
        ],
        "summary": "Add whitelist ip address for an agency",
        "parameters": [
          {
            "$ref": "#/parameters/ip_whitelist_body_param"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "The created agency ip-whitelist record will be return",
            "schema": {
              "$ref": "#/definitions/ip_whitelist_response_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/whitelist_ip_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "409": {
            "$ref": "#/responses/conflict_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency ip-whitelist"
        ],
        "summary": "List the whitelist ip address for an agency",
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/filter_whitelist_ip"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The list whitelist ip for specific agency",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ip_whitelist_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/ip-whitelist/{ip}": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/ip_address"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-permissions",
      "delete": {
        "tags": [
          "Agency ip-whitelist"
        ],
        "summary": "Deletes a whitelisted ip address for a specific agency",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The deleted agency whitelist ip address",
            "schema": {
              "$ref": "#/definitions/ip_whitelist_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/delete_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency ip-whitelist"
        ],
        "summary": "Update a whitelist ip address for an agency",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/ip_whitelist_body_param_for_put"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated agency whitelist ip address",
            "schema": {
              "$ref": "#/definitions/ip_whitelist_response_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/whitelist_ip_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/ip-whitelist": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-permissions",
      "post": {
        "tags": [
          "Agency group ip-whitelist"
        ],
        "summary": "Add whitelist ip address for an agency group",
        "parameters": [
          {
            "$ref": "#/parameters/ip_whitelist_body_param"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "201": {
            "description": "The created agency group ip-whitelist record will be return",
            "schema": {
              "$ref": "#/definitions/ip_whitelist_response_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/whitelist_ip_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "409": {
            "$ref": "#/responses/conflict_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "Agency group ip-whitelist"
        ],
        "summary": "List the whitelist ip address for an agency group",
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/filter_whitelist_ip"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The list of whitelist ip for specific agency group",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ip_whitelist_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/ip-whitelist/{ip}": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/ip_address"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-permissions",
      "delete": {
        "tags": [
          "Agency group ip-whitelist"
        ],
        "summary": "Deletes a whitelisted ip address for a specific agency group",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The deleted agency group ip address",
            "schema": {
              "$ref": "#/definitions/ip_whitelist_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/delete_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency group ip-whitelist"
        ],
        "summary": "Update a whitelist ip address for an agency group",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "ip_whitelisting",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/ip_whitelist_body_param_for_put"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated agency group whitelist ip address",
            "schema": {
              "$ref": "#/definitions/ip_whitelist_response_def"
            }
          },
          "400": {
            "description": "Usually caused by invalid user input",
            "schema": {
              "$ref": "#/definitions/whitelist_ip_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/user": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-bypass-ip-security-check": true,
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/sFirstName_query_string"
          },
          {
            "$ref": "#/parameters/single_mongo_id_query_string"
          },
          {
            "$ref": "#/parameters/sLastName_query_string"
          },
          {
            "$ref": "#/parameters/sEmailAddress_query_string"
          },
          {
            "$ref": "#/parameters/dtCreated_query_string"
          },
          {
            "$ref": "#/parameters/dtCreated_from_query_string"
          },
          {
            "$ref": "#/parameters/dtCreated_to_query_string"
          },
          {
            "$ref": "#/parameters/dtModified_query_string"
          },
          {
            "$ref": "#/parameters/dtModified_from_query_string"
          },
          {
            "$ref": "#/parameters/dtModified_to_query_string"
          },
          {
            "$ref": "#/parameters/sStatus_query_string"
          },
          {
            "$ref": "#/parameters/sUsername_query_string"
          },
          {
            "$ref": "#/parameters/dDateOfBirth_query_string"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/users_sort_by_query_string"
          },
          {
            "$ref": "#/parameters/sAgencyUserStatus_query_string"
          },
          {
            "$ref": "#/parameters/q_query_string"
          }
        ],
        "responses": {
          "200": {
            "description": "Agency users listing",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_users_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Invalid path params / values for the header of the request",
            "schema": {
              "$ref": "#/definitions/users_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "x-response-transformation": {
          "200": {
            "transformer": "AgencyUserRetrievalTransformer"
          }
        },
        "tags": [
          "Agency Users"
        ],
        "summary": "Listing of agency users"
      },
      "post": {
        "x-bypass-ip-security-check": true,
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "agency_user",
            "in": "body",
            "description": "Object that contains agency user to create",
            "required": true,
            "schema": {
              "$ref": "#/definitions/user_create"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Return the created agency user",
            "schema": {
              "$ref": "#/definitions/user_return"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameters.",
            "schema": {
              "$ref": "#/definitions/user_validation_errors"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Users"
        ],
        "summary": "Creation of agency user"
      }
    },
    "/social-link-types": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "tags": [
          "SocialLinkType"
        ],
        "summary": "Creates a new Social link type",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/social_link_type_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "The created social link type",
            "schema": {
              "$ref": "#/definitions/social_link_type_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_type_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "SocialLinkType"
        ],
        "summary": "Get a list of Social link type",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "social_link_type",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/social_link_disabled_filter"
          },
          {
            "$ref": "#/parameters/social_link_type_sort"
          },
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/name_filter"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of social link type",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/social_link_type_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/social-link-types/{type_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/type_id"
        }
      ],
      "get": {
        "tags": [
          "SocialLinkType"
        ],
        "summary": "Retrieves a specific Social link type",
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "social_link_type",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The social link type record",
            "schema": {
              "$ref": "#/definitions/social_link_type_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "SocialLinkType"
        ],
        "summary": "Updates a specific Social link type",
        "parameters": [
          {
            "$ref": "#/parameters/put_social_link_type_body_param"
          }
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The updated social link type",
            "schema": {
              "$ref": "#/definitions/social_link_type_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_type_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/social-links": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/social_link_type_filter"
          },
          {
            "$ref": "#/parameters/social_link_sort"
          }
        ],
        "tags": [
          "Agency Group Candidate Social Link"
        ],
        "summary": "Retrieves all social links for the agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_social_link",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All social links for an agency group candidate will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_social_link_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Agency Group Candidate Social Link"
        ],
        "summary": "Creates a social link for the agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_social_link",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/social_link_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Agency Group Candidate social link that was created",
            "schema": {
              "$ref": "#/definitions/agency_group_social_link_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/social-links/{social_link_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/social_link_id"
        }
      ],
      "get": {
        "tags": [
          "Agency Group Candidate Social Link"
        ],
        "summary": "Gets the specified social links for the agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_social_link",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The social links for an agency group candidate will be returned",
            "schema": {
              "$ref": "#/definitions/agency_group_social_link_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Group Candidate Social Link"
        ],
        "summary": "Update the specific social link for the agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_social_link",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/social_link_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated agency group candidate social link",
            "schema": {
              "$ref": "#/definitions/agency_group_social_link_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Group Candidate Social Link"
        ],
        "summary": "Delete the specific social link for the agency group candidate",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_social_link",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Agency Group Candidate social link that was deleted",
            "schema": {
              "$ref": "#/definitions/agency_group_social_link_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/social-links": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/social_link_type_filter"
          },
          {
            "$ref": "#/parameters/social_link_sort"
          }
        ],
        "tags": [
          "Agency Candidate Social Link"
        ],
        "summary": "Retrieves all social links for the agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_social_link",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All social links for an agency candidate will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_social_link_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Agency Candidate Social Link"
        ],
        "summary": "Creates a social link for the agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_social_link",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/social_link_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Agency Candidate social link that was created",
            "schema": {
              "$ref": "#/definitions/agency_social_link_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/social-links/{social_link_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/social_link_id"
        }
      ],
      "get": {
        "tags": [
          "Agency Candidate Social Link"
        ],
        "summary": "Gets the specified social links for the agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_social_link",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The social links for an agency candidate will be returned",
            "schema": {
              "$ref": "#/definitions/agency_social_link_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Agency Candidate Social Link"
        ],
        "summary": "Update the specific social link for the agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_social_link",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/social_link_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated agency candidate social link",
            "schema": {
              "$ref": "#/definitions/agency_social_link_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Candidate Social Link"
        ],
        "summary": "Delete the specific social link for the agency candidate",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_social_link",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Agency Candidate social link that was deleted",
            "schema": {
              "$ref": "#/definitions/agency_social_link_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/social-links": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/social_link_type_filter"
          },
          {
            "$ref": "#/parameters/social_link_sort"
          }
        ],
        "tags": [
          "Candidate Social Link"
        ],
        "summary": "Retrieves all social links for the candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_social_link",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All social links for a candidate will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_social_link_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_list_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "post": {
        "tags": [
          "Candidate Social Link"
        ],
        "summary": "Creates a social link for the candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_social_link",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/social_link_body_param"
          }
        ],
        "responses": {
          "201": {
            "description": "Candidate social link that was created",
            "schema": {
              "$ref": "#/definitions/candidate_social_link_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/social-links/{social_link_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/social_link_id"
        }
      ],
      "get": {
        "tags": [
          "Candidate Social Link"
        ],
        "summary": "Gets the specified social links for the candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_social_link",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The social links for a candidate will be returned",
            "schema": {
              "$ref": "#/definitions/candidate_social_link_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "put": {
        "tags": [
          "Candidate Social Link"
        ],
        "summary": "Update the specific social link for the candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_social_link",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/social_link_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated candidate social link",
            "schema": {
              "$ref": "#/definitions/candidate_social_link_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Candidate Social Link"
        ],
        "summary": "Delete the specific social link for the candidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_social_link",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Candidate social link that was deleted",
            "schema": {
              "$ref": "#/definitions/candidate_social_link_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/social_link_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/activity/{activity_id}/conversation/{conversation_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/activity_id"
        },
        {
          "$ref": "#/parameters/conversation_id"
        }
      ],
      "x-swagger-router-controller": "AgencyCandidateActivityConversation",
      "get": {
        "tags": [
          "Agency Candidate Activity Conversation"
        ],
        "summary": "Retrieve the specific agency candidate activity conversation",
        "operationId": "getAgencyCandidateActivityConversation",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "activity_conversation",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific agency candidate conversation will be returned",
            "schema": {
              "$ref": "#/definitions/get_augmented_conversation_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "description": "Conversation permission denied",
            "schema": {
              "$ref": "#/definitions/conversation_permission_denied_error_model"
            }
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "x-bypass-ip-security-check": true
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/activity/{activity_id}/conversation/{conversation_id}": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/activity_id"
        },
        {
          "$ref": "#/parameters/conversation_id"
        }
      ],
      "x-swagger-router-controller": "AgencyGroupCandidateActivityConversation",
      "get": {
        "tags": [
          "Agency Group Candidate Activity Conversation"
        ],
        "summary": "Retrieve the specific agency group candidate activity conversation",
        "operationId": "getAgencyGroupCandidateActivityConversation",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "activity_conversation",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific agency group candidate conversation will be returned",
            "schema": {
              "$ref": "#/definitions/get_augmented_conversation_response_def"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "description": "Conversation permission denied",
            "schema": {
              "$ref": "#/definitions/conversation_permission_denied_error_model"
            }
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "x-bypass-ip-security-check": true
      }
    },
    "/user/avatar": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-user-service",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/avatar_user_id_filter"
          }
        ],
        "tags": [
          "User Avatar"
        ],
        "summary": "Get a list of user avatar records",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "ignore_context_id_validation": true,
            "operation": {
              "name": "user_avatar",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The list of user avatar",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/user_avatar_response"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/user_avatar_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/user/{user_id}/avatar": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-user-service",
      "parameters": [
        {
          "$ref": "#/parameters/user_avatar_user_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "put": {
        "tags": [
          "User Avatar"
        ],
        "summary": "Upsert a avatar for the specific user",
        "security": [
          {
            "staffshiftUser": []
          }
        ],
        "x-staffshift-user-security": [
          {
            "context": "Candidate",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "user_avatar",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/user_avatar_body_param"
          }
        ],
        "responses": {
          "200": {
            "description": "User avatar record will be returned",
            "schema": {
              "$ref": "#/definitions/user_avatar_response_def"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/user_avatar_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "get": {
        "tags": [
          "User Avatar"
        ],
        "summary": "Retrieves a specific user avatar record",
        "security": [
          {
            "staffshiftUser": []
          }
        ],
        "x-staffshift-user-security": [
          {
            "context": "Candidate",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "user_avatar",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The user avatar record will be return",
            "schema": {
              "$ref": "#/definitions/user_avatar_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/user_avatar_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "User Avatar"
        ],
        "summary": "Delete the specific user avatar record",
        "security": [
          {
            "staffshiftUser": []
          }
        ],
        "x-staffshift-user-security": [
          {
            "context": "Candidate",
            "path_user_id_validation": "user_id",
            "operation": {
              "name": "user_avatar",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "User avatar record that was deleted",
            "schema": {
              "$ref": "#/definitions/user_avatar_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/user_avatar_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/user/avatar": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-user-service",
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/avatar_user_id_filter"
          }
        ],
        "tags": [
          "Agency User Avatar"
        ],
        "x-proxy-route": "/user/avatar",
        "summary": "The list of agency user avatar",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "user_avatar",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The list of agency user avatar",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/user_avatar_response"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/user_avatar_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/user/{user_id}/avatar": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/user_avatar_user_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency User Avatar"
        ],
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "ss-user-service",
        "x-proxy-route": "/user/{user_id}/avatar",
        "summary": "Get specific agency user avatar",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "user_avatar",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The user avatar record return for specific agency",
            "schema": {
              "$ref": "#/definitions/user_avatar_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/user_avatar_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency User Avatar"
        ],
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "ss-user-service",
        "x-proxy-route": "/user/{user_id}/avatar",
        "summary": "Delete specific agency user avatar",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "user_avatar",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The deleted user avatar record for specific agency",
            "schema": {
              "$ref": "#/definitions/user_avatar_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/user_avatar_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/user/avatar": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-user-service",
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/avatar_user_id_filter"
          }
        ],
        "tags": [
          "Agency Group User Avatar"
        ],
        "x-proxy-route": "/user/avatar",
        "summary": "Retrieves all the agency group user avatar",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "user_avatar",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The list of agency group user avatar",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/user_avatar_response"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/user_avatar_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/user/{user_id}/avatar": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/user_avatar_user_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "tags": [
          "Agency Group User Avatar"
        ],
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "ss-user-service",
        "x-proxy-route": "/user/{user_id}/avatar",
        "summary": "Get specific user avatar for the agency group",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "user_avatar",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The user avatar record return for specific agency group",
            "schema": {
              "$ref": "#/definitions/user_avatar_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/user_avatar_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Group User Avatar"
        ],
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "ss-user-service",
        "x-proxy-route": "/user/{user_id}/avatar",
        "summary": "Delete specific agency group user avatar",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "user_avatar",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The deleted user avatar record for specific agency group",
            "schema": {
              "$ref": "#/definitions/user_avatar_response"
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/user_avatar_get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/resource_not_found"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/organisation": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-bypass-ip-security-check": true,
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/sOrganisationName_filter"
          },
          {
            "$ref": "#/parameters/organisation_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "Agency organisation listing",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_organisation_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Agency Organisation"
        ],
        "summary": "Listing of agency organisation"
      }
    },
    "/agency/{agency_id}/contract": {
      "x-swagger-router-controller": "TriageProxy",
      "x-proxy-config": "triage",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/iso_format"
        },
        {
          "$ref": "#/parameters/triage_accept"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "x-proxy-route": "/contract",
        "x-bypass-ip-security-check": true,
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/name_query_filter"
          },
          {
            "$ref": "#/parameters/standard_filter"
          },
          {
            "$ref": "#/parameters/breakdownTimeRateAllocationType_filter"
          },
          {
            "$ref": "#/parameters/contract_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "Agency contract listing",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_contract_return"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "x-response-transformation": {
          "200": {
            "transformer": "AgencyContractRetrievalTransformer"
          }
        },
        "tags": [
          "Agency Contract"
        ],
        "summary": "Listing of agency contract"
      }
    },
    "/agency-group/{agency_group_id}/agency-user": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The agency group id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "StaffshiftFacadeProxy",
      "x-proxy-config": "a24-staffshift-facade",
      "get": {
        "tags": [
          "Agency User"
        ],
        "summary": "Get a list of users that are linked(with a status of enabled) to any of the agencies for the given agency group",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of documents to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of documents per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "active_agency_users",
            "in": "query",
            "description": "Show only active agency users. If false, then inactive users will be returned",
            "type": "boolean",
            "required": false
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "The field to sort by together with sorting order example `first_name`, `-first_name`",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "_id",
                "-_id",
                "first_name",
                "-first_name",
                "last_name",
                "-last_name"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of agency group agency users",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "_id",
                  "first_name",
                  "last_name",
                  "full_name",
                  "user_status"
                ],
                "properties": {
                  "_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "first_name": {
                    "type": "string"
                  },
                  "last_name": {
                    "type": "string"
                  },
                  "full_name": {
                    "type": "string"
                  },
                  "user_status": {
                    "type": "string"
                  },
                  "estimated_inactive_at": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "agencies": {
                    "type": "array",
                    "items": {
                      "required": [
                        "agency_id",
                        "status"
                      ],
                      "properties": {
                        "agency_id": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        },
                        "estimated_added_at": {
                          "type": "string",
                          "format": "date-time"
                        }
                      }
                    }
                  }
                }
              }
            },
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "204": {
            "description": "No entities found that match the query",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation error response when listing context(agency/agency-group) users",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "INVALID_TYPE",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyGroupAgency": [],
            "staffshift": []
          }
        ],
        "x-agencyGroupAgency-security": {
          "path_agency_group_id": "agency_group_id",
          "header_agency_id": "context"
        },
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "agency_user",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_user",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/site/{site_id}/contract-links": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "site_id",
          "in": "path",
          "required": true,
          "description": "The site id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "StaffshiftFacadeProxy",
      "x-proxy-config": "a24-staffshift-facade",
      "get": {
        "tags": [
          "Contract Link"
        ],
        "summary": "Get contract links for a specific site",
        "description": "Retrieve a list of contract links for a specific site (excludes ward-level)",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "No of records per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "sortBy",
            "description": "A comma separated list of fields indicating sort order, a negative sign reverses direction",
            "required": false,
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "contract_name",
                "-contract_name",
                "organisation_name",
                "-organisation_name",
                "site_name",
                "-site_name",
                "ward_name",
                "-ward_name",
                "date_created",
                "-date_created",
                "date_modified",
                "-date_modified",
                "link_status",
                "-link_status",
                "last_job_title_min_end_date",
                "-last_job_title_min_end_date",
                "last_job_title_max_end_date",
                "-last_job_title_max_end_date"
              ]
            }
          },
          {
            "name": "contract_id",
            "in": "query",
            "description": "Filter by contract ID",
            "required": false,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "contract_name",
            "in": "query",
            "description": "Filter by contract name",
            "required": false,
            "type": "string"
          },
          {
            "name": "link_status",
            "in": "query",
            "description": "Filter by link status",
            "required": false,
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          {
            "name": "standard",
            "in": "query",
            "description": "Filter by standard contract flag",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "date_created_from",
            "in": "query",
            "description": "Filter by created date (from)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "date_created_to",
            "in": "query",
            "description": "Filter by created date (to)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "date_modified_from",
            "in": "query",
            "description": "Filter by modified date (from)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "date_modified_to",
            "in": "query",
            "description": "Filter by modified date (to)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "last_job_title_min_end_date_from",
            "in": "query",
            "description": "Filter by min end date (from)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "last_job_title_min_end_date_to",
            "in": "query",
            "description": "Filter by min end date (to)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "last_job_title_max_end_date_from",
            "in": "query",
            "description": "Filter by max end date (from)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "last_job_title_max_end_date_to",
            "in": "query",
            "description": "Filter by max end date (to)",
            "required": false,
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "List of contract links for the site",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "contract_id",
                  "contract_name",
                  "organisation_id",
                  "organisation_name",
                  "site_id",
                  "site_name",
                  "link_status",
                  "date_created",
                  "date_modified"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "contract_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "contract_name": {
                    "type": "string"
                  },
                  "contract_description": {
                    "type": "string"
                  },
                  "organisation_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "organisation_name": {
                    "type": "string"
                  },
                  "site_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "site_name": {
                    "type": "string"
                  },
                  "site_post_code": {
                    "type": "string"
                  },
                  "ward_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "ward_name": {
                    "type": "string"
                  },
                  "link_status": {
                    "type": "string",
                    "enum": [
                      "active",
                      "inactive"
                    ]
                  },
                  "timezone": {
                    "type": "string"
                  },
                  "date_created": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "date_modified": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "standard": {
                    "type": "boolean"
                  },
                  "last_job_title_min_end_date": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "last_job_title_max_end_date": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            },
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "204": {
            "description": "No contract links found that match the query",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "INVALID_TYPE",
                    "REQUIRED",
                    "ARRAY_UNIQUE",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "pathContextValidator": [],
            "staffshift": [],
            "agencyClientLink": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "contract_link",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyClientLink-security": {
          "path_ids": {
            "path_agency_id": "agency_id",
            "path_client_id": "site_id"
          }
        }
      }
    },
    "/agency/{agency_id}/ward/{ward_id}/contract-links": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "ward_id",
          "in": "path",
          "required": true,
          "description": "The ward id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "StaffshiftFacadeProxy",
      "x-proxy-config": "a24-staffshift-facade",
      "get": {
        "tags": [
          "Contract Link"
        ],
        "summary": "Get contract links for a specific ward",
        "description": "Retrieve a list of contract links for a specific ward",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "No of records per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "sortBy",
            "description": "A comma separated list of fields indicating sort order, a negative sign reverses direction",
            "required": false,
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "contract_name",
                "-contract_name",
                "organisation_name",
                "-organisation_name",
                "site_name",
                "-site_name",
                "ward_name",
                "-ward_name",
                "date_created",
                "-date_created",
                "date_modified",
                "-date_modified",
                "link_status",
                "-link_status",
                "last_job_title_min_end_date",
                "-last_job_title_min_end_date",
                "last_job_title_max_end_date",
                "-last_job_title_max_end_date"
              ]
            }
          },
          {
            "name": "contract_id",
            "in": "query",
            "description": "Filter by contract ID",
            "required": false,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "contract_name",
            "in": "query",
            "description": "Filter by contract name",
            "required": false,
            "type": "string"
          },
          {
            "name": "link_status",
            "in": "query",
            "description": "Filter by link status",
            "required": false,
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          {
            "name": "standard",
            "in": "query",
            "description": "Filter by standard contract flag",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "date_created_from",
            "in": "query",
            "description": "Filter by created date (from)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "date_created_to",
            "in": "query",
            "description": "Filter by created date (to)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "date_modified_from",
            "in": "query",
            "description": "Filter by modified date (from)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "date_modified_to",
            "in": "query",
            "description": "Filter by modified date (to)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "last_job_title_min_end_date_from",
            "in": "query",
            "description": "Filter by min end date (from)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "last_job_title_min_end_date_to",
            "in": "query",
            "description": "Filter by min end date (to)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "last_job_title_max_end_date_from",
            "in": "query",
            "description": "Filter by max end date (from)",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "last_job_title_max_end_date_to",
            "in": "query",
            "description": "Filter by max end date (to)",
            "required": false,
            "type": "string",
            "format": "date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "List of contract links for the ward",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "contract_id",
                  "contract_name",
                  "organisation_id",
                  "organisation_name",
                  "site_id",
                  "site_name",
                  "link_status",
                  "date_created",
                  "date_modified"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "contract_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "contract_name": {
                    "type": "string"
                  },
                  "contract_description": {
                    "type": "string"
                  },
                  "organisation_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "organisation_name": {
                    "type": "string"
                  },
                  "site_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "site_name": {
                    "type": "string"
                  },
                  "site_post_code": {
                    "type": "string"
                  },
                  "ward_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "ward_name": {
                    "type": "string"
                  },
                  "link_status": {
                    "type": "string",
                    "enum": [
                      "active",
                      "inactive"
                    ]
                  },
                  "timezone": {
                    "type": "string"
                  },
                  "date_created": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "date_modified": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "standard": {
                    "type": "boolean"
                  },
                  "last_job_title_min_end_date": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "last_job_title_max_end_date": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            },
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "204": {
            "description": "No contract links found that match the query",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "INVALID_TYPE",
                    "REQUIRED",
                    "ARRAY_UNIQUE",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "pathContextValidator": [],
            "staffshift": [],
            "agencyClientLink": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "contract_link",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyClientLink-security": {
          "path_ids": {
            "path_agency_id": "agency_id",
            "path_client_id": "ward_id"
          }
        }
      }
    },
    "/industry": {
      "x-swagger-router-controller": "StaffshiftFacadeProxy",
      "x-proxy-config": "a24-staffshift-facade",
      "get": {
        "tags": [
          "Industry"
        ],
        "summary": "Retrieves a list of industries",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of documents to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of documents per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "_id",
            "in": "query",
            "description": "Filter by specific industry ids(comma separated list of ids)",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "uniqueItems": true
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "The field to sort by together with sorting order. example `_id`, `-_id`",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "_id",
                "-_id",
                "name",
                "-name"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of industries",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "_id",
                  "name"
                ],
                "properties": {
                  "_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "name": {
                    "type": "string"
                  }
                }
              }
            },
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "204": {
            "description": "No entities found that match the query",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "INVALID_TYPE",
                    "REQUIRED",
                    "ARRAY_UNIQUE",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "industry",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/timezone-lookup": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "address_checker",
      "post": {
        "tags": [
          "Timezone Lookup"
        ],
        "description": "Retrieves the timezones based on the address fields",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "timezone_lookup",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "country_name"
              ],
              "properties": {
                "country_name": {
                  "type": "string",
                  "minLength": 1
                },
                "address_line_1": {
                  "type": "string",
                  "minLength": 1
                },
                "address_line_2": {
                  "type": "string",
                  "minLength": 1
                },
                "postal_code": {
                  "type": "string",
                  "minLength": 1
                },
                "city": {
                  "type": "string",
                  "minLength": 1
                },
                "province": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "schema": {
              "type": "object",
              "required": [
                "timezones"
              ],
              "properties": {
                "timezones": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No timezones could be found for the provided address fields"
          },
          "400": {
            "description": "Invalidate request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "INVALID_TYPE",
                          "MIN_LENGTH"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Internal Service Error",
            "schema": {
              "title": "Internal Error",
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "INTERNAL_SERVER_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "welcome",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/settings/compliance-summary": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The agency group id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "put": {
        "tags": [
          "Agency Group Compliance Summary Settings"
        ],
        "description": "Modify agency group compliance summary settings",
        "summary": "Modify agency group compliance summary settings",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "agency_group_compliance_summary_settings",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "days_to_expiry_warning"
              ],
              "properties": {
                "days_to_expiry_warning": {
                  "type": "number",
                  "minimum": 0,
                  "description": "Number of days to indicate the urgency to expiring compliance item"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The modified Agency Group compliance summary settings",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "days_to_expiry_warning"
                  ],
                  "properties": {
                    "days_to_expiry_warning": {
                      "type": "number",
                      "minimum": 0,
                      "description": "Number of days to indicate the urgency to expiring compliance item"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "agency_group_id"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "MINIMUM",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "OBJECT_ADDITIONAL_PROPERTIES"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authorize the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_summary_setting",
              "permission": [
                "update"
              ]
            }
          }
        ]
      },
      "get": {
        "tags": [
          "Agency Group Compliance Summary Settings"
        ],
        "description": "Retrieve Agency Group compliance summary settings",
        "summary": "Retrieve the compliance summary settings for the Agency Group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieve the Agency Group compliance summary",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "days_to_expiry_warning"
                  ],
                  "properties": {
                    "days_to_expiry_warning": {
                      "type": "number",
                      "minimum": 0,
                      "description": "Number of days to indicate the urgency to expiring compliance item"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "agency_group_id"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authorize the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_summary_setting",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "Candidate",
            "ignore_context_id_validation": true,
            "operation": {
              "name": "compliance_summary_setting",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/settings/compliance-summary": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The agency id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "a24-agency-group",
      "get": {
        "tags": [
          "Agency Compliance Summary Settings"
        ],
        "description": "Retrieve Agency compliance summary settings",
        "summary": "Retrieve the compliance summary settings for the Agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieve the Agency compliance summary",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_id",
                    "days_to_expiry_warning"
                  ],
                  "properties": {
                    "agency_id": {
                      "type": "string"
                    },
                    "days_to_expiry_warning": {
                      "type": "number",
                      "minimum": 0,
                      "description": "Number of days to indicate the urgency to expiring compliance item"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authorize the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_summary_setting",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/address-details/{address_details_id}/location": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "address_details_id",
          "in": "path",
          "required": true,
          "description": "The address details entry id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "put": {
        "tags": [
          "Agency Group Candidate Address Details"
        ],
        "summary": "Updates a address detail location for the agency group candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "address_details_location",
            "in": "body",
            "required": false,
            "description": "The candidate address detail location",
            "schema": {
              "description": "address details location item",
              "type": "object",
              "required": [
                "longitude",
                "latitude"
              ],
              "properties": {
                "longitude": {
                  "type": "number",
                  "minimum": -180,
                  "maximum": 180
                },
                "latitude": {
                  "type": "number",
                  "minimum": -90,
                  "maximum": 90
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Agency group candidate address detail item for id will be returned",
            "schema": {
              "allOf": [
                {
                  "description": "address details item",
                  "type": "object",
                  "required": [
                    "type",
                    "address_line1",
                    "country_code",
                    "post_code"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "physical_address",
                        "postal_address",
                        "alternative_address"
                      ]
                    },
                    "address_line1": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "address_line2": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "city": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "province": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 100
                    },
                    "country_code": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 2
                    },
                    "post_code": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "candidate_id",
                    "agency_group_id"
                  ],
                  "properties": {
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "co_ords": {
                      "description": "The geo-location information, co-ordinates",
                      "additionalProperties": false,
                      "type": "object",
                      "properties": {
                        "longitude": {
                          "type": "number",
                          "minimum": -180,
                          "maximum": 180
                        },
                        "latitude": {
                          "type": "number",
                          "minimum": -90,
                          "maximum": 90
                        }
                      }
                    },
                    "geo_location_last_checked_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "geo_location_details": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "manual"
                          ]
                        },
                        "updated_at": {
                          "type": "string",
                          "format": "date-time"
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "REQUIRED",
                        "CONTENT_TYPE_NOT_SUPPORTED",
                        "SCHEMA_VALIDATION_FAILED",
                        "MODEL_VALIDATION_FAILED"
                      ]
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "message",
                              "path"
                            ],
                            "properties": {
                              "message": {
                                "type": "string"
                              },
                              "path": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "description": {
                                "type": "string"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "code"
                            ],
                            "properties": {
                              "code": {
                                "type": "string",
                                "enum": [
                                  "OBJECT_MISSING_REQUIRED_PROPERTY",
                                  "OBJECT_ADDITIONAL_PROPERTIES",
                                  "INVALID_TYPE",
                                  "MINIMUM"
                                ]
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              ]
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_address_details",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/employment-reference-historical": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "post": {
        "tags": [
          "AgencyGroup"
        ],
        "summary": "Adds an Employment Reference for a candidate in an agency group.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "payload",
            "in": "body",
            "required": false,
            "description": "The candidate employment reference object",
            "schema": {
              "type": "object",
              "required": [
                "reference",
                "effective_from"
              ],
              "properties": {
                "reference": {
                  "type": "string",
                  "minLength": 3
                },
                "duplicate_allowed": {
                  "type": "boolean",
                  "description": "if true allow to create a duplicate employment reference"
                },
                "effective_from": {
                  "type": "string",
                  "description": "effective from time in string example: 2020-01-01T09:00:00Z",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Agency Group Candidate employment reference that was created",
            "schema": {
              "allOf": [
                {
                  "description": "employment reference",
                  "type": "object",
                  "required": [
                    "reference",
                    "effective_from",
                    "candidate_id",
                    "context"
                  ],
                  "properties": {
                    "reference": {
                      "type": "string",
                      "minLength": 3
                    },
                    "effective_from": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context": {
                      "type": "object",
                      "required": [
                        "type",
                        "id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        },
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "candidate_id"
                  ],
                  "properties": {
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "OBJECT_ADDITIONAL_PROPERTY",
                          "MIN_LENGTH",
                          "INVALID_FORMAT",
                          "INVALID_EFFECTIVE_FROM"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "contextCandidateLink": [],
            "agencyGroupAgency": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "agency_group_candidate_employment_reference",
              "permission": [
                "create"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_employment_reference",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-context-candidate-link-security": {
          "path_resource": {
            "type": "AgencyGroup",
            "param": "agency_group_id"
          },
          "path_candidate_id": "candidate_id"
        },
        "x-agencyGroupAgency-security": {
          "path_agency_group_id": "agency_group_id",
          "header_agency_id": "context"
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/employment-reference/{employment_reference_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "employment_reference_id",
          "in": "path",
          "required": true,
          "description": "The employment reference id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "get": {
        "tags": [
          "AgencyGroup"
        ],
        "summary": "gets an Employment Reference for a candidate in an agency group.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Agency Group Candidate employment reference",
            "schema": {
              "allOf": [
                {
                  "description": "employment reference",
                  "type": "object",
                  "required": [
                    "reference",
                    "effective_from",
                    "candidate_id",
                    "context"
                  ],
                  "properties": {
                    "reference": {
                      "type": "string",
                      "minLength": 3
                    },
                    "effective_from": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context": {
                      "type": "object",
                      "required": [
                        "type",
                        "id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        },
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "candidate_id"
                  ],
                  "properties": {
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "INVALID_TYPE",
                    "MIN_LENGTH"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "contextCandidateLink": [],
            "agencyGroupAgency": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "agency_group_candidate_employment_reference",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_employment_reference",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-context-candidate-link-security": {
          "path_resource": {
            "type": "AgencyGroup",
            "param": "agency_group_id"
          },
          "path_candidate_id": "candidate_id"
        },
        "x-agencyGroupAgency-security": {
          "path_agency_group_id": "agency_group_id",
          "header_agency_id": "context"
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/employment-reference": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "get": {
        "tags": [
          "AgencyGroup"
        ],
        "summary": "Gets a list of Employment Reference for a candidate in an agency group.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page of types to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The number of types per page"
          },
          {
            "name": "reference",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The employment reference to be retrieved"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting",
            "items": {
              "type": "string",
              "enum": [
                "effective_from",
                "-effective_from"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Agency Group Candidate employment reference list",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "description": "employment reference",
                    "type": "object",
                    "required": [
                      "reference",
                      "effective_from",
                      "candidate_id",
                      "context"
                    ],
                    "properties": {
                      "reference": {
                        "type": "string",
                        "minLength": 3
                      },
                      "effective_from": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "candidate_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "context": {
                        "type": "object",
                        "required": [
                          "type",
                          "id"
                        ],
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "agency",
                              "agency-group"
                            ]
                          },
                          "id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        }
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "candidate_id"
                    ],
                    "properties": {
                      "candidate_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content",
            "schema": {
              "description": "No Content. There were no records to return based on your query."
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "INVALID_TYPE",
                    "MIN_LENGTH"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "contextCandidateLink": [],
            "agencyGroupAgency": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "agency_group_candidate_employment_reference",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_employment_reference",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-context-candidate-link-security": {
          "path_resource": {
            "type": "AgencyGroup",
            "param": "agency_group_id"
          },
          "path_candidate_id": "candidate_id"
        },
        "x-agencyGroupAgency-security": {
          "path_agency_group_id": "agency_group_id",
          "header_agency_id": "context"
        }
      },
      "post": {
        "tags": [
          "AgencyGroup"
        ],
        "summary": "Adds a Employment Reference for a candidate in an agency group.",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "payload",
            "in": "body",
            "required": false,
            "description": "The candidate employment reference object",
            "schema": {
              "type": "object",
              "required": [
                "reference"
              ],
              "properties": {
                "reference": {
                  "type": "string",
                  "minLength": 3
                },
                "duplicate_allowed": {
                  "type": "boolean",
                  "description": "if true allow to update an already employment reference"
                },
                "effective_from": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Agency Group Candidate employment reference that was created",
            "schema": {
              "allOf": [
                {
                  "description": "employment reference",
                  "type": "object",
                  "required": [
                    "reference",
                    "effective_from",
                    "candidate_id",
                    "context"
                  ],
                  "properties": {
                    "reference": {
                      "type": "string",
                      "minLength": 3
                    },
                    "effective_from": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context": {
                      "type": "object",
                      "required": [
                        "type",
                        "id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        },
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "candidate_id"
                  ],
                  "properties": {
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "PATTERN",
                          "REQUIRED",
                          "OBJECT_ADDITIONAL_PROPERTY",
                          "MIN_LENGTH",
                          "ENUM_MISMATCH",
                          "INVALID_EFFECTIVE_FROM",
                          "EFFECTIVE_FROM_BEFORE_CURRENT_EFFECTIVE_FROM",
                          "INVALID_FORMAT"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "contextCandidateLink": [],
            "agencyGroupAgency": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "agency_group_candidate_employment_reference",
              "permission": [
                "create"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate_employment_reference",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-context-candidate-link-security": {
          "path_resource": {
            "type": "AgencyGroup",
            "param": "agency_group_id"
          },
          "path_candidate_id": "candidate_id"
        },
        "x-agencyGroupAgency-security": {
          "path_agency_group_id": "agency_group_id",
          "header_agency_id": "context"
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/address-details/{address_details_id}/location": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "address_details_id",
          "in": "path",
          "required": true,
          "description": "The address details entry id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "put": {
        "tags": [
          "Agency Candidate Address Details"
        ],
        "summary": "Updates a address detail location for the agency candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "address_details_location",
            "in": "body",
            "required": false,
            "description": "The candidate address detail location",
            "schema": {
              "description": "address details location item",
              "type": "object",
              "required": [
                "longitude",
                "latitude"
              ],
              "properties": {
                "longitude": {
                  "type": "number",
                  "minimum": -180,
                  "maximum": 180
                },
                "latitude": {
                  "type": "number",
                  "minimum": -90,
                  "maximum": 90
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Agency candidate address detail item for id will be returned",
            "schema": {
              "allOf": [
                {
                  "description": "address details item",
                  "type": "object",
                  "required": [
                    "type",
                    "address_line1",
                    "country_code",
                    "post_code"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "physical_address",
                        "postal_address",
                        "alternative_address"
                      ]
                    },
                    "address_line1": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "address_line2": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "city": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "province": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 100
                    },
                    "country_code": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 2
                    },
                    "post_code": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "candidate_id",
                    "agency_id"
                  ],
                  "properties": {
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "agency_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "co_ords": {
                      "description": "The geo-location information, co-ordinates",
                      "additionalProperties": false,
                      "type": "object",
                      "properties": {
                        "longitude": {
                          "type": "number",
                          "minimum": -180,
                          "maximum": 180
                        },
                        "latitude": {
                          "type": "number",
                          "minimum": -90,
                          "maximum": 90
                        }
                      }
                    },
                    "geo_location_last_checked_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "geo_location_details": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "manual"
                          ]
                        },
                        "updated_at": {
                          "type": "string",
                          "format": "date-time"
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "REQUIRED",
                        "CONTENT_TYPE_NOT_SUPPORTED",
                        "SCHEMA_VALIDATION_FAILED",
                        "MODEL_VALIDATION_FAILED"
                      ]
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "message",
                              "path"
                            ],
                            "properties": {
                              "message": {
                                "type": "string"
                              },
                              "path": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "description": {
                                "type": "string"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "code"
                            ],
                            "properties": {
                              "code": {
                                "type": "string",
                                "enum": [
                                  "OBJECT_MISSING_REQUIRED_PROPERTY",
                                  "OBJECT_ADDITIONAL_PROPERTIES",
                                  "INVALID_TYPE",
                                  "MINIMUM"
                                ]
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              ]
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate_address_details",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/candidate/{candidate_id}/agency-group": {
      "parameters": [
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The candidate id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "get": {
        "tags": [
          "Candidate"
        ],
        "summary": "Retrieves all agency group for candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of types to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of types per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Agency groups of candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "agency_group_id"
                ],
                "properties": {
                  "agency_group_id": {
                    "type": "string"
                  },
                  "candidate_type": {
                    "type": "string"
                  },
                  "candidate_status": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "INVALID_TYPE",
                    "SCHEMA_VALIDATION_FAILED",
                    "CONTENT_TYPE_NOT_SUPPORTED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "PATTERN",
                          "ENUM_MISMATCH",
                          "REQUIRED",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "INVALID_CANDIDATE_ID",
                          "INVALID_AGENCY_GROUP_ID",
                          "INVALID_VALUE_SPECIFIED"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_linked_agency_group",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/candidate/{candidate_id}/employment-reference": {
      "parameters": [
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "get": {
        "tags": [
          "Candidate"
        ],
        "summary": "Gets a list of Employment Reference for a candidate",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page of types to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The number of types per page"
          },
          {
            "name": "reference",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The employment reference to be retrieved"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting",
            "items": {
              "type": "string",
              "enum": [
                "effective_from",
                "-effective_from"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate employment reference list",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "description": "employment reference",
                    "type": "object",
                    "required": [
                      "reference",
                      "effective_from",
                      "candidate_id",
                      "context"
                    ],
                    "properties": {
                      "reference": {
                        "type": "string",
                        "minLength": 3
                      },
                      "effective_from": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "candidate_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "context": {
                        "type": "object",
                        "required": [
                          "type",
                          "id"
                        ],
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "agency",
                              "agency-group"
                            ]
                          },
                          "id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        }
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "candidate_id"
                    ],
                    "properties": {
                      "candidate_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content",
            "schema": {
              "description": "No Content. There were no records to return based on your query."
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "INVALID_TYPE",
                    "MIN_LENGTH"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "agency_group_candidate_employment_reference",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/webhooks/agency-group/{agency_group_id}/health-safety/candidate-training": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The agency group id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Webhook being called by Health Safety to provide us with Agency Group Candidate Trainings.",
        "x-public-operation": true,
        "parameters": [
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "payload",
            "in": "body",
            "description": "The candidate training webhook object",
            "schema": {
              "type": "object",
              "required": [
                "signature"
              ],
              "properties": {
                "signature": {
                  "type": "string"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The candidate training webhook was received",
            "schema": {
              "type": "object",
              "required": [
                "status"
              ],
              "properties": {
                "status": {
                  "type": "string",
                  "enum": [
                    "success"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "INVALID_TYPE"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/webhooks/agency-group/{agency_group_id}/healthier-business/candidate-training": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The agency group id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate",
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Webhook being called by Healthier Business to provide us with Agency Group Candidate Trainings.",
        "x-public-operation": true,
        "parameters": [
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "api-key",
            "in": "header",
            "description": "Api Key which is set by Healthier Business to do authentication",
            "required": true,
            "type": "string"
          },
          {
            "name": "payload",
            "in": "body",
            "description": "The healthier business training webhook object",
            "schema": {
              "type": "object",
              "properties": {
                "training": {
                  "type": "object",
                  "required": [
                    "candidate_ref"
                  ],
                  "properties": {
                    "candidate_id": {
                      "type": "string"
                    },
                    "candidate_ref": {
                      "type": "string"
                    },
                    "date_completed": {
                      "type": "string"
                    },
                    "renewal_date": {
                      "type": "string"
                    },
                    "courses_assigned_count": {
                      "type": "string"
                    },
                    "courses_completed_count": {
                      "type": "string"
                    },
                    "courses_pending_count": {
                      "type": "string"
                    },
                    "courses_expired_count": {
                      "type": "string"
                    },
                    "training_status": {
                      "type": "string"
                    }
                  }
                },
                "course": {
                  "type": "object",
                  "required": [
                    "candidate_ref"
                  ],
                  "properties": {
                    "candidate_ref": {
                      "type": "string"
                    },
                    "candidate_id": {
                      "type": "string"
                    },
                    "course_id": {
                      "type": "string"
                    },
                    "course_name": {
                      "type": "string"
                    },
                    "date_assigned": {
                      "type": "string"
                    },
                    "date_completed": {
                      "type": "string"
                    },
                    "renewal_date": {
                      "type": "string"
                    },
                    "grade": {
                      "type": "string"
                    },
                    "course_status": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The Healthier Business candidate training webhook was received",
            "schema": {
              "type": "string",
              "maxLength": 0
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "INVALID_TYPE"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/meta/right-to-work": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The id of the agency group"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The id of the candidate"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate-meta",
      "get": {
        "x-proxy-route": "/agency-group/{agency_group_id}/candidate/{candidate_id}/migration/right-to-work",
        "tags": [
          "Agency Group Candidate Meta"
        ],
        "summary": "Retrieves the Right to Work data for agency group candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Agency Group Candidate right to work response",
            "schema": {
              "type": "object",
              "properties": {
                "ni_number": {
                  "type": "string"
                },
                "limited_hours_student_visa": {
                  "type": "boolean"
                },
                "limited_hours_skilled_visa": {
                  "type": "boolean"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time",
                  "example": "2018-09-21T06:13:44.201Z"
                }
              },
              "required": [
                "ni_number",
                "limited_hours_student_visa",
                "limited_hours_skilled_visa"
              ],
              "additionalProperties": false
            }
          },
          "400": {
            "description": "Agency group candidate metadata validation errors",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "AUTHORIZATION_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "contextCandidateLink": [],
            "agencyGroupAgency": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "candidate_right_to_work",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_right_to_work",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-context-candidate-link-security": {
          "path_resource": {
            "type": "AgencyGroup",
            "param": "agency_group_id"
          },
          "path_candidate_id": "candidate_id"
        },
        "x-agencyGroupAgency-security": {
          "path_agency_group_id": "agency_group_id",
          "header_agency_id": "context"
        }
      },
      "put": {
        "x-proxy-route": "/agency-group/{agency_group_id}/candidate/{candidate_id}/migration/right-to-work",
        "tags": [
          "Agency Group Candidate Meta"
        ],
        "summary": "upserts the Right to Work data for agency group candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "right_to_work",
            "in": "body",
            "description": "The agency group candidate right to work object",
            "schema": {
              "type": "object",
              "required": [
                "ni_number",
                "limited_hours_student_visa",
                "limited_hours_skilled_visa"
              ],
              "properties": {
                "ni_number": {
                  "type": "string"
                },
                "limited_hours_student_visa": {
                  "type": "boolean"
                },
                "limited_hours_skilled_visa": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Agency Group Candidate right to work response",
            "schema": {
              "type": "object",
              "properties": {
                "ni_number": {
                  "type": "string"
                },
                "limited_hours_student_visa": {
                  "type": "boolean"
                },
                "limited_hours_skilled_visa": {
                  "type": "boolean"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time",
                  "example": "2018-09-21T06:13:44.201Z"
                }
              },
              "required": [
                "ni_number",
                "limited_hours_student_visa",
                "limited_hours_skilled_visa"
              ],
              "additionalProperties": false
            }
          },
          "400": {
            "description": "Agency group candidate right to work validation errors during upsert",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "SCHEMA_VALIDATION_FAILED",
                    "CONTENT_TYPE_NOT_SUPPORTED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "OBJECT_ADDITIONAL_PROPERTIES"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "AUTHORIZATION_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "contextCandidateLink": [],
            "agencyGroupAgency": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "candidate_right_to_work",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_right_to_work",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-context-candidate-link-security": {
          "path_resource": {
            "type": "AgencyGroup",
            "param": "agency_group_id"
          },
          "path_candidate_id": "candidate_id"
        },
        "x-agencyGroupAgency-security": {
          "path_agency_group_id": "agency_group_id",
          "header_agency_id": "context"
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/notifications": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate-notification",
      "post": {
        "tags": [
          "Agency Group Candidate Notifications"
        ],
        "summary": "Create candidate notification for the given context type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "candidate_notification_create_body_param",
            "in": "body",
            "description": "The payload used to create a context type candidate notification",
            "schema": {
              "type": "object",
              "required": [
                "type",
                "data"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "data": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The candidate notification resource response",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "notification_type",
                    "version",
                    "status",
                    "context_type",
                    "context_type_id",
                    "candidate_id"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "new",
                        "opt_out",
                        "not_configured",
                        "processing",
                        "completed",
                        "dispatched"
                      ]
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "notification_type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "value"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "activity_data": {
                      "type": "object",
                      "properties": {
                        "description": {
                          "type": "string"
                        },
                        "comment": {
                          "type": "string"
                        },
                        "linked_entities": {
                          "type": "array",
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "required": [
                              "entity_type",
                              "entity_id"
                            ],
                            "properties": {
                              "entity_type": {
                                "type": "string"
                              },
                              "entity_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              }
                            }
                          }
                        }
                      }
                    },
                    "linked_entities": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "object",
                        "required": [
                          "entity_type",
                          "entity_id"
                        ],
                        "properties": {
                          "entity_type": {
                            "type": "string"
                          },
                          "entity_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        }
                      }
                    },
                    "meta_data": {
                      "type": "object"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Candidate notification validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN",
                    "ENUM_MISMATCH"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "PATTERN",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_notification_send",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency-group/{context_id}/candidate/bulk-notifications": {
      "parameters": [
        {
          "name": "context_id",
          "in": "path",
          "required": true,
          "description": "The context id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate-notification",
      "post": {
        "tags": [
          "Agency Group Candidate Bulk Notification"
        ],
        "summary": "Create bulk candidate notification for the given context type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "bulk_candidate_notification_create_body_param",
            "in": "body",
            "required": false,
            "description": "The payload used to create a context type candidate bulk notification",
            "schema": {
              "type": "object",
              "required": [
                "type",
                "data",
                "candidate_ids"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "data": {
                  "type": "object"
                },
                "candidate_ids": {
                  "type": "array",
                  "uniqueItems": true,
                  "minItems": 1,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The bulk candidate notification resource response",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "data",
                    "status",
                    "context_type",
                    "context_type_id",
                    "candidate_ids"
                  ],
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "data": {
                      "type": "object"
                    },
                    "candidate_ids": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Candidate notification validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN",
                    "ENUM_MISMATCH"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_SHIFT_ID",
                              "ARRAY_LENGTH_SHORT",
                              "ARRAY_UNIQUE",
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "PATTERN",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "context_id",
            "operation": {
              "name": "candidate_notification_bulk_send",
              "permission": [
                "create"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/notifications": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate-notification",
      "post": {
        "tags": [
          "Agency Candidate Notifications"
        ],
        "summary": "Create candidate notification for the given context type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "candidate_notification_create_body_param",
            "in": "body",
            "description": "The payload used to create a context type candidate notification",
            "schema": {
              "type": "object",
              "required": [
                "type",
                "data"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "data": {
                  "type": "object"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The candidate notification resource response",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "notification_type",
                    "version",
                    "status",
                    "context_type",
                    "context_type_id",
                    "candidate_id"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "new",
                        "opt_out",
                        "not_configured",
                        "processing",
                        "completed",
                        "dispatched"
                      ]
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "notification_type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "version": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "value"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "activity_data": {
                      "type": "object",
                      "properties": {
                        "description": {
                          "type": "string"
                        },
                        "comment": {
                          "type": "string"
                        },
                        "linked_entities": {
                          "type": "array",
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "required": [
                              "entity_type",
                              "entity_id"
                            ],
                            "properties": {
                              "entity_type": {
                                "type": "string"
                              },
                              "entity_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              }
                            }
                          }
                        }
                      }
                    },
                    "linked_entities": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "object",
                        "required": [
                          "entity_type",
                          "entity_id"
                        ],
                        "properties": {
                          "entity_type": {
                            "type": "string"
                          },
                          "entity_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        }
                      }
                    },
                    "meta_data": {
                      "type": "object"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Candidate notification validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN",
                    "ENUM_MISMATCH"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "PATTERN",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_notification_send",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency/{context_id}/candidate/bulk-notifications": {
      "parameters": [
        {
          "name": "context_id",
          "in": "path",
          "required": true,
          "description": "The context id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "candidate-notification",
      "post": {
        "tags": [
          "Agency Candidate Bulk Notification"
        ],
        "summary": "Create bulk candidate notification for the given context type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "bulk_candidate_notification_create_body_param",
            "in": "body",
            "required": false,
            "description": "The payload used to create a context type candidate bulk notification",
            "schema": {
              "type": "object",
              "required": [
                "type",
                "data",
                "candidate_ids"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "data": {
                  "type": "object"
                },
                "candidate_ids": {
                  "type": "array",
                  "uniqueItems": true,
                  "minItems": 1,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The bulk candidate notification resource response",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "data",
                    "status",
                    "context_type",
                    "context_type_id",
                    "candidate_ids"
                  ],
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "data": {
                      "type": "object"
                    },
                    "candidate_ids": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Candidate notification validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN",
                    "ENUM_MISMATCH"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_SHIFT_ID",
                              "ARRAY_LENGTH_SHORT",
                              "ARRAY_UNIQUE",
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "PATTERN",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "context_id",
            "operation": {
              "name": "candidate_notification_bulk_send",
              "permission": [
                "create"
              ]
            }
          }
        ]
      }
    },
    "/chat/conversation/{conversation_id}/teams": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "put": {
        "tags": [
          "Conversation"
        ],
        "x-proxy-route": "/conversations/{conversation_id}/teams",
        "summary": "Assign a team to a conversation",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-Request-Id",
            "in": "header",
            "type": "string",
            "required": false,
            "description": "The request Id for the incoming request"
          },
          {
            "name": "conversation_id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "The id of the conversation",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "conversation_update_team_body_param",
            "in": "body",
            "description": "The payload used to update conversation team details",
            "schema": {
              "type": "object",
              "required": [
                "team_id"
              ],
              "properties": {
                "team_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Conversation resource that was updated will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "channel_id",
                    "channel_attributes",
                    "status",
                    "created_by",
                    "note_channel_id",
                    "note_channel_attributes",
                    "owner",
                    "chatterbox_profiles"
                  ],
                  "properties": {
                    "conversation_uuid": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$"
                    },
                    "medium": {
                      "type": "string",
                      "enum": [
                        "sms",
                        "chat",
                        "whatsapp"
                      ]
                    },
                    "participants": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "user_id"
                        ],
                        "properties": {
                          "user_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        }
                      }
                    },
                    "chatterbox_profiles": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "contact_person_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "user_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "entity_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "entity_type": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "candidate_support",
                        "system_support",
                        "candidate_support_initiated",
                        "system_support_initiated",
                        "client_support_initiated",
                        "client_support",
                        "guest_support"
                      ]
                    },
                    "name": {
                      "type": "string"
                    },
                    "first_message": {
                      "type": "string"
                    },
                    "channel_id": {
                      "type": "string"
                    },
                    "channel_attributes": {
                      "type": "object"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "open",
                        "closing",
                        "closed",
                        "orphan",
                        "archived"
                      ]
                    },
                    "created_by": {
                      "type": "object",
                      "required": [
                        "user_id",
                        "context_type"
                      ],
                      "properties": {
                        "user_id": {
                          "type": "string"
                        },
                        "context_type": {
                          "type": "string"
                        },
                        "context_id": {
                          "type": "string"
                        }
                      }
                    },
                    "note_channel_id": {
                      "type": "string"
                    },
                    "note_channel_attributes": {
                      "type": "object"
                    },
                    "team": {
                      "type": "object",
                      "properties": {
                        "team_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "team_name": {
                          "type": "string"
                        }
                      }
                    },
                    "owner": {
                      "type": "object",
                      "required": [
                        "resource_type"
                      ],
                      "properties": {
                        "resource_type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agencygroup",
                            "systemadmin"
                          ]
                        },
                        "resource_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        }
                      }
                    },
                    "guest_reason": {
                      "type": "string"
                    },
                    "closed_by_user_id": {
                      "type": "string"
                    },
                    "closed_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "bots": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "_id",
                          "name",
                          "avatar"
                        ],
                        "properties": {
                          "_id": {
                            "type": "string",
                            "minLength": 1
                          },
                          "name": {
                            "type": "string"
                          },
                          "avatar": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Update conversation team validation error response",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "PATTERN",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "OWNER_MISMATCH",
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONVERSATION_STATUS_MUST_BE_OPEN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "conversation_teams",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "conversation_teams",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/chat/conversations/{conversation_id}/chatterbox-profile/candidate": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "put": {
        "tags": [
          "Conversation Chatterbox Profiles"
        ],
        "x-proxy-route": "/conversations/{conversation_id}/chatterbox-profile/candidate",
        "summary": "Attach / Link a candidate profile as a chatterbox participant",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "conversation_id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "The id of the conversation",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "conversation_chatterbox_profile_candidate_create_body_param",
            "in": "body",
            "description": "The payload used to create a member for a conversation",
            "schema": {
              "type": "object",
              "required": [
                "entity_id"
              ],
              "properties": {
                "entity_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The response after a chatterbox profile has been added to a conversation",
            "schema": {
              "type": "object",
              "required": [
                "_id",
                "entity_type",
                "entity_id"
              ],
              "properties": {
                "_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "entity_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "entity_type": {
                  "type": "string",
                  "enum": [
                    "candidate"
                  ]
                },
                "user_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              }
            }
          },
          "400": {
            "description": "Conversation Chatterbox Profile validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "PATTERN",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "UNSUPPORTED_CONVERSATION_TYPE_FOR_PROFILE",
                              "CANDIDATE_ID_DOES_NOT_EXIST",
                              "CONVERSATION_CHATTERBOX_PROFILE_NOT_ASSIGNABLE"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED",
                    "OWNER_MISMATCH"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONVERSATION_STATUS_MUST_BE_OPEN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "conversation_chatterbox_profile",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "header_context_id_validation": "context",
            "operation": {
              "name": "conversation_chatterbox_profile",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/chat/conversations/{conversation_id}/chatterbox-profile/client": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "put": {
        "tags": [
          "Conversation Chatterbox Profiles"
        ],
        "x-proxy-route": "/conversations/{conversation_id}/chatterbox-profile/client",
        "summary": "Attach / Link a client / contact persons profile as a chatterbox participant",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "conversation_id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "The id of the conversation",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "conversation_chatterbox_profile_client_create_body_param",
            "in": "body",
            "description": "The payload used to create a member for a conversation",
            "schema": {
              "type": "object",
              "required": [
                "entity_id"
              ],
              "properties": {
                "entity_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "contact_person_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The response after a chatterbox profile has been added to a conversation",
            "schema": {
              "type": "object",
              "required": [
                "_id",
                "entity_type",
                "entity_id"
              ],
              "properties": {
                "_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "entity_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "entity_type": {
                  "type": "string",
                  "enum": [
                    "client"
                  ]
                },
                "contact_person_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              }
            }
          },
          "400": {
            "description": "Conversation Chatterbox Profile validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "PATTERN",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "UNSUPPORTED_CONVERSATION_TYPE_FOR_PROFILE",
                              "CONVERSATION_CHATTERBOX_PROFILE_NOT_ASSIGNABLE"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED",
                    "OWNER_MISMATCH"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONVERSATION_STATUS_MUST_BE_OPEN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "conversation_chatterbox_profile",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "header_context_id_validation": "context",
            "operation": {
              "name": "conversation_chatterbox_profile",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/chat/conversations/{conversation_id}/chatterbox-profile/guest": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "put": {
        "tags": [
          "Conversation Chatterbox Profiles"
        ],
        "x-proxy-route": "/conversations/{conversation_id}/chatterbox-profile/guest",
        "summary": "Change chatterbox profile to guest type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "conversation_id",
            "in": "path",
            "required": true,
            "type": "string",
            "description": "The id of the conversation",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "conversation_chatterbox_profile_guest_create_body_param",
            "in": "body",
            "description": "The payload used to change the chatterbox profile to type guest",
            "schema": {
              "type": "object",
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The response after a chatterbox profile has been changed",
            "schema": {
              "type": "object",
              "required": [
                "_id",
                "entity_type"
              ],
              "properties": {
                "_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "entity_type": {
                  "type": "string",
                  "enum": [
                    "guest"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Conversation Chatterbox Profile validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "PATTERN"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "OWNER_MISMATCH",
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONVERSATION_STATUS_MUST_BE_OPEN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "conversation_chatterbox_profile",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "header_context_id_validation": "context",
            "operation": {
              "name": "conversation_chatterbox_profile",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/chat/conversations/{conversation_id}/feedback": {
      "parameters": [
        {
          "name": "conversation_id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "The id of the conversation",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "post": {
        "tags": [
          "Conversation"
        ],
        "x-proxy-route": "/conversations/{conversation_id}/feedback",
        "summary": "Creates a feedback for a conversation",
        "x-public-operation": true,
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "conversation_feedback_body_param",
            "in": "body",
            "description": "The request body for conversation feedback",
            "schema": {
              "type": "object",
              "required": [
                "overall_experience",
                "understanding",
                "communication",
                "resolution_and_follow_up"
              ],
              "properties": {
                "overall_experience": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 5
                },
                "understanding": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 5
                },
                "communication": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 5
                },
                "resolution_and_follow_up": {
                  "type": "boolean"
                },
                "additional_feedback": {
                  "type": "string",
                  "maxLength": 500
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The response after creating a feedback",
            "schema": {
              "type": "object",
              "required": [
                "_id",
                "conversation_id",
                "overall_experience",
                "understanding",
                "communication",
                "resolution_and_follow_up",
                "created_at",
                "updated_at",
                "__v"
              ],
              "properties": {
                "_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "conversation_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "overall_experience": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 5
                },
                "understanding": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 5
                },
                "communication": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 5
                },
                "resolution_and_follow_up": {
                  "type": "boolean"
                },
                "additional_feedback": {
                  "type": "string",
                  "maxLength": 500
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "__v": {
                  "type": "integer"
                }
              }
            }
          },
          "400": {
            "description": "Create feedback validation error response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "MINIMUM",
                              "MAXIMUM",
                              "CONVERSATION_NOT_FOUND",
                              "ALREADY_EXISTS"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/chat/conversations/{conversation_id}/whatsapp-phone-number-resolution": {
      "parameters": [
        {
          "name": "conversation_id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "The id of the conversation",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "put": {
        "tags": [
          "Conversation"
        ],
        "x-proxy-route": "/conversations/{conversation_id}/whatsapp-phone-number-resolution",
        "description": "Records the consultant-verified phone number for a WhatsApp conversation whose sender hid their phone (a BSUID). Upserts the BSUID->phone mapping, audits it, and publishes the event that triggers the background resolution (which sets the phone on the conversation). The BSUID is derived server-side from the conversation; only the phone_number is accepted in the body. Returns the upserted BSUID->phone mapping. ",
        "summary": "Resolve the phone number for a BSUID-only WhatsApp conversation",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "whatsapp_phone_number_resolution_param",
            "in": "body",
            "required": true,
            "description": "The consultant-verified phone number for the BSUID conversation",
            "schema": {
              "type": "object",
              "required": [
                "phone_number"
              ],
              "properties": {
                "phone_number": {
                  "type": "string",
                  "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The upserted BSUID to phone-number mapping will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "bsuid",
                    "phone_number",
                    "source_context_id",
                    "source_conversation_id"
                  ],
                  "properties": {
                    "bsuid": {
                      "type": "string"
                    },
                    "phone_number": {
                      "type": "string"
                    },
                    "source_context_id": {
                      "type": "string"
                    },
                    "source_conversation_id": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Usually caused by invalid input",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "ENUM_MISMATCH",
                              "PATTERN"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "OWNER_MISMATCH",
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed a pre condition while resolving the WhatsApp phone number",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONVERSATION_STATUS_MUST_BE_OPEN",
                    "CONVERSATION_NOT_WHATSAPP",
                    "PARTICIPANT_BSUID_MISSING",
                    "PARTICIPANT_PHONE_VISIBLE",
                    "PHONE_ALREADY_RESOLVED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "conversation_chatterbox_profile",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "header_context_id_validation": "context",
            "operation": {
              "name": "conversation_chatterbox_profile",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/chat/conversations/{conversation_id}": {
      "parameters": [
        {
          "name": "conversation_id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "The id of the conversation",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "get": {
        "tags": [
          "Conversation"
        ],
        "x-proxy-route": "/conversations/{conversation_id}",
        "summary": "Retrieves single conversation",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Get single conversation",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "channel_id",
                    "channel_attributes",
                    "status",
                    "created_by",
                    "note_channel_id",
                    "note_channel_attributes",
                    "owner",
                    "chatterbox_profiles"
                  ],
                  "properties": {
                    "chatterbox_profiles": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "contact_person_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "user_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "entity_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "entity_type": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "medium": {
                      "type": "string",
                      "enum": [
                        "sms",
                        "chat",
                        "whatsapp"
                      ]
                    },
                    "resolved_phone_number": {
                      "type": "string"
                    },
                    "message_listing": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "body",
                          "participant_id",
                          "created_at"
                        ],
                        "properties": {
                          "body": {
                            "type": "string"
                          },
                          "attributes": {
                            "type": "object"
                          },
                          "participant_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "media": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "created_at": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "participant_listing": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "identity",
                          "participant_id",
                          "created_at"
                        ],
                        "properties": {
                          "attributes": {
                            "type": "object"
                          },
                          "identity": {
                            "type": "string"
                          },
                          "user_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "participant_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "created_at": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "candidate_support",
                        "system_support",
                        "candidate_support_initiated",
                        "system_support_initiated",
                        "client_support_initiated",
                        "client_support",
                        "guest_support"
                      ]
                    },
                    "name": {
                      "type": "string"
                    },
                    "first_message": {
                      "type": "string"
                    },
                    "channel_id": {
                      "type": "string"
                    },
                    "channel_attributes": {
                      "type": "object"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "open",
                        "closing",
                        "closed",
                        "orphan",
                        "archived"
                      ]
                    },
                    "created_by": {
                      "type": "object",
                      "required": [
                        "user_id",
                        "context_type"
                      ],
                      "properties": {
                        "user_id": {
                          "type": "string"
                        },
                        "context_type": {
                          "type": "string"
                        },
                        "context_id": {
                          "type": "string"
                        }
                      }
                    },
                    "closed_by_user_id": {
                      "type": "string"
                    },
                    "closed_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "note_channel_id": {
                      "type": "string"
                    },
                    "note_channel_attributes": {
                      "type": "object"
                    },
                    "team": {
                      "type": "object",
                      "properties": {
                        "team_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "team_name": {
                          "type": "string"
                        }
                      }
                    },
                    "owner": {
                      "type": "object",
                      "required": [
                        "resource_type"
                      ],
                      "properties": {
                        "resource_type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agencygroup",
                            "systemadmin"
                          ]
                        },
                        "resource_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        }
                      }
                    },
                    "bots": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "_id",
                          "name",
                          "avatar"
                        ],
                        "properties": {
                          "_id": {
                            "type": "string",
                            "minLength": 1
                          },
                          "name": {
                            "type": "string"
                          },
                          "avatar": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get single conversation retrieval",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "header_context_id_validation": "context",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/chat/conversations": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "get": {
        "tags": [
          "Conversation"
        ],
        "x-proxy-route": "/conversations",
        "summary": "Retrieves list of all inbox conversations",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The items per page to be displayed",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "status",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "open",
                "closing",
                "closed",
                "orphan",
                "archived"
              ]
            },
            "description": "The status(es) of conversations to filter the results by"
          },
          {
            "name": "type",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The type(s) of conversations to filter the results by"
          },
          {
            "name": "user_id",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "description": "The user_id of participant of the conversations to filter the results by"
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "The field to sort by together with sorting order example `updated_at`, `-updated_at`",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "updated_at",
                "created_at",
                "type",
                "status",
                "closed_at",
                "-updated_at",
                "-created_at",
                "-type",
                "-status",
                "-closed_at"
              ]
            }
          },
          {
            "name": "created_at_from",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Created at more than equal to the time provided"
          },
          {
            "name": "created_at_to",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Created at to less than the time provided"
          },
          {
            "name": "closed_at_from",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Closed at more than equal to the time provided"
          },
          {
            "name": "closed_at_to",
            "in": "query",
            "type": "string",
            "format": "date-time",
            "description": "Closed at to less than the time provided"
          },
          {
            "name": "medium",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "chat",
                "whatsapp",
                "sms"
              ]
            },
            "description": "Medium of the conversation"
          },
          {
            "name": "team_team_id_exists",
            "in": "query",
            "type": "boolean",
            "description": "Filter conversations based on team existence"
          },
          {
            "name": "team_team_id",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "description": "Filter conversations based on team_id"
          },
          {
            "name": "chatterbox_profiles_exists",
            "in": "query",
            "type": "boolean",
            "description": "Filter conversations based on chatterbox profile existence"
          },
          {
            "name": "chatterbox_profiles_entity_id",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "description": "Filter conversations based on chatterbox profile entity id"
          },
          {
            "name": "closed_by_user_id",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "description": "Filter conversations based on user id which closed the conversation"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all inbox conversations will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "channel_id",
                      "channel_attributes",
                      "status",
                      "created_by",
                      "note_channel_id",
                      "note_channel_attributes",
                      "owner",
                      "chatterbox_profiles"
                    ],
                    "properties": {
                      "conversation_uuid": {
                        "type": "string",
                        "format": "uuid",
                        "pattern": "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$"
                      },
                      "medium": {
                        "type": "string",
                        "enum": [
                          "sms",
                          "chat",
                          "whatsapp"
                        ]
                      },
                      "participants": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "user_id"
                          ],
                          "properties": {
                            "user_id": {
                              "type": "string",
                              "pattern": "^[0-9a-fA-F]{24}$"
                            }
                          }
                        }
                      },
                      "chatterbox_profiles": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "contact_person_id": {
                              "type": "string",
                              "pattern": "^[0-9a-fA-F]{24}$"
                            },
                            "user_id": {
                              "type": "string",
                              "pattern": "^[0-9a-fA-F]{24}$"
                            },
                            "entity_id": {
                              "type": "string",
                              "pattern": "^[0-9a-fA-F]{24}$"
                            },
                            "entity_type": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "candidate_support",
                          "system_support",
                          "candidate_support_initiated",
                          "system_support_initiated",
                          "client_support_initiated",
                          "client_support",
                          "guest_support"
                        ]
                      },
                      "name": {
                        "type": "string"
                      },
                      "first_message": {
                        "type": "string"
                      },
                      "channel_id": {
                        "type": "string"
                      },
                      "channel_attributes": {
                        "type": "object"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "open",
                          "closing",
                          "closed",
                          "orphan",
                          "archived"
                        ]
                      },
                      "created_by": {
                        "type": "object",
                        "required": [
                          "user_id",
                          "context_type"
                        ],
                        "properties": {
                          "user_id": {
                            "type": "string"
                          },
                          "context_type": {
                            "type": "string"
                          },
                          "context_id": {
                            "type": "string"
                          }
                        }
                      },
                      "note_channel_id": {
                        "type": "string"
                      },
                      "note_channel_attributes": {
                        "type": "object"
                      },
                      "team": {
                        "type": "object",
                        "properties": {
                          "team_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "team_name": {
                            "type": "string"
                          }
                        }
                      },
                      "owner": {
                        "type": "object",
                        "required": [
                          "resource_type"
                        ],
                        "properties": {
                          "resource_type": {
                            "type": "string",
                            "enum": [
                              "agency",
                              "agencygroup",
                              "systemadmin"
                            ]
                          },
                          "resource_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        }
                      },
                      "guest_reason": {
                        "type": "string"
                      },
                      "closed_by_user_id": {
                        "type": "string"
                      },
                      "closed_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "bots": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "_id",
                            "name",
                            "avatar"
                          ],
                          "properties": {
                            "_id": {
                              "type": "string",
                              "minLength": 1
                            },
                            "name": {
                              "type": "string"
                            },
                            "avatar": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              }
            },
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query.",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "OWNER_MISMATCH",
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "header_context_id_validation": "context",
            "operation": {
              "name": "chat_conversation",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/chat/teams/{team_id}": {
      "parameters": [
        {
          "name": "team_id",
          "in": "path",
          "required": true,
          "description": "The id of the team",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "get": {
        "tags": [
          "Teams"
        ],
        "x-proxy-route": "/teams/{team_id}",
        "summary": "Gets the specific team record",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specific team record will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "description",
                    "notifier_overrides"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "notifier_overrides": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "object",
                        "required": [
                          "type",
                          "data"
                        ],
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "slack",
                              "microsoft_team",
                              "microsoft_team_v2"
                            ]
                          },
                          "data": {
                            "type": "object",
                            "properties": {
                              "channel": {
                                "description": "This is only required for slack notifier",
                                "type": "string"
                              },
                              "channel_url": {
                                "description": "This is only required for microsoft teams notifier",
                                "type": "string"
                              },
                              "base_url": {
                                "description": "Used on microsoft_team_v2 if you need to override notifier",
                                "type": "string"
                              },
                              "headers": {
                                "type": "object",
                                "properties": {
                                  "channel_id": {
                                    "description": "Used on microsoft_team_v2 if you need to override channel",
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "team_id": {
                                    "description": "Used on microsoft_team_v2 if you need to override team",
                                    "type": "string",
                                    "minLength": 1
                                  }
                                }
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "resource_type"
                  ],
                  "properties": {
                    "resource_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "resource_type": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error encontered while retrieving team resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "message",
                    "path"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "path": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "description": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "PATTERN",
                        "REQUIRED"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "chat_teams",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_teams",
              "permission": [
                "read"
              ]
            }
          }
        ]
      },
      "put": {
        "tags": [
          "Teams"
        ],
        "x-proxy-route": "/teams/{team_id}",
        "summary": "Upserts a specific team record",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "create_team_body_param",
            "in": "body",
            "required": false,
            "description": "The payload used to create a team",
            "schema": {
              "type": "object",
              "required": [
                "name",
                "description",
                "notifier_overrides"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "notifier_overrides": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "type",
                      "data"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "slack",
                          "microsoft_team",
                          "microsoft_team_v2"
                        ]
                      },
                      "data": {
                        "type": "object",
                        "properties": {
                          "channel": {
                            "description": "This is only required for slack notifier",
                            "type": "string"
                          },
                          "channel_url": {
                            "description": "This is only required for microsoft teams notifier",
                            "type": "string"
                          },
                          "base_url": {
                            "description": "Used on microsoft_team_v2 if you need to override notifier",
                            "type": "string"
                          },
                          "headers": {
                            "type": "object",
                            "properties": {
                              "channel_id": {
                                "description": "Used on microsoft_team_v2 if you need to override channel",
                                "type": "string",
                                "minLength": 1
                              },
                              "team_id": {
                                "description": "Used on microsoft_team_v2 if you need to override team",
                                "type": "string",
                                "minLength": 1
                              }
                            }
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The updated team record",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "description",
                    "notifier_overrides"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "notifier_overrides": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "object",
                        "required": [
                          "type",
                          "data"
                        ],
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "slack",
                              "microsoft_team",
                              "microsoft_team_v2"
                            ]
                          },
                          "data": {
                            "type": "object",
                            "properties": {
                              "channel": {
                                "description": "This is only required for slack notifier",
                                "type": "string"
                              },
                              "channel_url": {
                                "description": "This is only required for microsoft teams notifier",
                                "type": "string"
                              },
                              "base_url": {
                                "description": "Used on microsoft_team_v2 if you need to override notifier",
                                "type": "string"
                              },
                              "headers": {
                                "type": "object",
                                "properties": {
                                  "channel_id": {
                                    "description": "Used on microsoft_team_v2 if you need to override channel",
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "team_id": {
                                    "description": "Used on microsoft_team_v2 if you need to override team",
                                    "type": "string",
                                    "minLength": 1
                                  }
                                }
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "resource_type"
                  ],
                  "properties": {
                    "resource_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "resource_type": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Create team validation error response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "ARRAY_LENGTH_SHORT",
                              "ENUM_MISMATCH"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "chat_teams",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_teams",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/chat/teams": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "chatster",
      "get": {
        "tags": [
          "Teams"
        ],
        "x-proxy-route": "/teams",
        "summary": "Lists teams",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `-name,name`",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "-name"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of teams matching auth will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "name",
                      "description",
                      "notifier_overrides"
                    ],
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "notifier_overrides": {
                        "type": "array",
                        "minItems": 1,
                        "items": {
                          "type": "object",
                          "required": [
                            "type",
                            "data"
                          ],
                          "properties": {
                            "type": {
                              "type": "string",
                              "enum": [
                                "slack",
                                "microsoft_team",
                                "microsoft_team_v2"
                              ]
                            },
                            "data": {
                              "type": "object",
                              "properties": {
                                "channel": {
                                  "description": "This is only required for slack notifier",
                                  "type": "string"
                                },
                                "channel_url": {
                                  "description": "This is only required for microsoft teams notifier",
                                  "type": "string"
                                },
                                "base_url": {
                                  "description": "Used on microsoft_team_v2 if you need to override notifier",
                                  "type": "string"
                                },
                                "headers": {
                                  "type": "object",
                                  "properties": {
                                    "channel_id": {
                                      "description": "Used on microsoft_team_v2 if you need to override channel",
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "team_id": {
                                      "description": "Used on microsoft_team_v2 if you need to override team",
                                      "type": "string",
                                      "minLength": 1
                                    }
                                  }
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "additionalProperties": false
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "resource_type"
                    ],
                    "properties": {
                      "resource_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "resource_type": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on teams listing",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "chat_teams",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_teams",
              "permission": [
                "read"
              ]
            }
          }
        ]
      },
      "post": {
        "tags": [
          "Teams"
        ],
        "x-proxy-route": "/teams",
        "summary": "Creates a team",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "create_team_body_param",
            "in": "body",
            "required": false,
            "description": "The payload used to create a team",
            "schema": {
              "type": "object",
              "required": [
                "name",
                "description",
                "notifier_overrides"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "notifier_overrides": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "type",
                      "data"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "slack",
                          "microsoft_team",
                          "microsoft_team_v2"
                        ]
                      },
                      "data": {
                        "type": "object",
                        "properties": {
                          "channel": {
                            "description": "This is only required for slack notifier",
                            "type": "string"
                          },
                          "channel_url": {
                            "description": "This is only required for microsoft teams notifier",
                            "type": "string"
                          },
                          "base_url": {
                            "description": "Used on microsoft_team_v2 if you need to override notifier",
                            "type": "string"
                          },
                          "headers": {
                            "type": "object",
                            "properties": {
                              "channel_id": {
                                "description": "Used on microsoft_team_v2 if you need to override channel",
                                "type": "string",
                                "minLength": 1
                              },
                              "team_id": {
                                "description": "Used on microsoft_team_v2 if you need to override team",
                                "type": "string",
                                "minLength": 1
                              }
                            }
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The response after creating a team",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "description",
                    "notifier_overrides"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "notifier_overrides": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "object",
                        "required": [
                          "type",
                          "data"
                        ],
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "slack",
                              "microsoft_team",
                              "microsoft_team_v2"
                            ]
                          },
                          "data": {
                            "type": "object",
                            "properties": {
                              "channel": {
                                "description": "This is only required for slack notifier",
                                "type": "string"
                              },
                              "channel_url": {
                                "description": "This is only required for microsoft teams notifier",
                                "type": "string"
                              },
                              "base_url": {
                                "description": "Used on microsoft_team_v2 if you need to override notifier",
                                "type": "string"
                              },
                              "headers": {
                                "type": "object",
                                "properties": {
                                  "channel_id": {
                                    "description": "Used on microsoft_team_v2 if you need to override channel",
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "team_id": {
                                    "description": "Used on microsoft_team_v2 if you need to override team",
                                    "type": "string",
                                    "minLength": 1
                                  }
                                }
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "resource_type"
                  ],
                  "properties": {
                    "resource_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "resource_type": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Create team validation error response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "ARRAY_LENGTH_SHORT",
                              "ENUM_MISMATCH"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "chat_teams",
              "permission": [
                "create"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "chat_teams",
              "permission": [
                "create"
              ]
            }
          }
        ]
      }
    },
    "/webhooks/twilio/auto_reply": {
      "post": {
        "x-swagger-router-controller": "Proxy",
        "x-proxy-config": "chatster",
        "x-public-operation": true,
        "summary": "Proxy the messages related webhook events to chatster service",
        "tags": [
          "Message Webhooks"
        ],
        "parameters": [
          {
            "name": "SmsSid",
            "in": "formData",
            "description": "SMS ID",
            "type": "string"
          },
          {
            "name": "SmsStatus",
            "in": "formData",
            "description": "SMS Status",
            "type": "string"
          },
          {
            "name": "MessageSid",
            "in": "formData",
            "description": "Message ID",
            "required": true,
            "type": "string"
          },
          {
            "name": "AccountSid",
            "in": "formData",
            "description": "Account ID",
            "type": "string"
          },
          {
            "name": "To",
            "in": "formData",
            "description": "Number message was sent to",
            "required": true,
            "type": "string"
          },
          {
            "name": "From",
            "in": "formData",
            "description": "Number message was sent from",
            "type": "string"
          },
          {
            "name": "Body",
            "in": "formData",
            "description": "The message body",
            "type": "string"
          }
        ],
        "consumes": [
          "application/x-www-form-urlencoded",
          "application/x-www-form-urlencoded; charset=utf-8"
        ],
        "produces": [
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "The auto reply message response",
            "schema": {
              "type": "object",
              "properties": {
                "Response": {
                  "type": "object",
                  "properties": {
                    "Message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/responses/message_status_updates_validation_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/activity/{activity_id}/candidate-notification/{candidate_notification_id}/{medium}/{candidate_notification_send_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_notification_id",
          "in": "path",
          "required": true,
          "description": "",
          "type": "string"
        },
        {
          "name": "medium",
          "in": "path",
          "required": true,
          "description": "",
          "type": "string",
          "enum": [
            "sms",
            "email",
            "whatsapp"
          ]
        },
        {
          "name": "candidate_notification_send_id",
          "in": "path",
          "required": true,
          "description": "",
          "type": "string"
        },
        {
          "name": "activity_id",
          "in": "path",
          "description": "The activity ID",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "ContextCandidateActivityNotificationSend",
      "get": {
        "tags": [
          "Candidate Notifications"
        ],
        "operationId": "getAgencyGroupActivityNotificationSend",
        "summary": "Retrieves 'candidate notification send' details",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate notification send will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "version",
                    "status",
                    "candidate_id",
                    "notification_type",
                    "context_type",
                    "context_type_id",
                    "external_tokens",
                    "selected_template_id",
                    "medium",
                    "candidate_notification_id"
                  ],
                  "properties": {
                    "version": {
                      "type": "integer"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "processing",
                        "dispatched",
                        "new",
                        "permanent_failure",
                        "temporary_failure",
                        "unsubscribed",
                        "complained",
                        "delivered",
                        "queued",
                        "sent",
                        "read"
                      ]
                    },
                    "candidate_id": {
                      "type": "string"
                    },
                    "notification_type": {
                      "type": "string"
                    },
                    "context_type": {
                      "type": "string"
                    },
                    "context_type_id": {
                      "type": "string"
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "value"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "request_uuid": {
                      "type": "string"
                    },
                    "medium": {
                      "type": "string"
                    },
                    "selected_template_id": {
                      "type": "string"
                    },
                    "candidate_notification_id": {
                      "type": "string"
                    },
                    "collected_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "value"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "activity_candidate_notification",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/notification-settings/{notification_setting_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The id of the agency group",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "notification_setting_id",
          "in": "path",
          "required": true,
          "description": "The notification settings id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "put": {
        "tags": [
          "Candidate Notification Settings"
        ],
        "summary": "Updates a specific candidate notification setting",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "candidate_notification_setting_update_body_param",
            "in": "body",
            "required": false,
            "description": "The payload used to update a candidate notification settings",
            "schema": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "boolean"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The updated candidate notification setting will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "candidate_id",
                    "type",
                    "value"
                  ],
                  "properties": {
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "resource_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "resource_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "value": {
                      "type": "boolean"
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "ancestors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "resource_type",
                          "resource_id"
                        ],
                        "properties": {
                          "resource_type": {
                            "type": "string",
                            "enum": [
                              "agency",
                              "agency-group"
                            ]
                          },
                          "resource_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "400": {
            "description": "Usually caused by invalid input",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code",
                          "message"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "OBJECT_MISSING_REQUIRED_PROPERTY"
                            ]
                          },
                          "message": {
                            "type": "string"
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_notification_settings",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/notification-type-details": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The id of the agency group",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "get": {
        "tags": [
          "Candidate Notification Types"
        ],
        "summary": "Retrieve a list of candidate notification type details",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "type",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": true,
            "description": "The notification type to filter the results by"
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "description": "The field to sort by together with sorting order example `type`, `-type`",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "type",
                "-type"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of candidate notification type details will be returned",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "notification_type",
                  "context_notification_type_id",
                  "medium_selection"
                ],
                "properties": {
                  "notification_type": {
                    "type": "string"
                  },
                  "context_notification_type_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "medium_selection": {
                    "type": "string",
                    "enum": [
                      "manual",
                      "automatic"
                    ]
                  },
                  "supported_mediums": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "object",
                      "properties": {
                        "medium": {
                          "type": "string",
                          "enum": [
                            "email",
                            "sms",
                            "whatsapp"
                          ]
                        },
                        "template_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "priority": {
                          "type": "number",
                          "default": 0
                        },
                        "reason": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Usually caused by invalid input",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_notification_settings",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/notification-type/{context_notification_type_id}/template/{template_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The id of the Agency Group",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_notification_type_id",
          "in": "path",
          "required": true,
          "description": "The context notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "template_id",
          "in": "path",
          "required": true,
          "description": "The context notification type template id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "get": {
        "tags": [
          "Context Candidate Notifications"
        ],
        "summary": "Retrieves context candidate notifiaction type template preview",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Context notification type template resource model",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "priority",
                    "data"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "whatsapp",
                        "sms"
                      ]
                    },
                    "priority": {
                      "type": "number",
                      "minimum": 0
                    },
                    "position_types": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp"
                        ]
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "required_tokens",
                    "context_type",
                    "context_type_id",
                    "context_notification_type_id",
                    "status"
                  ],
                  "properties": {
                    "required_tokens": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error when retrieving template preview for a candidate",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/notifications/{candidate_notification_id}/{medium}/{candidate_notification_send_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The id of the agency group",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_notification_id",
          "in": "path",
          "required": true,
          "description": "The candidate notification id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_notification_send_id",
          "in": "path",
          "required": true,
          "description": "The candidate notification send id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "medium",
          "in": "path",
          "required": true,
          "description": "The notification medium",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "get": {
        "tags": [
          "Candidate Notification Send Preview"
        ],
        "summary": "Updates a specific candidate notification setting",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated candidate notification setting will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "version",
                    "status",
                    "candidate_id",
                    "notification_type",
                    "context_type",
                    "context_type_id",
                    "external_tokens",
                    "selected_template_id",
                    "medium",
                    "candidate_notification_id"
                  ],
                  "properties": {
                    "version": {
                      "type": "integer"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "processing",
                        "dispatched",
                        "new",
                        "permanent_failure",
                        "temporary_failure",
                        "unsubscribed",
                        "complained",
                        "delivered",
                        "queued",
                        "sent",
                        "read"
                      ]
                    },
                    "candidate_id": {
                      "type": "string"
                    },
                    "notification_type": {
                      "type": "string"
                    },
                    "context_type": {
                      "type": "string"
                    },
                    "context_type_id": {
                      "type": "string"
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "value"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "medium": {
                      "type": "string"
                    },
                    "selected_template_id": {
                      "type": "string"
                    },
                    "candidate_notification_id": {
                      "type": "string"
                    },
                    "collected_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "value"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Usually caused by invalid input",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code",
                          "message"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "OBJECT_MISSING_REQUIRED_PROPERTY"
                            ]
                          },
                          "message": {
                            "type": "string"
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "activity_candidate_notification",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/notifications/{candidate_notification_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_notification_id",
          "in": "path",
          "required": true,
          "description": "",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "get": {
        "tags": [
          "Context Notification"
        ],
        "summary": "Retrieve view for context candidate notification",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "View for candidate notification will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "notifications_sent": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "medium",
                          "status"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "status": {
                            "type": "string"
                          },
                          "medium": {
                            "type": "string",
                            "enum": [
                              "sms",
                              "email",
                              "whatsapp"
                            ]
                          },
                          "status_reason": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "version": {
                      "type": "integer"
                    },
                    "medium": {
                      "type": "string",
                      "enum": [
                        "sms",
                        "email",
                        "whatsapp"
                      ]
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "new",
                        "opt_out",
                        "not_configured",
                        "processing",
                        "completed",
                        "dispatched",
                        "dispatch_failure",
                        "processed"
                      ]
                    },
                    "status_reason": {
                      "type": "object",
                      "required": [
                        "type",
                        "description"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "template_not_configured",
                            "candidate_details_missing",
                            "unknown_notification_type",
                            "unknown_notification_type_template",
                            "candidate_notification_settings_missing",
                            "error_processing_notification"
                          ]
                        },
                        "description": {
                          "type": "string"
                        }
                      }
                    },
                    "candidate_id": {
                      "type": "string"
                    },
                    "notification_type": {
                      "type": "string"
                    },
                    "context_type": {
                      "type": "string"
                    },
                    "context_type_id": {
                      "type": "string"
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "value"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "activity_data": {
                      "type": "object",
                      "properties": {
                        "description": {
                          "type": "string"
                        },
                        "comment": {
                          "type": "string"
                        },
                        "linked_entities": {
                          "type": "array",
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "required": [
                              "entity_type",
                              "entity_id"
                            ],
                            "properties": {
                              "entity_type": {
                                "type": "string"
                              },
                              "entity_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              }
                            }
                          }
                        }
                      }
                    },
                    "linked_entities": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "object",
                        "required": [
                          "entity_type",
                          "entity_id"
                        ],
                        "properties": {
                          "entity_type": {
                            "type": "string"
                          },
                          "entity_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_notification",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency-group/{agency_group_id}/notification-types-templates": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The id of the Agency Group",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "get": {
        "tags": [
          "Agency Group Notification Type Templates"
        ],
        "summary": "Retrieves list of all context notification type templates",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "position_types",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The position type of context notification type template to filter the results by",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The status of context notification type template to filter the results by"
          },
          {
            "name": "type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The type of context notification type template to filter the results by"
          },
          {
            "name": "required_tokens",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The required token of context notification type template to filter the results by",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "context_notification_type",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The context notification type of context notification type template to filter the results by",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `updated_at`, `-updated_at`",
            "items": {
              "type": "string",
              "enum": [
                "position_types",
                "updated_at",
                "created_at",
                "type",
                "required_tokens",
                "status",
                "context_notification_type",
                "-position_types",
                "-updated_at",
                "-created_at",
                "-type",
                "-required_tokens",
                "-status",
                "-context_notification_type"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of all context notification type templates will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "type",
                      "priority",
                      "data"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "email",
                          "whatsapp",
                          "sms"
                        ]
                      },
                      "priority": {
                        "type": "number",
                        "minimum": 0
                      },
                      "position_types": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "enum": [
                            "za_allied_professional",
                            "gbr_care_course",
                            "za_care_giver",
                            "gbr_care_worker",
                            "gbr_catering",
                            "gbr_industrial",
                            "gbr_locum",
                            "za_locum",
                            "gbr_locum_allied",
                            "gbr_nurse",
                            "gbr_teacher",
                            "gbr_teaching_support_staff",
                            "gbr_support_administration",
                            "gbr_caretaking_site_services",
                            "za_nurse",
                            "gbr_social_worker",
                            "za_social_worker",
                            "gbr_social_worker_rsw",
                            "gbr_gp",
                            "gbr_odp"
                          ]
                        }
                      },
                      "data": {
                        "type": "object"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "required_tokens",
                      "context_type",
                      "context_type_id",
                      "context_notification_type_id",
                      "status"
                    ],
                    "properties": {
                      "required_tokens": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "context_type": {
                        "type": "string",
                        "enum": [
                          "agency",
                          "agency-group"
                        ]
                      },
                      "context_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "context_notification_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "draft",
                          "enabled",
                          "disabled"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/notification-types/{context_notification_type_id}/status-change": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_notification_type_id",
          "in": "path",
          "required": true,
          "description": "The context notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Context Notification Types"
        ],
        "summary": "Changes the status of specific a context notification type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "context_notification_type_status_change_param",
            "in": "body",
            "required": false,
            "description": "The payload used to change status of a context notification type",
            "schema": {
              "type": "object",
              "required": [
                "action"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "enable",
                    "disable"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The context notification type resource response",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "notification_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "audience": {
                      "type": "string",
                      "enum": [
                        "candidate",
                        "context_user"
                      ]
                    },
                    "ttl": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "activity_details": {
                      "type": "object",
                      "required": [
                        "type",
                        "description"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "minLength": 3
                        },
                        "description": {
                          "type": "string",
                          "minLength": 3
                        }
                      }
                    },
                    "whitelisted_statuses": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "medium_selection": {
                      "type": "string",
                      "enum": [
                        "automatic",
                        "manual"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "status",
                    "version",
                    "context_type",
                    "context_type_id"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    },
                    "version": {
                      "type": "integer"
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "type"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "type": {
                            "type": "string",
                            "minLength": 1
                          },
                          "format": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "304": {
            "description": "No modified. No records were modified based on your query."
          },
          "400": {
            "description": "Context notification type status change validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN",
                    "ENUM_MISMATCH"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "ACTION_NOT_ALLOWED",
                    "POSITION_TYPES_REQUIRED",
                    "POSITION_TYPES_NOT_ALLOWED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "notification_types",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/notification-types/{context_notification_type_id}/templates/{template_id}/position-types": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_notification_type_id",
          "in": "path",
          "required": true,
          "description": "The context notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "template_id",
          "in": "path",
          "required": true,
          "description": "The context notification type template id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "put": {
        "tags": [
          "Context Notification Type Templates"
        ],
        "summary": "Updates position types of a specific context notification type template",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "update_context_notification_type_template_position_type_body_param",
            "in": "body",
            "required": false,
            "description": "The payload to update position type a specific context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "position_types"
              ],
              "properties": {
                "position_types": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "enum": [
                      "za_allied_professional",
                      "gbr_care_course",
                      "za_care_giver",
                      "gbr_care_worker",
                      "gbr_catering",
                      "gbr_industrial",
                      "gbr_locum",
                      "za_locum",
                      "gbr_locum_allied",
                      "gbr_nurse",
                      "gbr_teacher",
                      "gbr_teaching_support_staff",
                      "gbr_support_administration",
                      "gbr_caretaking_site_services",
                      "za_nurse",
                      "gbr_social_worker",
                      "za_social_worker",
                      "gbr_social_worker_rsw",
                      "gbr_gp",
                      "gbr_odp"
                    ]
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Context notification type template resource model",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "priority",
                    "data"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "whatsapp",
                        "sms"
                      ]
                    },
                    "priority": {
                      "type": "number",
                      "minimum": 0
                    },
                    "position_types": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp"
                        ]
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "required_tokens",
                    "context_type",
                    "context_type_id",
                    "context_notification_type_id",
                    "status"
                  ],
                  "properties": {
                    "required_tokens": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response while updating position type of a specific context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "REQUIRED",
                    "ENUM_MISMATCH",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "ARRAY_UNIQUE",
                              "ARRAY_LENGTH_SHORT",
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "ENABLED_TEMPLATE_WITH_POSITION_TYPE_ALREADY_EXISTS"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "405": {
            "description": "Method not supported. Returned if an unsupported http method is used for the given entity.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "METHOD_NOT_SUPPORTED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/notification-types/{context_notification_type_id}/templates/{template_id}/status-change": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_notification_type_id",
          "in": "path",
          "required": true,
          "description": "The context notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "template_id",
          "in": "path",
          "required": true,
          "description": "The context notification type template id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Context Notification Type Templates"
        ],
        "summary": "Changes the status of a specific context notification type templates",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "context_notification_type_template_status_change_param",
            "in": "body",
            "required": false,
            "description": "The payload used to change status of a context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "action"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "enable",
                    "disable"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Context notification type template resource model",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "priority",
                    "data"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "whatsapp",
                        "sms"
                      ]
                    },
                    "priority": {
                      "type": "number",
                      "minimum": 0
                    },
                    "position_types": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp"
                        ]
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "required_tokens",
                    "context_type",
                    "context_type_id",
                    "context_notification_type_id",
                    "status"
                  ],
                  "properties": {
                    "required_tokens": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "304": {
            "description": "No modified. No records were modified based on your query."
          },
          "400": {
            "description": "Validation error response when creating a context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "ENUM_MISMATCH",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "ACTION_NOT_ALLOWED",
                    "POSITION_TYPES_REQUIRED",
                    "POSITION_TYPES_NOT_ALLOWED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/notification-types/{context_notification_type_id}/templates/{template_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_notification_type_id",
          "in": "path",
          "required": true,
          "description": "The context notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "template_id",
          "in": "path",
          "required": true,
          "description": "The context notification type template id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "put": {
        "tags": [
          "Context Notification Type Templates"
        ],
        "summary": "Updates a specific context notification type template",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "context_notification_type_template",
            "in": "body",
            "required": false,
            "description": "The payload to create a context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "type",
                "priority",
                "data"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "email",
                    "whatsapp",
                    "sms"
                  ]
                },
                "priority": {
                  "type": "number",
                  "minimum": 0
                },
                "position_types": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "enum": [
                      "za_allied_professional",
                      "gbr_care_course",
                      "za_care_giver",
                      "gbr_care_worker",
                      "gbr_catering",
                      "gbr_industrial",
                      "gbr_locum",
                      "za_locum",
                      "gbr_locum_allied",
                      "gbr_nurse",
                      "gbr_teacher",
                      "gbr_teaching_support_staff",
                      "gbr_support_administration",
                      "gbr_caretaking_site_services",
                      "za_nurse",
                      "gbr_social_worker",
                      "za_social_worker",
                      "gbr_social_worker_rsw",
                      "gbr_gp",
                      "gbr_odp"
                    ]
                  }
                },
                "data": {
                  "type": "object"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Context notification type template resource model",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "priority",
                    "data"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "whatsapp",
                        "sms"
                      ]
                    },
                    "priority": {
                      "type": "number",
                      "minimum": 0
                    },
                    "position_types": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp"
                        ]
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "required_tokens",
                    "context_type",
                    "context_type_id",
                    "context_notification_type_id",
                    "status"
                  ],
                  "properties": {
                    "required_tokens": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when creating a context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "ARRAY_UNIQUE",
                              "ARRAY_LENGTH_SHORT",
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "INVALID_FORMAT",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "TEMPLATE_TOKENS_NOT_SUPPORTED"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Some pre condition failed while updating context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONTEXT_NOTIFICATION_TYPE_TEMPLATE_STATUS_MUST_BE_DRAFT",
                    "EXISTING_NOTIFICATION_TYPE_TEMPLATE_ENABLED_INCLUDES_POSITION_TYPE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/notification-types/{context_notification_type_id}/templates": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_notification_type_id",
          "in": "path",
          "required": true,
          "description": "The context notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Context Notification Type Templates"
        ],
        "summary": "Create a context notification type template",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "context_notification_type_template",
            "in": "body",
            "required": false,
            "description": "The payload to create a context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "type",
                "priority",
                "data"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "email",
                    "whatsapp",
                    "sms"
                  ]
                },
                "priority": {
                  "type": "number",
                  "minimum": 0
                },
                "position_types": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "enum": [
                      "za_allied_professional",
                      "gbr_care_course",
                      "za_care_giver",
                      "gbr_care_worker",
                      "gbr_catering",
                      "gbr_industrial",
                      "gbr_locum",
                      "za_locum",
                      "gbr_locum_allied",
                      "gbr_nurse",
                      "gbr_teacher",
                      "gbr_teaching_support_staff",
                      "gbr_support_administration",
                      "gbr_caretaking_site_services",
                      "za_nurse",
                      "gbr_social_worker",
                      "za_social_worker",
                      "gbr_social_worker_rsw",
                      "gbr_gp",
                      "gbr_odp"
                    ]
                  }
                },
                "data": {
                  "type": "object"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Context notification type template resource model",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "priority",
                    "data"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "whatsapp",
                        "sms"
                      ]
                    },
                    "priority": {
                      "type": "number",
                      "minimum": 0
                    },
                    "position_types": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp"
                        ]
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "required_tokens",
                    "context_type",
                    "context_type_id",
                    "context_notification_type_id",
                    "status"
                  ],
                  "properties": {
                    "required_tokens": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when creating a context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "ARRAY_UNIQUE",
                              "ARRAY_LENGTH_SHORT",
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "INVALID_FORMAT",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "TEMPLATE_TOKENS_NOT_SUPPORTED"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "create"
              ]
            }
          }
        ]
      },
      "get": {
        "tags": [
          "Context Notification Type Templates"
        ],
        "summary": "Retrieves list of all context notification type templates filtered by notification type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The status of context notification type template to filter the results by"
          },
          {
            "name": "type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The type of context notification type template to filter the results by"
          },
          {
            "name": "position_types",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The position type of context notification type template to filter the results by",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "required_tokens",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The required token of context notification type template to filter the results by",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `updated_at`, `-updated_at`",
            "items": {
              "type": "string",
              "enum": [
                "position_types",
                "updated_at",
                "created_at",
                "type",
                "required_tokens",
                "status",
                "-position_types",
                "-updated_at",
                "-created_at",
                "-type",
                "-required_tokens",
                "-status"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of all context notification type templates will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "type",
                      "priority",
                      "data"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "email",
                          "whatsapp",
                          "sms"
                        ]
                      },
                      "priority": {
                        "type": "number",
                        "minimum": 0
                      },
                      "position_types": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "enum": [
                            "za_allied_professional",
                            "gbr_care_course",
                            "za_care_giver",
                            "gbr_care_worker",
                            "gbr_catering",
                            "gbr_industrial",
                            "gbr_locum",
                            "za_locum",
                            "gbr_locum_allied",
                            "gbr_nurse",
                            "gbr_teacher",
                            "gbr_teaching_support_staff",
                            "gbr_support_administration",
                            "gbr_caretaking_site_services",
                            "za_nurse",
                            "gbr_social_worker",
                            "za_social_worker",
                            "gbr_social_worker_rsw",
                            "gbr_gp",
                            "gbr_odp"
                          ]
                        }
                      },
                      "data": {
                        "type": "object"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "required_tokens",
                      "context_type",
                      "context_type_id",
                      "context_notification_type_id",
                      "status"
                    ],
                    "properties": {
                      "required_tokens": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "context_type": {
                        "type": "string",
                        "enum": [
                          "agency",
                          "agency-group"
                        ]
                      },
                      "context_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "context_notification_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "draft",
                          "enabled",
                          "disabled"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/notification-types": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Context Notification Types"
        ],
        "summary": "Create a context notification type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "context_notification_type_create_body_param",
            "in": "body",
            "required": false,
            "description": "The payload used to create a context notification type",
            "schema": {
              "type": "object",
              "properties": {
                "notification_group_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "notification_type_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "type": {
                  "type": "string",
                  "minLength": 1
                },
                "audience": {
                  "type": "string",
                  "enum": [
                    "candidate",
                    "context_user"
                  ]
                },
                "ttl": {
                  "type": "integer",
                  "minimum": 0
                },
                "activity_details": {
                  "type": "object",
                  "required": [
                    "type",
                    "description"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "minLength": 3
                    },
                    "description": {
                      "type": "string",
                      "minLength": 3
                    }
                  }
                },
                "whitelisted_statuses": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  }
                },
                "medium_selection": {
                  "type": "string",
                  "enum": [
                    "automatic",
                    "manual"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The context notification type resource response",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "notification_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "audience": {
                      "type": "string",
                      "enum": [
                        "candidate",
                        "context_user"
                      ]
                    },
                    "ttl": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "activity_details": {
                      "type": "object",
                      "required": [
                        "type",
                        "description"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "minLength": 3
                        },
                        "description": {
                          "type": "string",
                          "minLength": 3
                        }
                      }
                    },
                    "whitelisted_statuses": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "medium_selection": {
                      "type": "string",
                      "enum": [
                        "automatic",
                        "manual"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "status",
                    "version",
                    "context_type",
                    "context_type_id"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    },
                    "version": {
                      "type": "integer"
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "type"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "type": {
                            "type": "string",
                            "minLength": 1
                          },
                          "format": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Notification type validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "PATTERN",
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "NOTIFICATION_TYPE_DOES_NOT_EXIST",
                              "NOTIFICATION_GROUP_DOES_NOT_EXIST",
                              "EITHER_GROUP_OR_TYPE_SHOULD_BE_DEFINED",
                              "INVALID_AUDIENCE"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "notification_types",
              "permission": [
                "create"
              ]
            }
          }
        ]
      },
      "get": {
        "tags": [
          "Context Notification Types"
        ],
        "summary": "Retrieves list of all context notification types",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `updated_at`, `-updated_at`",
            "items": {
              "type": "string",
              "enum": [
                "updated_at",
                "created_at",
                "audience",
                "type",
                "-updated_at",
                "-created_at",
                "-audience",
                "-type"
              ]
            }
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The status of context notification type to filter the results by"
          },
          {
            "name": "audience",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The audience of context notification type to filter the results by"
          },
          {
            "name": "type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The type of context notification type to filter the results by"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all context notification types will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "notification_group_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "notification_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "type": {
                        "type": "string",
                        "minLength": 1
                      },
                      "audience": {
                        "type": "string",
                        "enum": [
                          "candidate",
                          "context_user"
                        ]
                      },
                      "ttl": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "activity_details": {
                        "type": "object",
                        "required": [
                          "type",
                          "description"
                        ],
                        "properties": {
                          "type": {
                            "type": "string",
                            "minLength": 3
                          },
                          "description": {
                            "type": "string",
                            "minLength": 3
                          }
                        }
                      },
                      "whitelisted_statuses": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        }
                      },
                      "medium_selection": {
                        "type": "string",
                        "enum": [
                          "automatic",
                          "manual"
                        ]
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "status",
                      "version",
                      "context_type",
                      "context_type_id"
                    ],
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "draft",
                          "enabled",
                          "disabled"
                        ]
                      },
                      "version": {
                        "type": "integer"
                      },
                      "context_type": {
                        "type": "string",
                        "enum": [
                          "agency",
                          "agency-group"
                        ]
                      },
                      "context_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "external_tokens": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "token",
                            "type"
                          ],
                          "properties": {
                            "token": {
                              "type": "string",
                              "minLength": 1
                            },
                            "type": {
                              "type": "string",
                              "minLength": 1
                            },
                            "format": {
                              "type": "string",
                              "minLength": 1
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "notification_types",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/activity/{activity_id}/candidate-notification/{candidate_notification_id}/{medium}/{candidate_notification_send_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_notification_id",
          "in": "path",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "medium",
          "in": "path",
          "required": true,
          "type": "string",
          "enum": [
            "sms",
            "email",
            "whatsapp"
          ]
        },
        {
          "name": "candidate_notification_send_id",
          "in": "path",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "activity_id",
          "in": "path",
          "description": "The activity ID",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "ContextCandidateActivityNotificationSend",
      "get": {
        "tags": [
          "Candidate Notifications"
        ],
        "operationId": "getAgencyActivityNotificationSend",
        "summary": "Retrieves 'candidate notification send' details",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate notification send will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "version",
                    "status",
                    "candidate_id",
                    "notification_type",
                    "context_type",
                    "context_type_id",
                    "external_tokens",
                    "selected_template_id",
                    "medium",
                    "candidate_notification_id"
                  ],
                  "properties": {
                    "version": {
                      "type": "integer"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "processing",
                        "dispatched",
                        "new",
                        "permanent_failure",
                        "temporary_failure",
                        "unsubscribed",
                        "complained",
                        "delivered",
                        "queued",
                        "sent",
                        "read"
                      ]
                    },
                    "candidate_id": {
                      "type": "string"
                    },
                    "notification_type": {
                      "type": "string"
                    },
                    "context_type": {
                      "type": "string"
                    },
                    "context_type_id": {
                      "type": "string"
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "value"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "request_uuid": {
                      "type": "string"
                    },
                    "medium": {
                      "type": "string"
                    },
                    "selected_template_id": {
                      "type": "string"
                    },
                    "candidate_notification_id": {
                      "type": "string"
                    },
                    "collected_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "value"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "activity_candidate_notification",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/notification-settings/{notification_setting_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The id of the agency",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "notification_setting_id",
          "in": "path",
          "required": true,
          "description": "The notification settings id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "put": {
        "tags": [
          "Candidate Notification Settings"
        ],
        "summary": "Updates a specific candidate notification setting",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "candidate_notification_setting_update_body_param",
            "in": "body",
            "required": false,
            "description": "The payload used to update a candidate notification settings",
            "schema": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "boolean"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The updated candidate notification setting will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "candidate_id",
                    "type",
                    "value"
                  ],
                  "properties": {
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "resource_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "resource_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "value": {
                      "type": "boolean"
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "ancestors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "resource_type",
                          "resource_id"
                        ],
                        "properties": {
                          "resource_type": {
                            "type": "string",
                            "enum": [
                              "agency",
                              "agency-group"
                            ]
                          },
                          "resource_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "400": {
            "description": "Usually caused by invalid input",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code",
                          "message"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "OBJECT_MISSING_REQUIRED_PROPERTY"
                            ]
                          },
                          "message": {
                            "type": "string"
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyGroupAgencyCandidateAccess": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_notification_settings",
              "permission": [
                "update"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "header_context_id_validation": "context",
            "operation": {
              "name": "candidate_notification_settings",
              "permission": [
                "update"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/notification-type-details": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The id of the agency",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "get": {
        "tags": [
          "Candidate Notification Types"
        ],
        "summary": "Retrieve a list of candidate notification type details",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "type",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": true,
            "description": "The notification type to filter the results by"
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "description": "The field to sort by together with sorting order example `type`, `-type`",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "type",
                "-type"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of candidate notification type details will be returned",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "notification_type",
                  "context_notification_type_id",
                  "medium_selection"
                ],
                "properties": {
                  "notification_type": {
                    "type": "string"
                  },
                  "context_notification_type_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "medium_selection": {
                    "type": "string",
                    "enum": [
                      "manual",
                      "automatic"
                    ]
                  },
                  "supported_mediums": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "object",
                      "properties": {
                        "medium": {
                          "type": "string",
                          "enum": [
                            "email",
                            "sms",
                            "whatsapp"
                          ]
                        },
                        "template_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "priority": {
                          "type": "number",
                          "default": 0
                        },
                        "reason": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Usually caused by invalid input",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_notification_settings",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/notification-type/{context_notification_type_id}/template/{template_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The id of Agency",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_notification_type_id",
          "in": "path",
          "required": true,
          "description": "The context notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "template_id",
          "in": "path",
          "required": true,
          "description": "The context notification type template id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "get": {
        "tags": [
          "Context Candidate Notifications"
        ],
        "summary": "Retrieves context candidate notifiaction type template preview",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Context notification type template resource model",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "priority",
                    "data"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "whatsapp",
                        "sms"
                      ]
                    },
                    "priority": {
                      "type": "number",
                      "minimum": 0
                    },
                    "position_types": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp"
                        ]
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "required_tokens",
                    "context_type",
                    "context_type_id",
                    "context_notification_type_id",
                    "status"
                  ],
                  "properties": {
                    "required_tokens": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error when retrieving template preview for a candidate",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/notifications/{candidate_notification_id}/{medium}/{candidate_notification_send_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The id of the agency",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_notification_id",
          "in": "path",
          "required": true,
          "description": "The candidate notification id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_notification_send_id",
          "in": "path",
          "required": true,
          "description": "The candidate notification send id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "medium",
          "in": "path",
          "required": true,
          "description": "The notification medium",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "get": {
        "tags": [
          "Candidate Notification Send Preview"
        ],
        "summary": "Updates a specific candidate notification setting",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The updated candidate notification setting will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "version",
                    "status",
                    "candidate_id",
                    "notification_type",
                    "context_type",
                    "context_type_id",
                    "external_tokens",
                    "selected_template_id",
                    "medium",
                    "candidate_notification_id"
                  ],
                  "properties": {
                    "version": {
                      "type": "integer"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "processing",
                        "dispatched",
                        "new",
                        "permanent_failure",
                        "temporary_failure",
                        "unsubscribed",
                        "complained",
                        "delivered",
                        "queued",
                        "sent",
                        "read"
                      ]
                    },
                    "candidate_id": {
                      "type": "string"
                    },
                    "notification_type": {
                      "type": "string"
                    },
                    "context_type": {
                      "type": "string"
                    },
                    "context_type_id": {
                      "type": "string"
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "value"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "medium": {
                      "type": "string"
                    },
                    "selected_template_id": {
                      "type": "string"
                    },
                    "candidate_notification_id": {
                      "type": "string"
                    },
                    "collected_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "value"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Usually caused by invalid input",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code",
                          "message"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "OBJECT_MISSING_REQUIRED_PROPERTY"
                            ]
                          },
                          "message": {
                            "type": "string"
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "activity_candidate_notification",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/notifications/{candidate_notification_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_notification_id",
          "in": "path",
          "required": true,
          "description": "",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "get": {
        "tags": [
          "Context Notification"
        ],
        "summary": "Retrieve view for context candidate notification",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "View for candidate notification will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "notifications_sent": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "medium",
                          "status"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "status": {
                            "type": "string"
                          },
                          "medium": {
                            "type": "string",
                            "enum": [
                              "sms",
                              "email",
                              "whatsapp"
                            ]
                          },
                          "status_reason": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "version": {
                      "type": "integer"
                    },
                    "medium": {
                      "type": "string",
                      "enum": [
                        "sms",
                        "email",
                        "whatsapp"
                      ]
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "new",
                        "opt_out",
                        "not_configured",
                        "processing",
                        "completed",
                        "dispatched",
                        "dispatch_failure",
                        "processed"
                      ]
                    },
                    "status_reason": {
                      "type": "object",
                      "required": [
                        "type",
                        "description"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "template_not_configured",
                            "candidate_details_missing",
                            "unknown_notification_type",
                            "unknown_notification_type_template",
                            "candidate_notification_settings_missing",
                            "error_processing_notification"
                          ]
                        },
                        "description": {
                          "type": "string"
                        }
                      }
                    },
                    "candidate_id": {
                      "type": "string"
                    },
                    "notification_type": {
                      "type": "string"
                    },
                    "context_type": {
                      "type": "string"
                    },
                    "context_type_id": {
                      "type": "string"
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "value"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "activity_data": {
                      "type": "object",
                      "properties": {
                        "description": {
                          "type": "string"
                        },
                        "comment": {
                          "type": "string"
                        },
                        "linked_entities": {
                          "type": "array",
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "required": [
                              "entity_type",
                              "entity_id"
                            ],
                            "properties": {
                              "entity_type": {
                                "type": "string"
                              },
                              "entity_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              }
                            }
                          }
                        }
                      }
                    },
                    "linked_entities": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "object",
                        "required": [
                          "entity_type",
                          "entity_id"
                        ],
                        "properties": {
                          "entity_type": {
                            "type": "string"
                          },
                          "entity_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_notification",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency/{agency_id}/notification-types-templates": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The id of Agency",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "get": {
        "tags": [
          "Agency Notification Type Templates"
        ],
        "summary": "Retrieves list of all context notification type templates",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "position_types",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The position type of context notification type template to filter the results by",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The status of context notification type template to filter the results by"
          },
          {
            "name": "type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The type of context notification type template to filter the results by"
          },
          {
            "name": "required_tokens",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The required token of context notification type template to filter the results by",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "context_notification_type",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The context notification type of context notification type template to filter the results by",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `updated_at`, `-updated_at`",
            "items": {
              "type": "string",
              "enum": [
                "position_types",
                "updated_at",
                "created_at",
                "type",
                "required_tokens",
                "status",
                "context_notification_type",
                "-position_types",
                "-updated_at",
                "-created_at",
                "-type",
                "-required_tokens",
                "-status",
                "-context_notification_type"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of all context notification type templates will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "type",
                      "priority",
                      "data"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "email",
                          "whatsapp",
                          "sms"
                        ]
                      },
                      "priority": {
                        "type": "number",
                        "minimum": 0
                      },
                      "position_types": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "enum": [
                            "za_allied_professional",
                            "gbr_care_course",
                            "za_care_giver",
                            "gbr_care_worker",
                            "gbr_catering",
                            "gbr_industrial",
                            "gbr_locum",
                            "za_locum",
                            "gbr_locum_allied",
                            "gbr_nurse",
                            "gbr_teacher",
                            "gbr_teaching_support_staff",
                            "gbr_support_administration",
                            "gbr_caretaking_site_services",
                            "za_nurse",
                            "gbr_social_worker",
                            "za_social_worker",
                            "gbr_social_worker_rsw",
                            "gbr_gp",
                            "gbr_odp"
                          ]
                        }
                      },
                      "data": {
                        "type": "object"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "required_tokens",
                      "context_type",
                      "context_type_id",
                      "context_notification_type_id",
                      "status"
                    ],
                    "properties": {
                      "required_tokens": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "context_type": {
                        "type": "string",
                        "enum": [
                          "agency",
                          "agency-group"
                        ]
                      },
                      "context_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "context_notification_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "draft",
                          "enabled",
                          "disabled"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/notification-types/{context_notification_type_id}/status-change": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_notification_type_id",
          "in": "path",
          "required": true,
          "description": "The context notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Context Notification Types"
        ],
        "summary": "Changes the status of specific a context notification type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "context_notification_type_status_change_param",
            "in": "body",
            "required": false,
            "description": "The payload used to change status of a context notification type",
            "schema": {
              "type": "object",
              "required": [
                "action"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "enable",
                    "disable"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The context notification type resource response",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "notification_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "audience": {
                      "type": "string",
                      "enum": [
                        "candidate",
                        "context_user"
                      ]
                    },
                    "ttl": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "activity_details": {
                      "type": "object",
                      "required": [
                        "type",
                        "description"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "minLength": 3
                        },
                        "description": {
                          "type": "string",
                          "minLength": 3
                        }
                      }
                    },
                    "whitelisted_statuses": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "medium_selection": {
                      "type": "string",
                      "enum": [
                        "automatic",
                        "manual"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "status",
                    "version",
                    "context_type",
                    "context_type_id"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    },
                    "version": {
                      "type": "integer"
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "type"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "type": {
                            "type": "string",
                            "minLength": 1
                          },
                          "format": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "304": {
            "description": "No modified. No records were modified based on your query."
          },
          "400": {
            "description": "Context notification type status change validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN",
                    "ENUM_MISMATCH"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "ACTION_NOT_ALLOWED",
                    "POSITION_TYPES_REQUIRED",
                    "POSITION_TYPES_NOT_ALLOWED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "notification_types",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/notification-types/{context_notification_type_id}/templates/{template_id}/position-types": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_notification_type_id",
          "in": "path",
          "required": true,
          "description": "The context notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "template_id",
          "in": "path",
          "required": true,
          "description": "The context notification type template id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "put": {
        "tags": [
          "Context Notification Type Templates"
        ],
        "summary": "Updates position types of a specific context notification type template",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "update_context_notification_type_template_position_type_body_param",
            "in": "body",
            "required": false,
            "description": "The payload to update position type a specific context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "position_types"
              ],
              "properties": {
                "position_types": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "enum": [
                      "za_allied_professional",
                      "gbr_care_course",
                      "za_care_giver",
                      "gbr_care_worker",
                      "gbr_catering",
                      "gbr_industrial",
                      "gbr_locum",
                      "za_locum",
                      "gbr_locum_allied",
                      "gbr_nurse",
                      "gbr_teacher",
                      "gbr_teaching_support_staff",
                      "gbr_support_administration",
                      "gbr_caretaking_site_services",
                      "za_nurse",
                      "gbr_social_worker",
                      "za_social_worker",
                      "gbr_social_worker_rsw",
                      "gbr_gp",
                      "gbr_odp"
                    ]
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Context notification type template resource model",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "priority",
                    "data"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "whatsapp",
                        "sms"
                      ]
                    },
                    "priority": {
                      "type": "number",
                      "minimum": 0
                    },
                    "position_types": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp"
                        ]
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "required_tokens",
                    "context_type",
                    "context_type_id",
                    "context_notification_type_id",
                    "status"
                  ],
                  "properties": {
                    "required_tokens": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response while updating position type of a specific context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "REQUIRED",
                    "ENUM_MISMATCH",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "ARRAY_UNIQUE",
                              "ARRAY_LENGTH_SHORT",
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "ENABLED_TEMPLATE_WITH_POSITION_TYPE_ALREADY_EXISTS"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "405": {
            "description": "Method not supported. Returned if an unsupported http method is used for the given entity.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "METHOD_NOT_SUPPORTED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/notification-types/{context_notification_type_id}/templates/{template_id}/status-change": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_notification_type_id",
          "in": "path",
          "required": true,
          "description": "The context notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "template_id",
          "in": "path",
          "required": true,
          "description": "The context notification type template id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Context Notification Type Templates"
        ],
        "summary": "Changes the status of a specific context notification type templates",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "context_notification_type_template_status_change_param",
            "in": "body",
            "required": false,
            "description": "The payload used to change status of a context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "action"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "enable",
                    "disable"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Context notification type template resource model",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "priority",
                    "data"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "whatsapp",
                        "sms"
                      ]
                    },
                    "priority": {
                      "type": "number",
                      "minimum": 0
                    },
                    "position_types": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp"
                        ]
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "required_tokens",
                    "context_type",
                    "context_type_id",
                    "context_notification_type_id",
                    "status"
                  ],
                  "properties": {
                    "required_tokens": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "304": {
            "description": "No modified. No records were modified based on your query."
          },
          "400": {
            "description": "Validation error response when creating a context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "ENUM_MISMATCH",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "ACTION_NOT_ALLOWED",
                    "POSITION_TYPES_REQUIRED",
                    "POSITION_TYPES_NOT_ALLOWED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/notification-types/{context_notification_type_id}/templates/{template_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_notification_type_id",
          "in": "path",
          "required": true,
          "description": "The context notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "template_id",
          "in": "path",
          "required": true,
          "description": "The context notification type template id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "put": {
        "tags": [
          "Context Notification Type Templates"
        ],
        "summary": "Updates a specific context notification type template",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "context_notification_type_template",
            "in": "body",
            "required": false,
            "description": "The payload to create a context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "type",
                "priority",
                "data"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "email",
                    "whatsapp",
                    "sms"
                  ]
                },
                "priority": {
                  "type": "number",
                  "minimum": 0
                },
                "position_types": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "enum": [
                      "za_allied_professional",
                      "gbr_care_course",
                      "za_care_giver",
                      "gbr_care_worker",
                      "gbr_catering",
                      "gbr_industrial",
                      "gbr_locum",
                      "za_locum",
                      "gbr_locum_allied",
                      "gbr_nurse",
                      "gbr_teacher",
                      "gbr_teaching_support_staff",
                      "gbr_support_administration",
                      "gbr_caretaking_site_services",
                      "za_nurse",
                      "gbr_social_worker",
                      "za_social_worker",
                      "gbr_social_worker_rsw",
                      "gbr_gp",
                      "gbr_odp"
                    ]
                  }
                },
                "data": {
                  "type": "object"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Context notification type template resource model",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "priority",
                    "data"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "whatsapp",
                        "sms"
                      ]
                    },
                    "priority": {
                      "type": "number",
                      "minimum": 0
                    },
                    "position_types": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp"
                        ]
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "required_tokens",
                    "context_type",
                    "context_type_id",
                    "context_notification_type_id",
                    "status"
                  ],
                  "properties": {
                    "required_tokens": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when creating a context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "ARRAY_UNIQUE",
                              "ARRAY_LENGTH_SHORT",
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "INVALID_FORMAT",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "TEMPLATE_TOKENS_NOT_SUPPORTED"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Some pre condition failed while updating context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONTEXT_NOTIFICATION_TYPE_TEMPLATE_STATUS_MUST_BE_DRAFT",
                    "EXISTING_NOTIFICATION_TYPE_TEMPLATE_ENABLED_INCLUDES_POSITION_TYPE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/notification-types/{context_notification_type_id}/templates": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_notification_type_id",
          "in": "path",
          "required": true,
          "description": "The context notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Context Notification Type Templates"
        ],
        "summary": "Create a context notification type template",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "context_notification_type_template",
            "in": "body",
            "required": false,
            "description": "The payload to create a context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "type",
                "priority",
                "data"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "email",
                    "whatsapp",
                    "sms"
                  ]
                },
                "priority": {
                  "type": "number",
                  "minimum": 0
                },
                "position_types": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "enum": [
                      "za_allied_professional",
                      "gbr_care_course",
                      "za_care_giver",
                      "gbr_care_worker",
                      "gbr_catering",
                      "gbr_industrial",
                      "gbr_locum",
                      "za_locum",
                      "gbr_locum_allied",
                      "gbr_nurse",
                      "gbr_teacher",
                      "gbr_teaching_support_staff",
                      "gbr_support_administration",
                      "gbr_caretaking_site_services",
                      "za_nurse",
                      "gbr_social_worker",
                      "za_social_worker",
                      "gbr_social_worker_rsw",
                      "gbr_gp",
                      "gbr_odp"
                    ]
                  }
                },
                "data": {
                  "type": "object"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Context notification type template resource model",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "priority",
                    "data"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "whatsapp",
                        "sms"
                      ]
                    },
                    "priority": {
                      "type": "number",
                      "minimum": 0
                    },
                    "position_types": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp"
                        ]
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "required_tokens",
                    "context_type",
                    "context_type_id",
                    "context_notification_type_id",
                    "status"
                  ],
                  "properties": {
                    "required_tokens": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when creating a context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "ARRAY_UNIQUE",
                              "ARRAY_LENGTH_SHORT",
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "INVALID_FORMAT",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "TEMPLATE_TOKENS_NOT_SUPPORTED"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "create"
              ]
            }
          }
        ]
      },
      "get": {
        "tags": [
          "Context Notification Type Templates"
        ],
        "summary": "Retrieves list of all context notification type templates filtered by notification type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The status of context notification type template to filter the results by"
          },
          {
            "name": "type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The type of context notification type template to filter the results by"
          },
          {
            "name": "position_types",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The position type of context notification type template to filter the results by",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "required_tokens",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The required token of context notification type template to filter the results by",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `updated_at`, `-updated_at`",
            "items": {
              "type": "string",
              "enum": [
                "position_types",
                "updated_at",
                "created_at",
                "type",
                "required_tokens",
                "status",
                "-position_types",
                "-updated_at",
                "-created_at",
                "-type",
                "-required_tokens",
                "-status"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of all context notification type templates will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "type",
                      "priority",
                      "data"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "email",
                          "whatsapp",
                          "sms"
                        ]
                      },
                      "priority": {
                        "type": "number",
                        "minimum": 0
                      },
                      "position_types": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "enum": [
                            "za_allied_professional",
                            "gbr_care_course",
                            "za_care_giver",
                            "gbr_care_worker",
                            "gbr_catering",
                            "gbr_industrial",
                            "gbr_locum",
                            "za_locum",
                            "gbr_locum_allied",
                            "gbr_nurse",
                            "gbr_teacher",
                            "gbr_teaching_support_staff",
                            "gbr_support_administration",
                            "gbr_caretaking_site_services",
                            "za_nurse",
                            "gbr_social_worker",
                            "za_social_worker",
                            "gbr_social_worker_rsw",
                            "gbr_gp",
                            "gbr_odp"
                          ]
                        }
                      },
                      "data": {
                        "type": "object"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "required_tokens",
                      "context_type",
                      "context_type_id",
                      "context_notification_type_id",
                      "status"
                    ],
                    "properties": {
                      "required_tokens": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "context_type": {
                        "type": "string",
                        "enum": [
                          "agency",
                          "agency-group"
                        ]
                      },
                      "context_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "context_notification_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "draft",
                          "enabled",
                          "disabled"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "notification_type_templates",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/notification-types": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Context Notification Types"
        ],
        "summary": "Create a context notification type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "context_notification_type_create_body_param",
            "in": "body",
            "required": false,
            "description": "The payload used to create a context notification type",
            "schema": {
              "type": "object",
              "properties": {
                "notification_group_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "notification_type_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "type": {
                  "type": "string",
                  "minLength": 1
                },
                "audience": {
                  "type": "string",
                  "enum": [
                    "candidate",
                    "context_user"
                  ]
                },
                "ttl": {
                  "type": "integer",
                  "minimum": 0
                },
                "activity_details": {
                  "type": "object",
                  "required": [
                    "type",
                    "description"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "minLength": 3
                    },
                    "description": {
                      "type": "string",
                      "minLength": 3
                    }
                  }
                },
                "whitelisted_statuses": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  }
                },
                "medium_selection": {
                  "type": "string",
                  "enum": [
                    "automatic",
                    "manual"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The context notification type resource response",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "notification_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "audience": {
                      "type": "string",
                      "enum": [
                        "candidate",
                        "context_user"
                      ]
                    },
                    "ttl": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "activity_details": {
                      "type": "object",
                      "required": [
                        "type",
                        "description"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "minLength": 3
                        },
                        "description": {
                          "type": "string",
                          "minLength": 3
                        }
                      }
                    },
                    "whitelisted_statuses": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    },
                    "medium_selection": {
                      "type": "string",
                      "enum": [
                        "automatic",
                        "manual"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "status",
                    "version",
                    "context_type",
                    "context_type_id"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    },
                    "version": {
                      "type": "integer"
                    },
                    "context_type": {
                      "type": "string",
                      "enum": [
                        "agency",
                        "agency-group"
                      ]
                    },
                    "context_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "type"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "type": {
                            "type": "string",
                            "minLength": 1
                          },
                          "format": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Notification type validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "PATTERN",
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "NOTIFICATION_TYPE_DOES_NOT_EXIST",
                              "NOTIFICATION_GROUP_DOES_NOT_EXIST",
                              "EITHER_GROUP_OR_TYPE_SHOULD_BE_DEFINED",
                              "INVALID_AUDIENCE"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "notification_types",
              "permission": [
                "create"
              ]
            }
          }
        ]
      },
      "get": {
        "tags": [
          "Context Notification Types"
        ],
        "summary": "Retrieves list of all context notification types",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `updated_at`, `-updated_at`",
            "items": {
              "type": "string",
              "enum": [
                "updated_at",
                "created_at",
                "audience",
                "type",
                "-updated_at",
                "-created_at",
                "-audience",
                "-type"
              ]
            }
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The status of context notification type to filter the results by"
          },
          {
            "name": "audience",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The audience of context notification type to filter the results by"
          },
          {
            "name": "type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The type of context notification type to filter the results by"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all context notification types will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "notification_group_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "notification_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "type": {
                        "type": "string",
                        "minLength": 1
                      },
                      "audience": {
                        "type": "string",
                        "enum": [
                          "candidate",
                          "context_user"
                        ]
                      },
                      "ttl": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "activity_details": {
                        "type": "object",
                        "required": [
                          "type",
                          "description"
                        ],
                        "properties": {
                          "type": {
                            "type": "string",
                            "minLength": 3
                          },
                          "description": {
                            "type": "string",
                            "minLength": 3
                          }
                        }
                      },
                      "whitelisted_statuses": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        }
                      },
                      "medium_selection": {
                        "type": "string",
                        "enum": [
                          "automatic",
                          "manual"
                        ]
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "status",
                      "version",
                      "context_type",
                      "context_type_id"
                    ],
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "draft",
                          "enabled",
                          "disabled"
                        ]
                      },
                      "version": {
                        "type": "integer"
                      },
                      "context_type": {
                        "type": "string",
                        "enum": [
                          "agency",
                          "agency-group"
                        ]
                      },
                      "context_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "external_tokens": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "token",
                            "type"
                          ],
                          "properties": {
                            "token": {
                              "type": "string",
                              "minLength": 1
                            },
                            "type": {
                              "type": "string",
                              "minLength": 1
                            },
                            "format": {
                              "type": "string",
                              "minLength": 1
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "notification_types",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/candidate/{candidate_id}/notification-settings": {
      "parameters": [
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "get": {
        "tags": [
          "Candidate Notification Settings"
        ],
        "summary": "Retrieves list of all candidate notification settings",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "resource_type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The resource type of candidate notification setting to filter the results by"
          },
          {
            "name": "resource_id",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The resource id of candidate notification setting to filter the results by"
          },
          {
            "name": "type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The type of candidate notification setting to filter the results by"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `updated_at`, `-updated_at`",
            "items": {
              "type": "string",
              "enum": [
                "updated_at",
                "created_at",
                "resource_type",
                "resource_id",
                "type",
                "-updated_at",
                "-created_at",
                "-resource_type",
                "-resource_id",
                "-type"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of all candidate notification settings will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "candidate_id",
                      "type",
                      "value"
                    ],
                    "properties": {
                      "candidate_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "resource_type": {
                        "type": "string",
                        "enum": [
                          "agency",
                          "agency-group"
                        ]
                      },
                      "resource_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "value": {
                        "type": "boolean"
                      },
                      "type": {
                        "type": "string",
                        "minLength": 1
                      },
                      "ancestors": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "resource_type",
                            "resource_id"
                          ],
                          "properties": {
                            "resource_type": {
                              "type": "string",
                              "enum": [
                                "agency",
                                "agency-group"
                              ]
                            },
                            "resource_id": {
                              "type": "string",
                              "pattern": "^[0-9a-fA-F]{24}$"
                            }
                          }
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "No resource found",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "candidateLinkToAgencyAgencyGroup": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "operation": {
              "name": "candidate_notification_settings",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "operation": {
              "name": "candidate_notification_settings",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_notification_settings",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-candidateLinkToAgencyAgencyGroup-security": {
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/system/notification-groups/{notification_group_id}": {
      "parameters": [
        {
          "name": "notification_group_id",
          "in": "path",
          "required": true,
          "description": "The notification group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "get": {
        "tags": [
          "Notification Groups"
        ],
        "x-proxy-route": "/notification-groups/{notification_group_id}",
        "summary": "Gets the specific notification group",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "specific notification group will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "description": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      },
      "put": {
        "tags": [
          "Notification Groups"
        ],
        "x-proxy-route": "/notification-groups/{notification_group_id}",
        "summary": "Updates a specific notification group",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "notification_group_create_body_param",
            "in": "body",
            "required": false,
            "description": "The payload used to create a notification group",
            "schema": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1
                },
                "description": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The updated notification group will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "description": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "400": {
            "description": "Usually caused by invalid input",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code",
                          "message"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "OBJECT_MISSING_REQUIRED_PROPERTY"
                            ]
                          },
                          "message": {
                            "type": "string"
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/notification-groups": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Notification Groups"
        ],
        "x-proxy-route": "/notification-groups",
        "summary": "Create a notification group",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "notification_group_create_body_param",
            "in": "body",
            "required": false,
            "description": "The payload used to create a notification group",
            "schema": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1
                },
                "description": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The response after a notification group has been created",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "description": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "400": {
            "description": "Notification Group validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code",
                          "message"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "OBJECT_MISSING_REQUIRED_PROPERTY"
                            ]
                          },
                          "message": {
                            "type": "string"
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      },
      "get": {
        "tags": [
          "Notification Groups"
        ],
        "x-proxy-route": "/notification-groups",
        "summary": "Retrieves list of all notification groups",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `updated_at`, `-updated_at`",
            "items": {
              "type": "string",
              "enum": [
                "updated_at",
                "created_at",
                "-updated_at",
                "-created_at"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of all notification groups will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "name"
                    ],
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1
                      },
                      "description": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "additionalProperties": false
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/notification-tokens/{notification_token_id}/status-changes": {
      "parameters": [
        {
          "name": "notification_token_id",
          "in": "path",
          "required": true,
          "description": "The notification token id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Notification Tokens"
        ],
        "x-proxy-route": "/notification-tokens/{notification_token_id}/status-changes",
        "summary": "Changes the status of specific notification token",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "notification_tokens_status_param",
            "in": "body",
            "required": false,
            "description": "The payload used to change status of notification tokens",
            "schema": {
              "type": "object",
              "required": [
                "action"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "enable",
                    "deprecate",
                    "disable"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Details about the updated notification token",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "audience",
                    "token"
                  ],
                  "properties": {
                    "audience": {
                      "type": "string",
                      "enum": [
                        "candidate",
                        "user"
                      ]
                    },
                    "token": {
                      "type": "string",
                      "minLength": 1
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "status"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "deprecated",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "304": {
            "description": "No modified. No records were modified based on your query."
          },
          "400": {
            "description": "Notification tokens validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "ACTION_NOT_ALLOWED",
                    "POSITION_TYPES_REQUIRED",
                    "POSITION_TYPES_NOT_ALLOWED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/notification-tokens/{notification_token_id}": {
      "parameters": [
        {
          "name": "notification_token_id",
          "in": "path",
          "required": true,
          "description": "The notification token id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "put": {
        "tags": [
          "Notification Tokens"
        ],
        "x-proxy-route": "/notification-tokens/{notification_token_id}",
        "summary": "Update notification token resource",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "update_notification_token_body_param",
            "in": "body",
            "required": false,
            "description": "The payload used to update notification token",
            "schema": {
              "type": "object",
              "required": [
                "audience",
                "token"
              ],
              "properties": {
                "audience": {
                  "type": "string",
                  "enum": [
                    "candidate",
                    "user"
                  ]
                },
                "token": {
                  "type": "string",
                  "minLength": 1
                },
                "type": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated notification token will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "audience",
                    "token"
                  ],
                  "properties": {
                    "audience": {
                      "type": "string",
                      "enum": [
                        "candidate",
                        "user"
                      ]
                    },
                    "token": {
                      "type": "string",
                      "minLength": 1
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "status"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "deprecated",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation errors when updating notification token",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "MIN_LENGTH",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "OBJECT_MISSING_REQUIRED_PROPERTY"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Some status pre condition failed",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "NOTIFICATION_TOKEN_STATUS_MUST_BE_DRAFT"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      },
      "get": {
        "tags": [
          "Notification Tokens"
        ],
        "x-proxy-route": "/notification-tokens/{notification_token_id}",
        "summary": "Gets the specific notification token",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "specific notification token will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "audience",
                    "token"
                  ],
                  "properties": {
                    "audience": {
                      "type": "string",
                      "enum": [
                        "candidate",
                        "user"
                      ]
                    },
                    "token": {
                      "type": "string",
                      "minLength": 1
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "status"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "deprecated",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/notification-tokens": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Notification Tokens"
        ],
        "x-proxy-route": "/notification-tokens",
        "summary": "Creates a notification token",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "notification_tokens_body_param",
            "in": "body",
            "required": false,
            "description": "The payload used to create notification tokens",
            "schema": {
              "type": "object",
              "required": [
                "audience",
                "token"
              ],
              "properties": {
                "audience": {
                  "type": "string",
                  "enum": [
                    "candidate",
                    "user"
                  ]
                },
                "token": {
                  "type": "string",
                  "minLength": 1
                },
                "type": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Details about the notification token that was created",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "audience",
                    "token"
                  ],
                  "properties": {
                    "audience": {
                      "type": "string",
                      "enum": [
                        "candidate",
                        "user"
                      ]
                    },
                    "token": {
                      "type": "string",
                      "minLength": 1
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "status"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "deprecated",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Notification tokens validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      },
      "get": {
        "tags": [
          "Notification Tokens"
        ],
        "x-proxy-route": "/notification-tokens",
        "summary": "Retrieves list of all notification tokens",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The status of notification token to filter the results by"
          },
          {
            "name": "type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The type of notification token to filter the results by"
          },
          {
            "name": "audience",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The audience of notification token to filter the results by"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `updated_at`, `-updated_at`",
            "items": {
              "type": "string",
              "enum": [
                "updated_at",
                "created_at",
                "audience",
                "-updated_at",
                "-created_at",
                "-audience"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of all notification tokens will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "audience",
                      "token"
                    ],
                    "properties": {
                      "audience": {
                        "type": "string",
                        "enum": [
                          "candidate",
                          "user"
                        ]
                      },
                      "token": {
                        "type": "string",
                        "minLength": 1
                      },
                      "type": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "status"
                    ],
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "draft",
                          "enabled",
                          "deprecated",
                          "disabled"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/notification-types/{notification_type_id}/status-changes": {
      "parameters": [
        {
          "name": "notification_type_id",
          "in": "path",
          "required": true,
          "description": "The notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Notification Types"
        ],
        "x-proxy-route": "/notification-types/{notification_type_id}/status-changes",
        "summary": "Updates a status of specific notification type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "notification_type_status_param",
            "in": "body",
            "required": false,
            "description": "The payload used to change status of notification type",
            "schema": {
              "type": "object",
              "required": [
                "action"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "enable",
                    "deprecate",
                    "disable"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The notification type resource response",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "notification_group_id",
                    "type",
                    "audience"
                  ],
                  "properties": {
                    "notification_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "audience": {
                      "type": "string",
                      "enum": [
                        "candidate",
                        "user",
                        "context_user"
                      ]
                    },
                    "ttl": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "type"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "type": {
                            "type": "string",
                            "minLength": 1
                          },
                          "format": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "status",
                    "version"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "deprecated",
                        "disabled"
                      ]
                    },
                    "version": {
                      "type": "integer"
                    }
                  }
                }
              ]
            }
          },
          "304": {
            "description": "No modified. No records were modified based on your query."
          },
          "400": {
            "description": "Notification types validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "ACTION_NOT_ALLOWED",
                    "POSITION_TYPES_REQUIRED",
                    "POSITION_TYPES_NOT_ALLOWED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/notification-types/{notification_type_id}/templates": {
      "parameters": [
        {
          "name": "notification_type_id",
          "in": "path",
          "required": true,
          "description": "The notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Notification Types"
        ],
        "x-proxy-route": "/notification-types/{notification_type_id}/templates",
        "summary": "Create template specific notification type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "notification_type_template_create_param",
            "in": "body",
            "required": false,
            "description": "The payload used to create a notification type template",
            "schema": {
              "type": "object",
              "required": [
                "type",
                "priority",
                "data"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "email",
                    "whatsapp",
                    "sms"
                  ]
                },
                "priority": {
                  "type": "number",
                  "minimum": 0
                },
                "position_types": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "enum": [
                      "za_allied_professional",
                      "gbr_care_course",
                      "za_care_giver",
                      "gbr_care_worker",
                      "gbr_catering",
                      "gbr_industrial",
                      "gbr_locum",
                      "za_locum",
                      "gbr_locum_allied",
                      "gbr_nurse",
                      "gbr_teacher",
                      "gbr_teaching_support_staff",
                      "gbr_support_administration",
                      "gbr_caretaking_site_services",
                      "za_nurse",
                      "gbr_social_worker",
                      "za_social_worker",
                      "gbr_social_worker_rsw",
                      "gbr_gp",
                      "gbr_odp"
                    ]
                  }
                },
                "data": {
                  "type": "object"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Context notification type template resource model",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "priority",
                    "data"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "whatsapp",
                        "sms"
                      ]
                    },
                    "priority": {
                      "type": "number",
                      "minimum": 0
                    },
                    "position_types": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp"
                        ]
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "required_tokens",
                    "notification_type_id",
                    "status"
                  ],
                  "properties": {
                    "required_tokens": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when creating a notification type template",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "ARRAY_UNIQUE",
                              "ARRAY_LENGTH_SHORT",
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "INVALID_FORMAT",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "TEMPLATE_TOKENS_NOT_SUPPORTED"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      },
      "get": {
        "tags": [
          "Notification Types"
        ],
        "x-proxy-route": "/notification-types/{notification_type_id}/templates",
        "summary": "Retrieves list of all notification type templates",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The status of notification type template to filter the results by"
          },
          {
            "name": "type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The type of notification type template to filter the results by"
          },
          {
            "name": "position_types",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The position type of notification type template to filter the results by",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "required_tokens",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The required token of notification type template to filter the results by",
            "items": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `updated_at`, `-updated_at`",
            "items": {
              "type": "string",
              "enum": [
                "position_types",
                "updated_at",
                "created_at",
                "type",
                "required_tokens",
                "status",
                "-position_types",
                "-updated_at",
                "-created_at",
                "-type",
                "-required_tokens",
                "-status"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of all notification type templates will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "type",
                      "priority",
                      "data"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "email",
                          "whatsapp",
                          "sms"
                        ]
                      },
                      "priority": {
                        "type": "number",
                        "minimum": 0
                      },
                      "position_types": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "enum": [
                            "za_allied_professional",
                            "gbr_care_course",
                            "za_care_giver",
                            "gbr_care_worker",
                            "gbr_catering",
                            "gbr_industrial",
                            "gbr_locum",
                            "za_locum",
                            "gbr_locum_allied",
                            "gbr_nurse",
                            "gbr_teacher",
                            "gbr_teaching_support_staff",
                            "gbr_support_administration",
                            "gbr_caretaking_site_services",
                            "za_nurse",
                            "gbr_social_worker",
                            "za_social_worker",
                            "gbr_social_worker_rsw",
                            "gbr_gp",
                            "gbr_odp"
                          ]
                        }
                      },
                      "data": {
                        "type": "object"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "required_tokens",
                      "notification_type_id",
                      "status"
                    ],
                    "properties": {
                      "required_tokens": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "notification_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "draft",
                          "enabled",
                          "disabled"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/notification-types/{notification_type_id}": {
      "parameters": [
        {
          "name": "notification_type_id",
          "in": "path",
          "required": true,
          "description": "The notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "get": {
        "tags": [
          "Notification Types"
        ],
        "x-proxy-route": "/notification-types/{notification_type_id}",
        "summary": "Gets the specific notification type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specific notification type will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "notification_group_id",
                    "type",
                    "audience"
                  ],
                  "properties": {
                    "notification_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "audience": {
                      "type": "string",
                      "enum": [
                        "candidate",
                        "user",
                        "context_user"
                      ]
                    },
                    "ttl": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "type"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "type": {
                            "type": "string",
                            "minLength": 1
                          },
                          "format": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "status",
                    "version"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "deprecated",
                        "disabled"
                      ]
                    },
                    "version": {
                      "type": "integer"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/notification-types/{system_notification_type_id}/templates/{template_id}": {
      "parameters": [
        {
          "name": "system_notification_type_id",
          "in": "path",
          "required": true,
          "description": "The system notification type id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "template_id",
          "in": "path",
          "required": true,
          "description": "The context notification type template id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "put": {
        "tags": [
          "Notification Types"
        ],
        "x-proxy-route": "/notification-types/{system_notification_type_id}/templates/{template_id}",
        "summary": "Updates an specific system template",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "system_notification_type_template_update_param",
            "in": "body",
            "required": false,
            "description": "The payload used to create a notification type template",
            "schema": {
              "type": "object",
              "required": [
                "priority",
                "data"
              ],
              "properties": {
                "priority": {
                  "type": "number",
                  "minimum": 0
                },
                "position_types": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "enum": [
                      "za_allied_professional",
                      "gbr_care_course",
                      "za_care_giver",
                      "gbr_care_worker",
                      "gbr_catering",
                      "gbr_industrial",
                      "gbr_locum",
                      "za_locum",
                      "gbr_locum_allied",
                      "gbr_nurse",
                      "gbr_teacher",
                      "gbr_teaching_support_staff",
                      "gbr_support_administration",
                      "gbr_caretaking_site_services",
                      "za_nurse",
                      "gbr_social_worker",
                      "za_social_worker",
                      "gbr_social_worker_rsw",
                      "gbr_gp",
                      "gbr_odp"
                    ]
                  }
                },
                "data": {
                  "type": "object"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Context notification type template resource model",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type",
                    "priority",
                    "data"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "whatsapp",
                        "sms"
                      ]
                    },
                    "priority": {
                      "type": "number",
                      "minimum": 0
                    },
                    "position_types": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp"
                        ]
                      }
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "required_tokens",
                    "notification_type_id",
                    "status"
                  ],
                  "properties": {
                    "required_tokens": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "notification_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "disabled"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when creating a notification type template",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED",
                    "REQUIRED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "ARRAY_UNIQUE",
                              "ARRAY_LENGTH_SHORT",
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "INVALID_FORMAT",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "TEMPLATE_TOKENS_NOT_SUPPORTED"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Some pre condition failed while updating context notification type template",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONTEXT_NOTIFICATION_TYPE_TEMPLATE_STATUS_MUST_BE_DRAFT",
                    "EXISTING_NOTIFICATION_TYPE_TEMPLATE_ENABLED_INCLUDES_POSITION_TYPE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/notification-types": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "hedwig",
      "post": {
        "tags": [
          "Notification Types"
        ],
        "x-proxy-route": "/notification-types",
        "summary": "Create a notification type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "notification_type_create_body_param",
            "in": "body",
            "required": false,
            "description": "The payload used to create a notification type",
            "schema": {
              "type": "object",
              "required": [
                "notification_group_id",
                "type",
                "audience"
              ],
              "properties": {
                "notification_group_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "type": {
                  "type": "string",
                  "minLength": 1
                },
                "audience": {
                  "type": "string",
                  "enum": [
                    "candidate",
                    "user",
                    "context_user"
                  ]
                },
                "ttl": {
                  "type": "integer",
                  "minimum": 0
                },
                "external_tokens": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "token",
                      "type"
                    ],
                    "properties": {
                      "token": {
                        "type": "string",
                        "minLength": 1
                      },
                      "type": {
                        "type": "string",
                        "minLength": 1
                      },
                      "format": {
                        "type": "string",
                        "minLength": 1
                      }
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The notification type resource response",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "notification_group_id",
                    "type",
                    "audience"
                  ],
                  "properties": {
                    "notification_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "audience": {
                      "type": "string",
                      "enum": [
                        "candidate",
                        "user",
                        "context_user"
                      ]
                    },
                    "ttl": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "external_tokens": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "token",
                          "type"
                        ],
                        "properties": {
                          "token": {
                            "type": "string",
                            "minLength": 1
                          },
                          "type": {
                            "type": "string",
                            "minLength": 1
                          },
                          "format": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "status",
                    "version"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "enabled",
                        "deprecated",
                        "disabled"
                      ]
                    },
                    "version": {
                      "type": "integer"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Notification type validation response definition",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "PATTERN",
                              "MIN_LENGTH",
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "NOTIFICATION_GROUP_DOES_NOT_EXIST",
                              "NOTIFICATION_TYPE_AUDIENCE_MIS_MATCH",
                              "INVALID_AUDIENCE",
                              "EXISTING_NOTIFICATION_TYPE_ENABLED"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      },
      "get": {
        "tags": [
          "Notification Types"
        ],
        "x-proxy-route": "/notification-types",
        "summary": "Retrieves list of all Notification Types",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The status of notification type to filter the results by"
          },
          {
            "name": "type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The type of notification type to filter the results by"
          },
          {
            "name": "audience",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The audience of notification type to filter the results by"
          },
          {
            "name": "version",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The version of notification type to filter the results by"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `updated_at`, `-updated_at`",
            "items": {
              "type": "string",
              "enum": [
                "updated_at",
                "created_at",
                "audience",
                "version",
                "type",
                "-updated_at",
                "-created_at",
                "-audience",
                "-version",
                "-type"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of all notification types will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "notification_group_id",
                      "type",
                      "audience"
                    ],
                    "properties": {
                      "notification_group_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "type": {
                        "type": "string",
                        "minLength": 1
                      },
                      "audience": {
                        "type": "string",
                        "enum": [
                          "candidate",
                          "user",
                          "context_user"
                        ]
                      },
                      "ttl": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "external_tokens": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "token",
                            "type"
                          ],
                          "properties": {
                            "token": {
                              "type": "string",
                              "minLength": 1
                            },
                            "type": {
                              "type": "string",
                              "minLength": 1
                            },
                            "format": {
                              "type": "string",
                              "minLength": 1
                            }
                          }
                        }
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "status",
                      "version"
                    ],
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "draft",
                          "enabled",
                          "deprecated",
                          "disabled"
                        ]
                      },
                      "version": {
                        "type": "integer"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/lookup": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "lookup-service",
      "get": {
        "tags": [
          "Agency Group Lookup"
        ],
        "x-proxy-route": "/agency-group/{agency_group_id}/lookup",
        "summary": "Get lookup list for agency group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-Request-Id",
            "in": "header",
            "type": "string",
            "required": false,
            "description": "The request ID for the incoming payload"
          },
          {
            "name": "agency_group_id",
            "in": "path",
            "type": "string",
            "required": true,
            "description": "Agency group id",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page of documents to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The number of documents per page"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "A comma separated list of fields indicating sort order",
            "items": {
              "type": "string",
              "enum": [
                "lookup_type",
                "-lookup_type"
              ]
            }
          },
          {
            "name": "lookup_type",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": false,
            "description": "The lookup type to filter on"
          },
          {
            "name": "category",
            "description": "The lookup type category to filter on",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "minItems": 1
            },
            "uniqueItems": true,
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "The list of lookup objects",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "name"
                        ],
                        "properties": {
                          "name": {
                            "type": "string",
                            "pattern": "^(?!\\s*$).+"
                          },
                          "parent": {
                            "type": "string"
                          },
                          "metadata": {
                            "type": "object"
                          },
                          "related": {
                            "type": "object",
                            "required": [
                              "entity_type",
                              "entity_id"
                            ],
                            "properties": {
                              "entity_type": {
                                "type": "string"
                              },
                              "entity_id": {
                                "type": "string",
                                "pattern": "^(?!\\s*$).+"
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "required": [
                          "_id",
                          "updated_at",
                          "created_at",
                          "__v"
                        ],
                        "properties": {
                          "_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "updated_at": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "created_at": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "__v": {
                            "type": "integer"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "_id": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "_id"
                        ]
                      }
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "lookup_type": {
                        "type": "string"
                      },
                      "category": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1
                        },
                        "uniqueItems": true
                      }
                    },
                    "required": [
                      "lookup_type"
                    ]
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No records found that matches the query"
          },
          "400": {
            "description": "Invalid data response",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "lookup",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/lookup": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "lookup-service",
      "get": {
        "tags": [
          "Agency Lookup"
        ],
        "x-proxy-route": "/agency/{agency_id}/lookup",
        "summary": "Get lookup list for one entity type and id",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-Request-Id",
            "in": "header",
            "type": "string",
            "required": false,
            "description": "The request ID for the incoming payload"
          },
          {
            "name": "agency_id",
            "in": "path",
            "type": "string",
            "required": true,
            "description": "Agency id",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page of documents to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The number of documents per page"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "A comma separated list of fields indicating sort order",
            "items": {
              "type": "string",
              "enum": [
                "lookup_type",
                "-lookup_type"
              ]
            }
          },
          {
            "name": "lookup_type",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string"
            },
            "required": false,
            "description": "The lookup type to filter on"
          },
          {
            "name": "category",
            "description": "The lookup type category to filter on",
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "minItems": 1
            },
            "uniqueItems": true,
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "The list of lookup objects",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "name"
                        ],
                        "properties": {
                          "name": {
                            "type": "string",
                            "pattern": "^(?!\\s*$).+"
                          },
                          "parent": {
                            "type": "string"
                          },
                          "metadata": {
                            "type": "object"
                          },
                          "related": {
                            "type": "object",
                            "required": [
                              "entity_type",
                              "entity_id"
                            ],
                            "properties": {
                              "entity_type": {
                                "type": "string"
                              },
                              "entity_id": {
                                "type": "string",
                                "pattern": "^(?!\\s*$).+"
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "required": [
                          "_id",
                          "updated_at",
                          "created_at",
                          "__v"
                        ],
                        "properties": {
                          "_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "updated_at": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "created_at": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "__v": {
                            "type": "integer"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "_id": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "_id"
                        ]
                      }
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "lookup_type": {
                        "type": "string"
                      },
                      "category": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1
                        },
                        "uniqueItems": true
                      }
                    },
                    "required": [
                      "lookup_type"
                    ]
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No records found that matches the query"
          },
          "400": {
            "description": "Invalid data response",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "lookup",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/system/lookup/{lookup_type}": {
      "parameters": [
        {
          "name": "lookup_type",
          "in": "path",
          "description": "The type of the lookup",
          "required": true,
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "lookup-service",
      "post": {
        "tags": [
          "Lookup"
        ],
        "x-proxy-route": "/lookup/{lookup_type}",
        "summary": "Creates a new lookup for a specific type",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "lookup",
            "in": "body",
            "description": "The lookup's details",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "pattern": "^(?!\\s*$).+"
                },
                "parent": {
                  "type": "string"
                },
                "metadata": {
                  "type": "object"
                },
                "related": {
                  "type": "object",
                  "required": [
                    "entity_type",
                    "entity_id"
                  ],
                  "properties": {
                    "entity_type": {
                      "type": "string"
                    },
                    "entity_id": {
                      "type": "string",
                      "pattern": "^(?!\\s*$).+"
                    }
                  },
                  "additionalProperties": false
                },
                "category": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "uniqueItems": true
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The lookup object that was create, update or requested",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "pattern": "^(?!\\s*$).+"
                    },
                    "parent": {
                      "type": "string"
                    },
                    "metadata": {
                      "type": "object"
                    },
                    "related": {
                      "type": "object",
                      "required": [
                        "entity_type",
                        "entity_id"
                      ],
                      "properties": {
                        "entity_type": {
                          "type": "string"
                        },
                        "entity_id": {
                          "type": "string",
                          "pattern": "^(?!\\s*$).+"
                        }
                      },
                      "additionalProperties": false
                    },
                    "category": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      },
                      "uniqueItems": true
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "_id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "_id"
                  ]
                }
              ]
            }
          },
          "400": {
            "description": "A validation error occurred",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "code",
                    "message"
                  ],
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "type": "array",
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "message"
                            ],
                            "properties": {
                              "message": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "path": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          {
                            "type": "object",
                            "properties": {
                              "code": {
                                "type": "string",
                                "enum": [
                                  "INVALID_TYPE",
                                  "PARENT_TYPE_INVALID",
                                  "OBJECT_ADDITIONAL_PROPERTIES",
                                  "DUPLICATE_ID_FOR_LOOKUP",
                                  "INVALID_LOOKUP_TYPE",
                                  "INVALID_ENTITY_TYPE",
                                  "MIN_LENGTH",
                                  "ARRAY_UNIQUE"
                                ]
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              ]
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/position-held/job-family/{job_family_id}/job-title/{job_title_id}/status-changes": {
      "parameters": [
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The candidate id",
          "type": "string"
        },
        {
          "name": "job_family_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The job family id",
          "type": "string"
        },
        {
          "name": "job_title_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The job title id",
          "type": "string"
        },
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The agency group id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "post": {
        "tags": [
          "Agency Group Candidate Position Held Status"
        ],
        "summary": "Upserts a specific agency group candidate position held status",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "position_held_status_change_param",
            "in": "body",
            "description": "The payload used to change candidate position held status",
            "schema": {
              "type": "object",
              "required": [
                "action"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "active",
                    "inactive"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Specific agency group candidate position held status details will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "candidate_id",
                    "job_family_id",
                    "job_title_id",
                    "status"
                  ],
                  "properties": {
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "job_family_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "job_title_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "active",
                        "inactive"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "304": {
            "description": "Position held status not modified"
          },
          "400": {
            "description": "Validation error response when updating position held status",
            "schema": {
              "type": "object",
              "required": [
                "code"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "OBJECT_ADDITIONAL_PROPERTIES",
                    "SCHEMA_VALIDATION_FAILED",
                    "OBJECT_MISSING_REQUIRED_PROPERTY",
                    "PATTERN",
                    "REQUIRED",
                    "ENUM_MISMATCH"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyGroupCandidate": [],
            "staffshift": []
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_position_held_status",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/position-held-work-history-breakdown": {
      "parameters": [
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The candidate id",
          "type": "string"
        },
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "Then agency-group id",
          "type": "string",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "post": {
        "tags": [
          "Candidate Position Held Work History Breakdown"
        ],
        "x-proxy-route": "/candidate/{candidate_id}/position-held-work-history-breakdown",
        "summary": "Get candidate position held work history breakdown",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "candidate_position_held_work_history_breakdown_payload",
            "in": "body",
            "description": "The candidate position held work history breakdown payload",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "job_title"
              ],
              "properties": {
                "job_title": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The candidate position held work history breakdown, this split into 2 sections agency work and other work, where the agency work component is a summarised view per agency",
            "schema": {
              "type": "object",
              "required": [
                "candidate_id",
                "job_title",
                "job_title_name"
              ],
              "properties": {
                "candidate_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "job_title": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "job_title_name": {
                  "type": "string"
                },
                "agency_work": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "employer_name",
                      "start_date"
                    ],
                    "properties": {
                      "employer_name": {
                        "type": "string"
                      },
                      "start_date": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "end_date": {
                        "type": "string",
                        "format": "date-time"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "other_work": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "employer_name",
                      "start_date"
                    ],
                    "properties": {
                      "employer_name": {
                        "type": "string"
                      },
                      "start_date": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "end_date": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "responsibility": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "400": {
            "description": "Bad request, usually caused by invalid user input",
            "schema": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "PATTERN"
                  ]
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "PATTERN",
                              "INVALID_TYPE"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyGroupCandidate": [],
            "staffshift": []
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_position_held",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/registration-body/{candidate_registration_body_id}/entry/{candidate_entry_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The agency group id",
          "type": "string"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The candidate id",
          "type": "string"
        },
        {
          "name": "candidate_registration_body_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The candidate registration body id",
          "type": "string"
        },
        {
          "name": "candidate_entry_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The candidate entry id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "delete": {
        "tags": [
          "Agency Group Candidate Registration Body entry"
        ],
        "summary": "Removes a specific Agency Group Candidate Registration body entry",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Deleted agency group candidate registration body entry will be returned",
            "schema": {
              "type": "object",
              "required": [
                "_id",
                "updated_at",
                "created_at",
                "registration_body_entry",
                "status"
              ],
              "properties": {
                "_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "obtained_at": {
                  "type": "string",
                  "format": "date"
                },
                "valid_at": {
                  "type": "string",
                  "format": "date"
                },
                "expires_at": {
                  "type": "string",
                  "format": "date"
                },
                "registration_body_entry": {
                  "type": "object",
                  "required": [
                    "_id",
                    "name",
                    "short_name"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "short_name": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                "status": {
                  "type": "object",
                  "required": [
                    "_id",
                    "name"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          },
          "400": {
            "description": "Validation error on delete",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "INVALID_TYPE",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyGroupCandidate": [],
            "pathContextValidator": [],
            "staffshift": []
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "delete"
              ]
            }
          }
        ]
      },
      "put": {
        "tags": [
          "Agency Group Candidate Registration Body entry"
        ],
        "summary": "Update an Agency Group Candidate Registration body entry",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "registration_body_entry_payload",
            "in": "body",
            "required": true,
            "description": "The candidate registration body entry object param",
            "schema": {
              "type": "object",
              "required": [
                "status_id"
              ],
              "properties": {
                "obtained_at": {
                  "type": "string",
                  "format": "date"
                },
                "valid_at": {
                  "type": "string",
                  "format": "date"
                },
                "expires_at": {
                  "type": "string",
                  "format": "date"
                },
                "status_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated agency group candidate registration body entry will be returned",
            "schema": {
              "type": "object",
              "required": [
                "_id",
                "updated_at",
                "created_at",
                "registration_body_entry",
                "status"
              ],
              "properties": {
                "_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "obtained_at": {
                  "type": "string",
                  "format": "date"
                },
                "valid_at": {
                  "type": "string",
                  "format": "date"
                },
                "expires_at": {
                  "type": "string",
                  "format": "date"
                },
                "registration_body_entry": {
                  "type": "object",
                  "required": [
                    "_id",
                    "name",
                    "short_name"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "short_name": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                "status": {
                  "type": "object",
                  "required": [
                    "_id",
                    "name"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "PATTERN",
                              "INVALID_TYPE",
                              "INVALID_FORMAT",
                              "SYSTEM_REGISTRATION_BODY_ENTRY_STATUS_NOT_FOUND"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyGroupCandidate": [],
            "pathContextValidator": [],
            "staffshift": []
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_registration_body",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/position-held/job-family/{job_family_id}/job-title/{job_title_id}/status-changes": {
      "parameters": [
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The candidate id",
          "type": "string"
        },
        {
          "name": "job_family_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The job family id",
          "type": "string"
        },
        {
          "name": "job_title_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The job title id",
          "type": "string"
        },
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The agency id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "post": {
        "tags": [
          "Agency Candidate Position Held Status"
        ],
        "summary": "Upserts a specific agency candidate position held status",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "position_held_status_change_param",
            "in": "body",
            "description": "The payload used to change candidate position held status",
            "schema": {
              "type": "object",
              "required": [
                "action"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "active",
                    "inactive"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Specific agency candidate position held status details will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "candidate_id",
                    "job_family_id",
                    "job_title_id",
                    "status"
                  ],
                  "properties": {
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "job_family_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "job_title_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "active",
                        "inactive"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "304": {
            "description": "Position held status not modified"
          },
          "400": {
            "description": "Validation error response when updating position held status",
            "schema": {
              "type": "object",
              "required": [
                "code"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "OBJECT_ADDITIONAL_PROPERTIES",
                    "SCHEMA_VALIDATION_FAILED",
                    "OBJECT_MISSING_REQUIRED_PROPERTY",
                    "PATTERN",
                    "REQUIRED",
                    "ENUM_MISMATCH"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyCandidate": [],
            "staffshift": []
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_position_held_status",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/position-held-work-history-breakdown": {
      "parameters": [
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The candidate id",
          "type": "string"
        },
        {
          "name": "agency_id",
          "in": "path",
          "description": "The agency id",
          "type": "string",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "post": {
        "tags": [
          "Candidate Position Held Work History Breakdown"
        ],
        "x-proxy-route": "/candidate/{candidate_id}/position-held-work-history-breakdown",
        "summary": "Get candidate position held work history breakdown",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "candidate_position_held_work_history_breakdown_payload",
            "in": "body",
            "description": "The candidate position held work history breakdown payload",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "job_title"
              ],
              "properties": {
                "job_title": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The candidate position held work history breakdown, this split into 2 sections agency work and other work, where the agency work component is a summarised view per agency",
            "schema": {
              "type": "object",
              "required": [
                "candidate_id",
                "job_title",
                "job_title_name"
              ],
              "properties": {
                "candidate_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "job_title": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "job_title_name": {
                  "type": "string"
                },
                "agency_work": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "employer_name",
                      "start_date"
                    ],
                    "properties": {
                      "employer_name": {
                        "type": "string"
                      },
                      "start_date": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "end_date": {
                        "type": "string",
                        "format": "date-time"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "other_work": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "employer_name",
                      "start_date"
                    ],
                    "properties": {
                      "employer_name": {
                        "type": "string"
                      },
                      "start_date": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "end_date": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "responsibility": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "400": {
            "description": "Bad request, usually caused by invalid user input",
            "schema": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "PATTERN"
                  ]
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "PATTERN",
                              "INVALID_TYPE"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyCandidate": [],
            "staffshift": []
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "candidate_position_held",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/candidate/{candidate_id}/position-held/job-family/{job_family_id}/job-title/{job_title_id}/status-changes": {
      "parameters": [
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The candidate id",
          "type": "string"
        },
        {
          "name": "job_family_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The job family id",
          "type": "string"
        },
        {
          "name": "job_title_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The job title id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "post": {
        "tags": [
          "Candidate Position Held Status"
        ],
        "summary": "Upserts a candidate position held status",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "position_held_status_change_param",
            "in": "body",
            "description": "The payload used to change candidate position held status",
            "schema": {
              "type": "object",
              "required": [
                "action"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "active",
                    "inactive"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Specific candidate position held status details will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "candidate_id",
                    "job_family_id",
                    "job_title_id",
                    "status"
                  ],
                  "properties": {
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "job_family_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "job_title_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "active",
                        "inactive"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "304": {
            "description": "Position held status not modified"
          },
          "400": {
            "description": "Validation error response when updating position held status",
            "schema": {
              "type": "object",
              "required": [
                "code"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "OBJECT_ADDITIONAL_PROPERTIES",
                    "SCHEMA_VALIDATION_FAILED",
                    "OBJECT_MISSING_REQUIRED_PROPERTY",
                    "PATTERN",
                    "REQUIRED",
                    "ENUM_MISMATCH"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_position_held_status",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/candidate/{candidate_id}/position-held": {
      "parameters": [
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The candidate id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "get": {
        "tags": [
          "Candidate Employment Position Held"
        ],
        "summary": "Retrieves a list of employment position held for a specific candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The items per page to be displayed",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "job_family_id",
            "in": "query",
            "required": false,
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The job family id filter",
            "type": "string"
          },
          {
            "name": "job_title_id",
            "in": "query",
            "required": false,
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The job title id filter",
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "The status filter",
            "type": "string",
            "enum": [
              "verified",
              "unverified"
            ]
          },
          {
            "name": "work_suggestion_status",
            "in": "query",
            "required": false,
            "description": "The work_suggestion_status filter, used by candidate to indicate if he/she wants to work this position again",
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "The field to sort by together with sorting order example `overall_duration`, `-overall_duration`",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "overall_duration",
                "-overall_duration",
                "work_suggestion_status",
                "-work_suggestion_status"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of employment position held for a specific candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "candidate_id",
                      "job_family_id",
                      "job_family_name",
                      "job_title_id",
                      "job_title_name",
                      "last_computed_at",
                      "overall_duration",
                      "states",
                      "work_suggestion_status"
                    ],
                    "properties": {
                      "candidate_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "job_family_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "job_family_name": {
                        "type": "string"
                      },
                      "job_title_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "job_title_name": {
                        "type": "string"
                      },
                      "last_computed_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "overall_duration": {
                        "type": "integer"
                      },
                      "states": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "status",
                            "total_time",
                            "current",
                            "last_end_date"
                          ],
                          "properties": {
                            "status": {
                              "type": "string"
                            },
                            "total_time": {
                              "type": "integer"
                            },
                            "current": {
                              "type": "boolean"
                            },
                            "last_end_date": {
                              "type": "string",
                              "format": "date-time"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "work_suggestion_status": {
                        "type": "string"
                      },
                      "work_history_ids": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                ]
              }
            },
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query.",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or query params",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "INVALID_TYPE",
                    "MINIMUM",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_position_held",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/candidate/{candidate_id}/work-history-per-employer": {
      "parameters": [
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The candidate id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "get": {
        "tags": [
          "Candidate Employment"
        ],
        "summary": "Special Route to retrieves unique list of work history per employer for a specific candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "start_date_from",
            "in": "query",
            "description": "The from date for the start date range filter",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "start_date_to",
            "in": "query",
            "description": "The to date for the start date range filter",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "end_date_from",
            "in": "query",
            "description": "The from date for the end date range filter",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "end_date_to",
            "in": "query",
            "description": "The to date for the end date range filter",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "status",
            "in": "query",
            "description": "The status to apply filter",
            "required": false,
            "type": "string",
            "enum": [
              "unverified",
              "verified"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Work history list per employer for a specific candidate will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "work_type",
                      "start_date",
                      "current",
                      "status",
                      "candidate_id",
                      "system_generated"
                    ],
                    "properties": {
                      "work_type": {
                        "type": "string",
                        "enum": [
                          "agency",
                          "contract",
                          "permanent",
                          "student_placement",
                          "part_time"
                        ]
                      },
                      "employer_name": {
                        "type": "string",
                        "minLength": 1
                      },
                      "employer_contact_number": {
                        "type": "string",
                        "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
                      },
                      "employer_location": {
                        "type": "object",
                        "required": [
                          "country_code"
                        ],
                        "properties": {
                          "address_line1": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          },
                          "address_line2": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          },
                          "city": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          },
                          "province": {
                            "type": "string",
                            "minLength": 2,
                            "maxLength": 100
                          },
                          "country_code": {
                            "type": "string",
                            "minLength": 2,
                            "maxLength": 2
                          },
                          "post_code": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          }
                        },
                        "additionalProperties": false
                      },
                      "position": {
                        "type": "string"
                      },
                      "position_type": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp",
                          "other"
                        ]
                      },
                      "job_family_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "job_title_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "start_date": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "end_date": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "responsibilities": {
                        "type": "string"
                      },
                      "leaving_reason": {
                        "type": "string"
                      },
                      "candidate_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "current": {
                        "type": "boolean"
                      },
                      "status": {
                        "type": "string"
                      },
                      "job_family_name": {
                        "type": "string"
                      },
                      "job_title_name": {
                        "type": "string"
                      },
                      "system_generated": {
                        "type": "boolean"
                      }
                    }
                  }
                ]
              }
            },
            "headers": {
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query.",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation error on get unique list of work history for a specific candidate",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "INVALID_TYPE",
                    "REQUIRED",
                    "INVALID_FORMAT"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "header_context_id_validation": "context",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_employment",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/system/registration-body/{registration_body_id}/entry/{entry_id}/status-changes": {
      "parameters": [
        {
          "name": "registration_body_id",
          "in": "path",
          "required": true,
          "description": "The registration id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "entry_id",
          "in": "path",
          "required": true,
          "description": "The entry id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "post": {
        "tags": [
          "System Registration Body Entries"
        ],
        "x-proxy-route": "/registration-body/{registration_body_id}/entry/{entry_id}/status-changes",
        "summary": "Update a system registration body entry status",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "registration_body_entry_status_change_body",
            "in": "body",
            "required": false,
            "description": "The payload used to change registration body entry status",
            "schema": {
              "type": "object",
              "required": [
                "action"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "enable",
                    "disable"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated system registration body entry will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "short_name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "short_name": {
                      "type": "string",
                      "minLength": 1
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "registration_body_id"
                  ],
                  "properties": {
                    "registration_body_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when updating registration body entry status",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/registration-body/{registration_body_id}/status-changes": {
      "parameters": [
        {
          "name": "registration_body_id",
          "in": "path",
          "required": true,
          "description": "The registration id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "skillz-service",
      "post": {
        "tags": [
          "System Registration Body"
        ],
        "x-proxy-route": "/registration-body/{registration_body_id}/status-changes",
        "summary": "Change a specific system registration body status",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "registration_body_status_change",
            "in": "body",
            "required": false,
            "description": "The payload used to change registration body status",
            "schema": {
              "type": "object",
              "required": [
                "action"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "activate",
                    "deactivate"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated system registration body record will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "short_name",
                    "country_code",
                    "position_types"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "short_name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "country_code": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 2
                    },
                    "position_types": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "za_allied_professional",
                          "gbr_care_course",
                          "za_care_giver",
                          "gbr_care_worker",
                          "gbr_catering",
                          "gbr_industrial",
                          "gbr_locum",
                          "za_locum",
                          "gbr_locum_allied",
                          "gbr_nurse",
                          "gbr_teacher",
                          "gbr_teaching_support_staff",
                          "gbr_support_administration",
                          "gbr_caretaking_site_services",
                          "za_nurse",
                          "gbr_social_worker",
                          "za_social_worker",
                          "gbr_social_worker_rsw",
                          "gbr_gp",
                          "gbr_odp"
                        ]
                      }
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "active",
                        "inactive"
                      ]
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when changing registration body status",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some pre condition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/candidate-compliance-summary-basic/{candidate_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "The candidate id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Agency Group Compliance Summary Basic"
        ],
        "x-proxy-route": "/agency-group/{agency_group_id}/candidate-compliance-summary-basic/{candidate_id}",
        "summary": "Retrieves the basic/default agency group compliance summary for a specific candidate",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Basic/default compliance summary candidate data for agency group will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "candidate_id",
                    "basic_compliance_percentage"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "basic_compliance_percentage": {
                      "type": "number"
                    },
                    "default_rule_output_counts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "rule_output",
                          "rule_count"
                        ],
                        "properties": {
                          "rule_output": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "rule_count": {
                            "type": "integer"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "outstanding_basic_compliance_rules": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "compliance_rule_id",
                          "name",
                          "rule_output"
                        ],
                        "properties": {
                          "compliance_rule_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "web_description": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1
                          },
                          "description": {
                            "type": "string"
                          },
                          "rule_output": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when retrieving candidate compliance summary",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "ENUM_MISMATCH"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyGroupCandidate": [],
            "staffshift": []
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/candidate-compliance-summary-expiry/{candidate_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "The candidate id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Agency Group Candidate Compliance Summary Expiry"
        ],
        "summary": "Retrieves the expiry candidate compliance summary for a specific agency group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Expiry compliance summary candidate data for agency group will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "candidate_id",
                    "first_output_change_date",
                    "expiring_compliance_rules",
                    "last_output_change_date"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "first_output_change_date": {
                      "type": "string"
                    },
                    "last_output_change_date": {
                      "type": "string"
                    },
                    "expiring_compliance_rules": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "compliance_rule_id",
                          "name",
                          "rule_output",
                          "rule_output_change_date"
                        ],
                        "properties": {
                          "compliance_rule_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "web_description": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1
                          },
                          "description": {
                            "type": "string"
                          },
                          "rule_output": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "rule_output_change_date": {
                            "type": "string",
                            "format": "date-time"
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when retrieving candidate compliance summary expiry",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyGroupCandidate": [],
            "staffshift": []
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/candidate-compliance-summary-health/{candidate_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "The candidate id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "post": {
        "tags": [
          "Agency Group Candidate Compliance Summary Health"
        ],
        "summary": "Calculate the agency group candidate compliance summary health",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "agency_group_candidate_compliance_summary_health_body_param",
            "in": "body",
            "description": "Agency group candidate compliance summary health body parameter",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "job_title_ids",
                "type",
                "section",
                "location"
              ],
              "properties": {
                "job_title_ids": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "minItems": 1,
                  "uniqueItems": true
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "possible-shifts",
                    "past-shifts"
                  ]
                },
                "section": {
                  "type": "string",
                  "enum": [
                    "summary",
                    "all"
                  ]
                },
                "location": {
                  "type": "object",
                  "required": [
                    "coordinates",
                    "max_distance"
                  ],
                  "properties": {
                    "coordinates": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "minItems": 2,
                      "maxItems": 2
                    },
                    "max_distance": {
                      "type": "number",
                      "minimum": 1
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The agency group candidate compliance summary health",
            "schema": {
              "type": "object",
              "required": [
                "number_compliant_shifts",
                "number_incompliant_shifts",
                "compliant_percentage",
                "incompliant_percentage"
              ],
              "properties": {
                "number_compliant_shifts": {
                  "type": "integer"
                },
                "number_incompliant_shifts": {
                  "type": "integer"
                },
                "compliant_percentage": {
                  "type": "number"
                },
                "incompliant_percentage": {
                  "type": "number"
                },
                "outstanding_rules": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "rule_id",
                      "rule_percentage",
                      "name"
                    ],
                    "properties": {
                      "rule_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "rule_percentage": {
                        "type": "number"
                      },
                      "web_description": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "204": {
            "description": "No content (Most likely no agencies linked to the agency group)"
          },
          "400": {
            "description": "Validation error response",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "ARRAY_LENGTH_SHORT",
                              "ARRAY_LENGTH_LONG",
                              "ARRAY_UNIQUE",
                              "ENUM_MISMATCH",
                              "INVALID_TYPE",
                              "MINIMUM",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "PATTERN"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyGroupCandidate": [],
            "staffshift": []
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/compilation-changes": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "post": {
        "tags": [
          "Agency Group Candidate Compilation Changes"
        ],
        "summary": "Triggers compliance recompile process for specified candidates for a specific agency group",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "compliance_compilation_changes_body",
            "in": "body",
            "description": "The payload used for compliance recompile",
            "schema": {
              "type": "object",
              "required": [
                "action",
                "candidate_ids"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "recompile-all"
                  ]
                },
                "candidate_ids": {
                  "type": "array",
                  "uniqueItems": true,
                  "minItems": 1,
                  "maxItems": 200,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Compliance recompilation success response will be returned",
            "schema": {
              "type": "object",
              "required": [
                "agency_group_id",
                "action",
                "candidate_ids"
              ],
              "properties": {
                "agency_group_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "action": {
                  "type": "string",
                  "enum": [
                    "recompile-all"
                  ]
                },
                "candidate_ids": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "400": {
            "description": "Validation error response when recompiling compliance data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "PATTERN",
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "ARRAY_LENGTH_SHORT",
                              "ARRAY_LENGTH_LONG",
                              "ARRAY_UNIQUE",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "CANDIDATE_ID_DOES_NOT_EXIST"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "recompile_candidate_compliance",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/compliance-contract/{compliance_contract_id}/candidate-compliance-contract-rule-summary/{candidate_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "compliance_contract_id",
          "in": "path",
          "description": "The compliance contract id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "The candidate id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Candidate Compliance Contract Rule Summary"
        ],
        "summary": "Retrieves the candidate compliance contract rule summary for a specific agency-group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate compliance contract rule summary for agency-group will be returned",
            "schema": {
              "type": "object",
              "required": [
                "agency_group_id",
                "candidate_id",
                "compliance_contract_output",
                "contract_rules_outputs"
              ],
              "properties": {
                "agency_group_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "candidate_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "compliance_contract_output": {
                  "type": "object",
                  "required": [
                    "compliance_contract_id",
                    "compliance_contract_output"
                  ],
                  "properties": {
                    "compliance_contract_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "compliance_contract_output": {
                      "type": [
                        "integer",
                        "null"
                      ]
                    }
                  }
                },
                "contract_rules_outputs": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "compliance_rule_id",
                      "name",
                      "rule_output"
                    ],
                    "properties": {
                      "compliance_rule_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "web_description": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1
                      },
                      "description": {
                        "type": "string"
                      },
                      "rule_output": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      },
                      "rule_output_change_date": {
                        "type": "string",
                        "format": "date-time"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error response when retrieving candidate compliance contract rule summary for agency-group",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyGroupCandidate": [],
            "staffshift": []
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/compliance-contract/{compliance_contract_id}/compliance-rule-summary": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "compliance_contract_id",
          "in": "path",
          "description": "The compliance contract id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "page",
          "in": "query",
          "description": "The page of documents to be displayed",
          "required": false,
          "type": "integer",
          "default": 1,
          "minimum": 1
        },
        {
          "name": "items_per_page",
          "in": "query",
          "description": "The number of documents per page",
          "required": false,
          "type": "integer",
          "default": 25,
          "minimum": 1
        },
        {
          "name": "name",
          "in": "query",
          "description": "Filter based on name",
          "required": false,
          "type": "string"
        },
        {
          "name": "description",
          "in": "query",
          "description": "Filter based on description",
          "required": false,
          "type": "string"
        },
        {
          "name": "position_type",
          "in": "query",
          "description": "Filter based on candidate position type",
          "required": false,
          "type": "array",
          "items": {
            "type": "string"
          },
          "uniqueItems": true
        },
        {
          "name": "sortBy",
          "in": "query",
          "description": "The field to sort by together with sorting order. example `_name`, `-_name`",
          "required": false,
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "name",
              "-name"
            ]
          }
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Compliance Contract Rule Summary"
        ],
        "summary": "List compliance contract rule summary for a specific agency group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "List of compliance rules",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "name",
                      "condition",
                      "agency_group_id",
                      "has_temporal_conditions"
                    ],
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "agency_group_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "condition": {
                        "type": "array",
                        "uniqueItems": true,
                        "minItems": 1,
                        "items": {
                          "allOf": [
                            {
                              "type": "object",
                              "required": [
                                "name",
                                "search_term",
                                "applicable_position_types"
                              ],
                              "properties": {
                                "name": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "search_term": {
                                  "type": "object"
                                },
                                "search_url": {
                                  "type": "string"
                                },
                                "applicable_position_types": {
                                  "type": "array",
                                  "uniqueItems": true,
                                  "minItems": 1,
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "variable_field_identifiers": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "required": [
                                      "_id",
                                      "temporal_field",
                                      "field_extract",
                                      "temporal_field_data_type"
                                    ],
                                    "properties": {
                                      "_id": {
                                        "type": "string",
                                        "pattern": "^[0-9a-fA-F]{24}$"
                                      },
                                      "temporal_field": {
                                        "type": "string"
                                      },
                                      "temporal_field_data_type": {
                                        "type": "string"
                                      },
                                      "field_extract": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "required": [
                                            "field_full_path",
                                            "field_extract_type",
                                            "field_operation"
                                          ],
                                          "properties": {
                                            "field_full_path": {
                                              "type": "string"
                                            },
                                            "full_iteration_path": {
                                              "type": "string"
                                            },
                                            "field_extract_type": {
                                              "type": "string",
                                              "enum": [
                                                "static",
                                                "temporal"
                                              ]
                                            },
                                            "field_operation": {
                                              "type": "object"
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "type": "object",
                              "required": [
                                "_id",
                                "fields"
                              ],
                              "properties": {
                                "_id": {
                                  "type": "string",
                                  "pattern": "^[0-9a-fA-F]{24}$"
                                },
                                "fields": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      "agencies_to_default": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "is_default": {
                        "type": "boolean"
                      },
                      "time_zone": {
                        "type": "string"
                      },
                      "has_temporal_conditions": {
                        "type": "boolean"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MIN_LENGTH",
                    "ARRAY_UNIQUE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/compliance-contract": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "agency_id",
          "in": "query",
          "description": "Filter based on agency_id",
          "required": false,
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          "uniqueItems": true
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Compliance Contract"
        ],
        "summary": "Retrieves a list of all compliance contract for a specific agency group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of documents to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of documents per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filter based on name",
            "required": false,
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filter based on status",
            "required": false,
            "type": "string"
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "The field to sort by together with sorting order. example `_id`, `-_id`",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "-name",
                "status",
                "-status"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of compliance contract for an specific agency group",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "name"
                    ],
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "agency_id",
                      "status"
                    ],
                    "properties": {
                      "agency_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "agency_group_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "status": {
                        "type": "string"
                      },
                      "rules": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        }
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MIN_LENGTH",
                    "ARRAY_UNIQUE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_contract",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/compliance-rule-descriptions/{rule_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "rule_id",
          "in": "path",
          "description": "The rule id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "put": {
        "tags": [
          "Agency Group Compliance Rule"
        ],
        "summary": "Updates a specific compliance rule name and description for an specific agency-group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "compliance_rule_description_body",
            "in": "body",
            "description": "compliance rule name and description body parameter",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "name",
                "condition"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 500
                },
                "description": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 2000
                },
                "condition": {
                  "type": "array",
                  "uniqueItems": true,
                  "minLength": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "_id",
                      "name"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated agency group compliance rule name and description will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "condition"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 500
                    },
                    "description": {
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 2000
                    },
                    "condition": {
                      "type": "array",
                      "uniqueItems": true,
                      "minLength": 1,
                      "items": {
                        "type": "object",
                        "required": [
                          "_id",
                          "name"
                        ],
                        "properties": {
                          "_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "name": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "agency_group_id"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "MIN_LENGTH",
                          "MAX_LENGTH",
                          "ARRAY_UNIQUE",
                          "NAME_ALREADY_EXISTS",
                          "DUPLICATE_CONDITION_NAME",
                          "DUPLICATE_CONDITION_ID",
                          "MISSING_CONDITIONS"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": [
                            "string",
                            "integer"
                          ]
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/compliance-rule-displayables/{rule_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "rule_id",
          "in": "path",
          "description": "The rule id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Compliance Rule Displayable"
        ],
        "summary": "Retrieves a specific compliance rule displayable for a specific agency group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specific agency group compliance rule displayable will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "compliance_rule_id",
                    "web_description"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "compliance_rule_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "web_description": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 80000
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response for get compliance rule displayable",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "read"
              ]
            }
          }
        ]
      },
      "put": {
        "tags": [
          "Compliance Rule Displayable"
        ],
        "summary": "Upserts Compliance Rule Displayable for specific agency-group rule",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "compliance_rule_displayable_body_param",
            "in": "body",
            "description": "Compliance rule displayable body parameter",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "web_description"
              ],
              "properties": {
                "web_description": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80000
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Compliance rule displayable success response will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "compliance_rule_id",
                    "web_description"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "compliance_rule_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "web_description": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 80000
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when recompiling compliance rule displayable",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "MIN_LENGTH",
                          "MAX_LENGTH"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "update"
              ]
            }
          }
        ]
      },
      "delete": {
        "tags": [
          "Compliance Rule Displayable"
        ],
        "summary": "Deletes a specific compliance rule displayable for an specific agency group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Removed agency group compliance rule displayable record will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "compliance_rule_id",
                    "web_description"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "compliance_rule_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "web_description": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 80000
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "delete"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/compliance-rule-displayables": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Compliance Rule Displayable"
        ],
        "summary": "Retrieves a list of all Compliance Rule Displayable for a specific agency group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of documents to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of documents per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "compliance_rule_id",
            "in": "query",
            "description": "The compliance rule id (Comma separate for multiple) of compliance rule displayable to filter the results by",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "uniqueItems": true
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "The field to sort by together with sorting order. example `_id`, `-_id`",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "_id",
                "-_id",
                "web_description",
                "-web_description",
                "compliance_rule_id",
                "-compliance_rule_id"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of compliance rule displayable for an specific agency group",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "agency_group_id",
                      "compliance_rule_id",
                      "web_description"
                    ],
                    "properties": {
                      "agency_group_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "compliance_rule_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "web_description": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 80000
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation error response for get list compliance rule displayable",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "INVALID_TYPE",
                    "REQUIRED",
                    "ARRAY_UNIQUE",
                    "ENUM_MISMATCH"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/compliance-rule/{rule_id}/compliance-contract": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "rule_id",
          "in": "path",
          "required": true,
          "description": "The rule id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Agency Group Compliance Contract"
        ],
        "summary": "Retrieves a list of all compliance contract for a specific agency group that has a specific rule",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page of documents to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The number of documents per page"
          },
          {
            "name": "name",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Filter based on name"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Filter based on status"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order. example `_id`, `-_id`",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "-name",
                "status",
                "-status"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of compliance contract rule for a specific agency group with specific rule will be returned",
            "schema": {
              "allOf": [
                {
                  "allOf": [
                    {
                      "type": "object",
                      "required": [
                        "_id",
                        "updated_at",
                        "created_at",
                        "__v"
                      ],
                      "properties": {
                        "_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "updated_at": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "created_at": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "__v": {
                          "type": "integer"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "required": [
                        "name"
                      ],
                      "properties": {
                        "name": {
                          "type": "string",
                          "minLength": 1
                        },
                        "description": {
                          "type": "string"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "required": [
                        "agency_id",
                        "status"
                      ],
                      "properties": {
                        "agency_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "status": {
                          "type": "string"
                        },
                        "rules": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "description": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "rules"
                  ],
                  "properties": {
                    "rules": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    }
                  }
                }
              ]
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MIN_LENGTH"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/compliance-rule/{rule_id}/default-change": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "rule_id",
          "in": "path",
          "description": "The rule id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "post": {
        "tags": [
          "Agency Group Compliance Rule"
        ],
        "summary": "Changing of the default for the rule",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "compliance_rule_default_body_param",
            "in": "body",
            "description": "Compliance rule default body parameter",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "action"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "default",
                    "undefault"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Specific agency group compliance rule record will be returned with updated status",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "condition",
                    "agency_group_id",
                    "has_temporal_conditions"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "condition": {
                      "type": "array",
                      "uniqueItems": true,
                      "minItems": 1,
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "name",
                              "search_term",
                              "applicable_position_types"
                            ],
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "search_term": {
                                "type": "object"
                              },
                              "search_url": {
                                "type": "string"
                              },
                              "applicable_position_types": {
                                "type": "array",
                                "uniqueItems": true,
                                "minItems": 1,
                                "items": {
                                  "type": "string"
                                }
                              },
                              "variable_field_identifiers": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "_id",
                                    "temporal_field",
                                    "field_extract",
                                    "temporal_field_data_type"
                                  ],
                                  "properties": {
                                    "_id": {
                                      "type": "string",
                                      "pattern": "^[0-9a-fA-F]{24}$"
                                    },
                                    "temporal_field": {
                                      "type": "string"
                                    },
                                    "temporal_field_data_type": {
                                      "type": "string"
                                    },
                                    "field_extract": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "required": [
                                          "field_full_path",
                                          "field_extract_type",
                                          "field_operation"
                                        ],
                                        "properties": {
                                          "field_full_path": {
                                            "type": "string"
                                          },
                                          "full_iteration_path": {
                                            "type": "string"
                                          },
                                          "field_extract_type": {
                                            "type": "string",
                                            "enum": [
                                              "static",
                                              "temporal"
                                            ]
                                          },
                                          "field_operation": {
                                            "type": "object"
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "_id",
                              "fields"
                            ],
                            "properties": {
                              "_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "fields": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        ]
                      }
                    },
                    "agencies_to_default": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "is_default": {
                      "type": "boolean"
                    },
                    "time_zone": {
                      "type": "string"
                    },
                    "has_temporal_conditions": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          },
          "304": {
            "description": "Not modified. No records were modified based on your query."
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "ENUM_MISMATCH"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": [
                            "string",
                            "integer"
                          ]
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/compliance-rule/{rule_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "rule_id",
          "in": "path",
          "description": "The rule id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Agency Group Compliance Rule"
        ],
        "summary": "Retrieves a specific compliance rule for a specific agency group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specific agency group compliance rule will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "condition",
                    "agency_group_id",
                    "has_temporal_conditions"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "condition": {
                      "type": "array",
                      "uniqueItems": true,
                      "minItems": 1,
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "name",
                              "search_term",
                              "applicable_position_types"
                            ],
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "search_term": {
                                "type": "object"
                              },
                              "search_url": {
                                "type": "string"
                              },
                              "applicable_position_types": {
                                "type": "array",
                                "uniqueItems": true,
                                "minItems": 1,
                                "items": {
                                  "type": "string"
                                }
                              },
                              "variable_field_identifiers": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "_id",
                                    "temporal_field",
                                    "field_extract",
                                    "temporal_field_data_type"
                                  ],
                                  "properties": {
                                    "_id": {
                                      "type": "string",
                                      "pattern": "^[0-9a-fA-F]{24}$"
                                    },
                                    "temporal_field": {
                                      "type": "string"
                                    },
                                    "temporal_field_data_type": {
                                      "type": "string"
                                    },
                                    "field_extract": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "required": [
                                          "field_full_path",
                                          "field_extract_type",
                                          "field_operation"
                                        ],
                                        "properties": {
                                          "field_full_path": {
                                            "type": "string"
                                          },
                                          "full_iteration_path": {
                                            "type": "string"
                                          },
                                          "field_extract_type": {
                                            "type": "string",
                                            "enum": [
                                              "static",
                                              "temporal"
                                            ]
                                          },
                                          "field_operation": {
                                            "type": "object"
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "_id",
                              "fields"
                            ],
                            "properties": {
                              "_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "fields": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        ]
                      }
                    },
                    "agencies_to_default": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "is_default": {
                      "type": "boolean"
                    },
                    "time_zone": {
                      "type": "string"
                    },
                    "has_temporal_conditions": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "INVALID_TYPE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "read"
              ]
            }
          }
        ]
      },
      "put": {
        "tags": [
          "Agency Group Compliance Rule"
        ],
        "summary": "Updates a specific compliance rule for an specific agency-group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "compliance_rule_body",
            "in": "body",
            "description": "compliance rule body parameter",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "name",
                "condition"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 500
                },
                "description": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 2000
                },
                "condition": {
                  "type": "array",
                  "uniqueItems": true,
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "name",
                      "search_term",
                      "applicable_position_types"
                    ],
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 500
                      },
                      "description": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 2000
                      },
                      "search_term": {
                        "type": "object"
                      },
                      "search_url": {
                        "type": "string",
                        "minLength": 3
                      },
                      "applicable_position_types": {
                        "type": "array",
                        "uniqueItems": true,
                        "minItems": 1,
                        "items": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 500
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated agency group compliance rule record will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "condition",
                    "agency_group_id",
                    "has_temporal_conditions"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "condition": {
                      "type": "array",
                      "uniqueItems": true,
                      "minItems": 1,
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "name",
                              "search_term",
                              "applicable_position_types"
                            ],
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "search_term": {
                                "type": "object"
                              },
                              "search_url": {
                                "type": "string"
                              },
                              "applicable_position_types": {
                                "type": "array",
                                "uniqueItems": true,
                                "minItems": 1,
                                "items": {
                                  "type": "string"
                                }
                              },
                              "variable_field_identifiers": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "_id",
                                    "temporal_field",
                                    "field_extract",
                                    "temporal_field_data_type"
                                  ],
                                  "properties": {
                                    "_id": {
                                      "type": "string",
                                      "pattern": "^[0-9a-fA-F]{24}$"
                                    },
                                    "temporal_field": {
                                      "type": "string"
                                    },
                                    "temporal_field_data_type": {
                                      "type": "string"
                                    },
                                    "field_extract": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "required": [
                                          "field_full_path",
                                          "field_extract_type",
                                          "field_operation"
                                        ],
                                        "properties": {
                                          "field_full_path": {
                                            "type": "string"
                                          },
                                          "full_iteration_path": {
                                            "type": "string"
                                          },
                                          "field_extract_type": {
                                            "type": "string",
                                            "enum": [
                                              "static",
                                              "temporal"
                                            ]
                                          },
                                          "field_operation": {
                                            "type": "object"
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "_id",
                              "fields"
                            ],
                            "properties": {
                              "_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "fields": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        ]
                      }
                    },
                    "agencies_to_default": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "is_default": {
                      "type": "boolean"
                    },
                    "time_zone": {
                      "type": "string"
                    },
                    "has_temporal_conditions": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "MIN_LENGTH",
                          "MAX_LENGTH",
                          "ARRAY_LENGTH_SHORT",
                          "ARRAY_UNIQUE",
                          "NAME_ALREADY_EXISTS",
                          "INVALID_APPLICABLE_POSITION_TYPE",
                          "EMPTY_CONDITION_SEARCH_TERM",
                          "DUPLICATE_CONDITION_NAME",
                          "INVALID_CURRENT_DATE_VARIABLE_FORMAT"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": [
                            "string",
                            "integer"
                          ]
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "update"
              ]
            }
          }
        ]
      },
      "delete": {
        "tags": [
          "Agency Group Compliance Rule"
        ],
        "summary": "Deletes a specific compliance rule for an specific agency group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Removed agency group compliance rule record will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "condition",
                    "agency_group_id",
                    "has_temporal_conditions"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "condition": {
                      "type": "array",
                      "uniqueItems": true,
                      "minItems": 1,
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "name",
                              "search_term",
                              "applicable_position_types"
                            ],
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "search_term": {
                                "type": "object"
                              },
                              "search_url": {
                                "type": "string"
                              },
                              "applicable_position_types": {
                                "type": "array",
                                "uniqueItems": true,
                                "minItems": 1,
                                "items": {
                                  "type": "string"
                                }
                              },
                              "variable_field_identifiers": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "_id",
                                    "temporal_field",
                                    "field_extract",
                                    "temporal_field_data_type"
                                  ],
                                  "properties": {
                                    "_id": {
                                      "type": "string",
                                      "pattern": "^[0-9a-fA-F]{24}$"
                                    },
                                    "temporal_field": {
                                      "type": "string"
                                    },
                                    "temporal_field_data_type": {
                                      "type": "string"
                                    },
                                    "field_extract": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "required": [
                                          "field_full_path",
                                          "field_extract_type",
                                          "field_operation"
                                        ],
                                        "properties": {
                                          "field_full_path": {
                                            "type": "string"
                                          },
                                          "full_iteration_path": {
                                            "type": "string"
                                          },
                                          "field_extract_type": {
                                            "type": "string",
                                            "enum": [
                                              "static",
                                              "temporal"
                                            ]
                                          },
                                          "field_operation": {
                                            "type": "object"
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "_id",
                              "fields"
                            ],
                            "properties": {
                              "_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "fields": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        ]
                      }
                    },
                    "agencies_to_default": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "is_default": {
                      "type": "boolean"
                    },
                    "time_zone": {
                      "type": "string"
                    },
                    "has_temporal_conditions": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden Error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "FORBIDDEN",
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "COMPLIANCE_RULE_LINKED_TO_CONTRACT",
                    "DEFAULT_COMPLIANCE_RULE_CANNOT_BE_DELETED",
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some precondition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "delete"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/compliance-rule": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "post": {
        "tags": [
          "Agency Group Compliance Rule"
        ],
        "summary": "Create a compliance rule for an specific agency-group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "compliance_rule_body",
            "in": "body",
            "description": "compliance rule body parameter",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "name",
                "condition"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 500
                },
                "description": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 2000
                },
                "condition": {
                  "type": "array",
                  "uniqueItems": true,
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "name",
                      "search_term",
                      "applicable_position_types"
                    ],
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 500
                      },
                      "description": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 2000
                      },
                      "search_term": {
                        "type": "object"
                      },
                      "search_url": {
                        "type": "string",
                        "minLength": 3
                      },
                      "applicable_position_types": {
                        "type": "array",
                        "uniqueItems": true,
                        "minItems": 1,
                        "items": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 500
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created agency group compliance rule record will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "condition",
                    "agency_group_id",
                    "has_temporal_conditions"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "condition": {
                      "type": "array",
                      "uniqueItems": true,
                      "minItems": 1,
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "name",
                              "search_term",
                              "applicable_position_types"
                            ],
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "search_term": {
                                "type": "object"
                              },
                              "search_url": {
                                "type": "string"
                              },
                              "applicable_position_types": {
                                "type": "array",
                                "uniqueItems": true,
                                "minItems": 1,
                                "items": {
                                  "type": "string"
                                }
                              },
                              "variable_field_identifiers": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "_id",
                                    "temporal_field",
                                    "field_extract",
                                    "temporal_field_data_type"
                                  ],
                                  "properties": {
                                    "_id": {
                                      "type": "string",
                                      "pattern": "^[0-9a-fA-F]{24}$"
                                    },
                                    "temporal_field": {
                                      "type": "string"
                                    },
                                    "temporal_field_data_type": {
                                      "type": "string"
                                    },
                                    "field_extract": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "required": [
                                          "field_full_path",
                                          "field_extract_type",
                                          "field_operation"
                                        ],
                                        "properties": {
                                          "field_full_path": {
                                            "type": "string"
                                          },
                                          "full_iteration_path": {
                                            "type": "string"
                                          },
                                          "field_extract_type": {
                                            "type": "string",
                                            "enum": [
                                              "static",
                                              "temporal"
                                            ]
                                          },
                                          "field_operation": {
                                            "type": "object"
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "_id",
                              "fields"
                            ],
                            "properties": {
                              "_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "fields": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        ]
                      }
                    },
                    "agencies_to_default": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "is_default": {
                      "type": "boolean"
                    },
                    "time_zone": {
                      "type": "string"
                    },
                    "has_temporal_conditions": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "MIN_LENGTH",
                          "MAX_LENGTH",
                          "ARRAY_LENGTH_SHORT",
                          "ARRAY_UNIQUE",
                          "NAME_ALREADY_EXISTS",
                          "INVALID_APPLICABLE_POSITION_TYPE",
                          "EMPTY_CONDITION_SEARCH_TERM",
                          "DUPLICATE_CONDITION_NAME",
                          "INVALID_CURRENT_DATE_VARIABLE_FORMAT"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": [
                            "string",
                            "integer"
                          ]
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "create"
              ]
            }
          }
        ]
      },
      "get": {
        "tags": [
          "Agency Group Compliance Rule"
        ],
        "summary": "Retrieves a list of all compliance rule for a specific agency group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of documents to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of documents per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filter based on name",
            "required": false,
            "type": "string"
          },
          {
            "name": "description",
            "in": "query",
            "description": "Filter based on description",
            "required": false,
            "type": "string"
          },
          {
            "name": "position_type",
            "in": "query",
            "description": "Filter based on candidate position type",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          {
            "name": "is_default",
            "in": "query",
            "description": "Filter based on is_default",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "The field to sort by together with sorting order. example `_name`, `-_name`",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "-name"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of compliance rule for an specific agency group",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "name",
                      "condition",
                      "agency_group_id",
                      "has_temporal_conditions"
                    ],
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "agency_group_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "condition": {
                        "type": "array",
                        "uniqueItems": true,
                        "minItems": 1,
                        "items": {
                          "allOf": [
                            {
                              "type": "object",
                              "required": [
                                "name",
                                "search_term",
                                "applicable_position_types"
                              ],
                              "properties": {
                                "name": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "search_term": {
                                  "type": "object"
                                },
                                "search_url": {
                                  "type": "string"
                                },
                                "applicable_position_types": {
                                  "type": "array",
                                  "uniqueItems": true,
                                  "minItems": 1,
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "variable_field_identifiers": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "required": [
                                      "_id",
                                      "temporal_field",
                                      "field_extract",
                                      "temporal_field_data_type"
                                    ],
                                    "properties": {
                                      "_id": {
                                        "type": "string",
                                        "pattern": "^[0-9a-fA-F]{24}$"
                                      },
                                      "temporal_field": {
                                        "type": "string"
                                      },
                                      "temporal_field_data_type": {
                                        "type": "string"
                                      },
                                      "field_extract": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "required": [
                                            "field_full_path",
                                            "field_extract_type",
                                            "field_operation"
                                          ],
                                          "properties": {
                                            "field_full_path": {
                                              "type": "string"
                                            },
                                            "full_iteration_path": {
                                              "type": "string"
                                            },
                                            "field_extract_type": {
                                              "type": "string",
                                              "enum": [
                                                "static",
                                                "temporal"
                                              ]
                                            },
                                            "field_operation": {
                                              "type": "object"
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "type": "object",
                              "required": [
                                "_id",
                                "fields"
                              ],
                              "properties": {
                                "_id": {
                                  "type": "string",
                                  "pattern": "^[0-9a-fA-F]{24}$"
                                },
                                "fields": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      "agencies_to_default": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "is_default": {
                        "type": "boolean"
                      },
                      "time_zone": {
                        "type": "string"
                      },
                      "has_temporal_conditions": {
                        "type": "boolean"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MIN_LENGTH",
                    "ARRAY_UNIQUE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/candidate-compliance-summary-basic/{candidate_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "description": "The agency id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "The candidate id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Agency Candidate Compliance Summary Basic"
        ],
        "summary": "Retrieves the basic/default candidate compliance summary for a specific agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Basic/default compliance summary candidate data for agency will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "candidate_id",
                    "basic_compliance_percentage"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "basic_compliance_percentage": {
                      "type": "number"
                    },
                    "default_rule_output_counts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "rule_output",
                          "rule_count"
                        ],
                        "properties": {
                          "rule_output": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "rule_count": {
                            "type": "integer"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "outstanding_basic_compliance_rules": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "compliance_rule_id",
                          "name",
                          "rule_output"
                        ],
                        "properties": {
                          "compliance_rule_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "web_description": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1
                          },
                          "description": {
                            "type": "string"
                          },
                          "rule_output": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when retrieving candidate compliance summary",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some precondition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyCandidate": [],
            "staffshift": []
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/candidate-compliance-summary-expiry/{candidate_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "description": "The agency id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "The candidate id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Candidate Compliance Summary Expiry"
        ],
        "summary": "Retrieves the candidate compliance summary expiry items for a specific agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Expiry compliance summary candidate data for agency will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "candidate_id",
                    "first_output_change_date",
                    "expiring_compliance_rules",
                    "last_output_change_date"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "first_output_change_date": {
                      "type": "string"
                    },
                    "last_output_change_date": {
                      "type": "string"
                    },
                    "expiring_compliance_rules": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "compliance_rule_id",
                          "name",
                          "rule_output",
                          "rule_output_change_date"
                        ],
                        "properties": {
                          "compliance_rule_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "web_description": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1
                          },
                          "description": {
                            "type": "string"
                          },
                          "rule_output": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "rule_output_change_date": {
                            "type": "string",
                            "format": "date-time"
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when retrieving candidate compliance summary expiry",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some precondition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyCandidate": [],
            "staffshift": []
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/candidate-compliance-summary-health/{candidate_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "description": "The agency id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "The candidate id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "post": {
        "tags": [
          "Agency Candidate Compliance Summary Health"
        ],
        "summary": "Calculate the agency candidate compliance summary health",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "agency_candidate_compliance_summary_health_body_param",
            "in": "body",
            "description": "Agency candidate compliance summary health body parameter",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "job_title_ids",
                "type",
                "section",
                "location"
              ],
              "properties": {
                "job_title_ids": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "minItems": 1,
                  "uniqueItems": true
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "possible-shifts",
                    "past-shifts"
                  ]
                },
                "section": {
                  "type": "string",
                  "enum": [
                    "summary",
                    "all"
                  ]
                },
                "location": {
                  "type": "object",
                  "required": [
                    "coordinates",
                    "max_distance"
                  ],
                  "properties": {
                    "coordinates": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "minItems": 2,
                      "maxItems": 2
                    },
                    "max_distance": {
                      "type": "number",
                      "minimum": 1
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The agency candidate compliance summary health",
            "schema": {
              "type": "object",
              "required": [
                "number_compliant_shifts",
                "number_incompliant_shifts",
                "compliant_percentage",
                "incompliant_percentage"
              ],
              "properties": {
                "number_compliant_shifts": {
                  "type": "integer"
                },
                "number_incompliant_shifts": {
                  "type": "integer"
                },
                "compliant_percentage": {
                  "type": "number"
                },
                "incompliant_percentage": {
                  "type": "number"
                },
                "outstanding_rules": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "rule_id",
                      "rule_percentage",
                      "name"
                    ],
                    "properties": {
                      "rule_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "rule_percentage": {
                        "type": "number"
                      },
                      "web_description": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error response",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "ARRAY_LENGTH_SHORT",
                              "ARRAY_LENGTH_LONG",
                              "ARRAY_UNIQUE",
                              "ENUM_MISMATCH",
                              "INVALID_TYPE",
                              "MINIMUM",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "PATTERN"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some precondition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyCandidate": [],
            "staffshift": []
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/compliance-contract/{compliance_contract_id}/candidate-compliance-contract-rule-summary/{candidate_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "description": "The agency id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "compliance_contract_id",
          "in": "path",
          "description": "The compliance contract id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "The candidate id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Candidate Compliance Contract Rule Summary"
        ],
        "summary": "Retrieves the candidate compliance contract rule summary for a specific agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Candidate compliance contract rule summary for agency will be returned",
            "schema": {
              "type": "object",
              "required": [
                "agency_id",
                "candidate_id",
                "compliance_contract_output",
                "contract_rules_outputs"
              ],
              "properties": {
                "agency_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "candidate_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "compliance_contract_output": {
                  "type": "object",
                  "required": [
                    "compliance_contract_id",
                    "compliance_contract_output"
                  ],
                  "properties": {
                    "compliance_contract_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "compliance_contract_output": {
                      "type": [
                        "integer",
                        "null"
                      ]
                    }
                  }
                },
                "contract_rules_outputs": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "compliance_rule_id",
                      "name",
                      "rule_output"
                    ],
                    "properties": {
                      "compliance_rule_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "web_description": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1
                      },
                      "description": {
                        "type": "string"
                      },
                      "rule_output": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      },
                      "rule_output_change_date": {
                        "type": "string",
                        "format": "date-time"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error response when retrieving candidate compliance contract rule summary for agency",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyCandidate": [],
            "staffshift": []
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/compliance-contract/{compliance_contract_id}/compliance-rule-summary": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "description": "The agency id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "compliance_contract_id",
          "in": "path",
          "description": "The compliance contract id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "page",
          "in": "query",
          "description": "The page of documents to be displayed",
          "required": false,
          "type": "integer",
          "default": 1,
          "minimum": 1
        },
        {
          "name": "items_per_page",
          "in": "query",
          "description": "The number of documents per page",
          "required": false,
          "type": "integer",
          "default": 25,
          "minimum": 1
        },
        {
          "name": "name",
          "in": "query",
          "description": "Filter based on name",
          "required": false,
          "type": "string"
        },
        {
          "name": "description",
          "in": "query",
          "description": "Filter based on description",
          "required": false,
          "type": "string"
        },
        {
          "name": "position_type",
          "in": "query",
          "description": "Filter based on candidate position type",
          "required": false,
          "type": "array",
          "items": {
            "type": "string"
          },
          "uniqueItems": true
        },
        {
          "name": "sortBy",
          "in": "query",
          "description": "The field to sort by together with sorting order. example `_name`, `-_name`",
          "required": false,
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "name",
              "-name"
            ]
          }
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Compliance Contract Rule Summary"
        ],
        "summary": "List compliance rules for a specific contract and agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "List of compliance rules",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "name",
                      "condition",
                      "agency_id",
                      "has_temporal_conditions"
                    ],
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "agency_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "condition": {
                        "type": "array",
                        "uniqueItems": true,
                        "minItems": 1,
                        "items": {
                          "allOf": [
                            {
                              "type": "object",
                              "required": [
                                "name",
                                "search_term",
                                "applicable_position_types"
                              ],
                              "properties": {
                                "name": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "search_term": {
                                  "type": "object"
                                },
                                "search_url": {
                                  "type": "string"
                                },
                                "applicable_position_types": {
                                  "type": "array",
                                  "uniqueItems": true,
                                  "minItems": 1,
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "variable_field_identifiers": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "required": [
                                      "_id",
                                      "temporal_field",
                                      "field_extract",
                                      "temporal_field_data_type"
                                    ],
                                    "properties": {
                                      "_id": {
                                        "type": "string",
                                        "pattern": "^[0-9a-fA-F]{24}$"
                                      },
                                      "temporal_field": {
                                        "type": "string"
                                      },
                                      "temporal_field_data_type": {
                                        "type": "string"
                                      },
                                      "field_extract": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "required": [
                                            "field_full_path",
                                            "field_extract_type",
                                            "field_operation"
                                          ],
                                          "properties": {
                                            "field_full_path": {
                                              "type": "string"
                                            },
                                            "full_iteration_path": {
                                              "type": "string"
                                            },
                                            "field_extract_type": {
                                              "type": "string",
                                              "enum": [
                                                "static",
                                                "temporal"
                                              ]
                                            },
                                            "field_operation": {
                                              "type": "object"
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "type": "object",
                              "required": [
                                "_id",
                                "fields"
                              ],
                              "properties": {
                                "_id": {
                                  "type": "string",
                                  "pattern": "^[0-9a-fA-F]{24}$"
                                },
                                "fields": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      "agencies_to_default": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "is_default": {
                        "type": "boolean"
                      },
                      "time_zone": {
                        "type": "string"
                      },
                      "has_temporal_conditions": {
                        "type": "boolean"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MIN_LENGTH",
                    "ARRAY_UNIQUE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/compliance-contract/{compliance_contract_id}/compliance-rule/{rule_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "compliance_contract_id",
          "in": "path",
          "required": true,
          "description": "The compliance contract id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "rule_id",
          "in": "path",
          "required": true,
          "description": "The rule id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "delete": {
        "tags": [
          "Compliance Contract Rule"
        ],
        "summary": "Removes a compliance contract rule for a specific agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Compliance contract record will be returned",
            "schema": {
              "allOf": [
                {
                  "allOf": [
                    {
                      "type": "object",
                      "required": [
                        "_id",
                        "updated_at",
                        "created_at",
                        "__v"
                      ],
                      "properties": {
                        "_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "updated_at": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "created_at": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "__v": {
                          "type": "integer"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "required": [
                        "name"
                      ],
                      "properties": {
                        "name": {
                          "type": "string",
                          "minLength": 1
                        },
                        "description": {
                          "type": "string"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "required": [
                        "agency_id",
                        "status"
                      ],
                      "properties": {
                        "agency_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "status": {
                          "type": "string"
                        },
                        "rules": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "description": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "rules"
                  ],
                  "properties": {
                    "rules": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on delete",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED",
                    "FORBIDDEN"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED",
                    "NOT_ALLOWED_TO_REMOVE_DEFAULT_COMPLIANCE_RULE_FROM_CONTRACT"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_contract",
              "permission": [
                "delete"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/compliance-contract/{compliance_contract_id}/compliance-rule": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "compliance_contract_id",
          "in": "path",
          "required": true,
          "description": "The compliance contract id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "post": {
        "tags": [
          "Compliance Contract Rule"
        ],
        "summary": "Create a compliance contract rule for a specific agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "compliance_contract_rule_body_param",
            "in": "body",
            "required": true,
            "description": "Compliance contract rule body parameter",
            "schema": {
              "type": "object",
              "required": [
                "rule_id"
              ],
              "properties": {
                "rule_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created compliance contract rule will be returned",
            "schema": {
              "allOf": [
                {
                  "allOf": [
                    {
                      "type": "object",
                      "required": [
                        "_id",
                        "updated_at",
                        "created_at",
                        "__v"
                      ],
                      "properties": {
                        "_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "updated_at": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "created_at": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "__v": {
                          "type": "integer"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "required": [
                        "name"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "required": [
                        "agency_id",
                        "status"
                      ],
                      "properties": {
                        "agency_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "status": {
                          "type": "string"
                        },
                        "rules": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "object",
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "rules"
                  ],
                  "properties": {
                    "rules": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "COMPLIANCE_RULE_AGENCY_MISMATCH",
                          "COMPLIANCE_RULE_ALREADY_EXISTS"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "412": {
            "description": "Failed some precondition on business logic",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_contract",
              "permission": [
                "create"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/compliance-contract/{compliance_contract_id}/status-changes": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "compliance_contract_id",
          "in": "path",
          "required": true,
          "description": "The compliance contract id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "post": {
        "tags": [
          "Compliance Contract"
        ],
        "summary": "Update an compliance contract status",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "compliance_contract_status_change_body",
            "in": "body",
            "required": false,
            "description": "The payload used to change compliance contract status",
            "schema": {
              "type": "object",
              "required": [
                "action"
              ],
              "properties": {
                "action": {
                  "type": "string",
                  "enum": [
                    "activate"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated compliance contract will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "description": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_id",
                    "status"
                  ],
                  "properties": {
                    "agency_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string"
                    },
                    "rules": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    }
                  }
                }
              ]
            }
          },
          "304": {
            "description": "Not modified. No records were modified based on your query."
          },
          "400": {
            "description": "Validation error response when updating compliance contract status",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "ENUM_MISMATCH",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_contract",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/compliance-contract/{compliance_contract_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "compliance_contract_id",
          "in": "path",
          "required": true,
          "description": "The compliance contract id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Compliance Contract"
        ],
        "summary": "Retrieves a specific compliance contract for a specific agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specific Compliance contract for an specific agency will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "description": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_id",
                    "status"
                  ],
                  "properties": {
                    "agency_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string"
                    },
                    "rules": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "INVALID_TYPE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_contract",
              "permission": [
                "read"
              ]
            }
          }
        ]
      },
      "put": {
        "tags": [
          "Compliance Contract"
        ],
        "summary": "Updates a specific compliance contract for an specific agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "compliance_contract_body_param",
            "in": "body",
            "required": true,
            "description": "Compliance contract body parameter",
            "schema": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 500
                },
                "description": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 2000
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated Compliance contract for an specific agency will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_id",
                    "status"
                  ],
                  "properties": {
                    "agency_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string"
                    },
                    "rules": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "NAME_ALREADY_EXISTS",
                          "MIN_LENGTH",
                          "MAX_LENGTH"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_contract",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/compliance-contract": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "post": {
        "tags": [
          "Compliance Contract"
        ],
        "summary": "Create a compliance contract for a specific agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "compliance_contract_body_param",
            "in": "body",
            "required": true,
            "description": "Compliance contract body parameter",
            "schema": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 500
                },
                "description": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 2000
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created compliance contract will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_id",
                    "status"
                  ],
                  "properties": {
                    "agency_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "status": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "NAME_ALREADY_EXISTS",
                          "MIN_LENGTH",
                          "MAX_LENGTH"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_contract",
              "permission": [
                "create"
              ]
            }
          }
        ]
      },
      "get": {
        "tags": [
          "Compliance Contract"
        ],
        "summary": "Retrieves a list of all compliance contract for a specific agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "minimum": 1,
            "description": "The page of documents to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "minimum": 1,
            "description": "The number of documents per page"
          },
          {
            "name": "name",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Filter based on name"
          },
          {
            "name": "status",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Filter based on status"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order. example `_id`, `-_id`",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "-name",
                "status",
                "-status"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of compliance contract for an specific agency",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "name"
                    ],
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "agency_id",
                      "status"
                    ],
                    "properties": {
                      "agency_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "status": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_contract",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/compliance-rule-displayables/{rule_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "description": "The agency id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "rule_id",
          "in": "path",
          "description": "The rule id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Agency Compliance Rule Displayable"
        ],
        "summary": "Retrieves a compliance rule displayable for a specific agency and compliance rule",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieves the compliance rule displayable of a specific compliance rule for a specific agency",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "compliance_rule_id",
                    "web_description"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "compliance_rule_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "web_description": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 80000
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get with no query parameters",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/compliance-rule-displayables": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "description": "The agency id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Agency Compliance Rule Displayable"
        ],
        "summary": "Retrieves a list of all compliance rule displayable for a specific agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of documents to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of documents per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "The field to sort by together with sorting order. example `_id`, `-_id`",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "_id",
                "-_id"
              ]
            }
          },
          {
            "name": "compliance_rule_id",
            "in": "query",
            "description": "Filter based on compliance rule id",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "uniqueItems": true
          }
        ],
        "responses": {
          "200": {
            "description": "List compliance rule displayable for a specific agency",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "agency_group_id",
                      "compliance_rule_id",
                      "web_description"
                    ],
                    "properties": {
                      "agency_group_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "compliance_rule_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "web_description": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 80000
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "ARRAY_UNIQUE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/compliance-rule/{rule_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "rule_id",
          "in": "path",
          "required": true,
          "description": "The rule id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Agency Compliance Rule"
        ],
        "summary": "Retrieves a specific compliance rule for a specific agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specific agency compliance rule will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "condition",
                    "agency_group_id",
                    "has_temporal_conditions"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "description": {
                      "type": "string"
                    },
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "condition": {
                      "type": "array",
                      "uniqueItems": true,
                      "minItems": 1,
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "name",
                              "search_term",
                              "applicable_position_types"
                            ],
                            "properties": {
                              "name": {
                                "type": "string",
                                "minLength": 1
                              },
                              "description": {
                                "type": "string"
                              },
                              "search_term": {
                                "type": "object"
                              },
                              "search_url": {
                                "type": "string",
                                "minLength": 1
                              },
                              "applicable_position_types": {
                                "type": "array",
                                "uniqueItems": true,
                                "minItems": 1,
                                "items": {
                                  "type": "string"
                                }
                              },
                              "variable_field_identifiers": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "_id",
                                    "temporal_field",
                                    "field_extract",
                                    "temporal_field_data_type"
                                  ],
                                  "properties": {
                                    "_id": {
                                      "type": "string",
                                      "pattern": "^[0-9a-fA-F]{24}$"
                                    },
                                    "temporal_field": {
                                      "type": "string"
                                    },
                                    "temporal_field_data_type": {
                                      "type": "string"
                                    },
                                    "field_extract": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "required": [
                                          "field_full_path",
                                          "field_extract_type",
                                          "field_operation"
                                        ],
                                        "properties": {
                                          "field_full_path": {
                                            "type": "string"
                                          },
                                          "full_iteration_path": {
                                            "type": "string"
                                          },
                                          "field_extract_type": {
                                            "type": "string",
                                            "enum": [
                                              "static",
                                              "temporal"
                                            ]
                                          },
                                          "field_operation": {
                                            "type": "object"
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "_id",
                              "fields"
                            ],
                            "properties": {
                              "_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "fields": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        ]
                      }
                    },
                    "agencies_to_default": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "is_default": {
                      "type": "boolean"
                    },
                    "time_zone": {
                      "type": "string"
                    },
                    "has_temporal_conditions": {
                      "type": "boolean"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "INVALID_TYPE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_rule",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/compliance-rule": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Agency Compliance Rule"
        ],
        "summary": "Retrieves a list of all compliance rule for a specific agency",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page of documents to be displayed",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The number of documents per page",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "name",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Filter based on name"
          },
          {
            "name": "description",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Filter based on description"
          },
          {
            "name": "position_type",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "Filter based on candidate position type",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          {
            "name": "_id",
            "in": "query",
            "description": "Filter based on _id",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "uniqueItems": true
          },
          {
            "name": "is_default",
            "in": "query",
            "description": "Filter based on is_default",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order. example `_name`, `-_name`",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "-name"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of compliance rule for an specific agency",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "name",
                      "condition",
                      "agency_group_id",
                      "has_temporal_conditions"
                    ],
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1
                      },
                      "description": {
                        "type": "string"
                      },
                      "agency_group_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "condition": {
                        "type": "array",
                        "uniqueItems": true,
                        "minItems": 1,
                        "items": {
                          "allOf": [
                            {
                              "type": "object",
                              "required": [
                                "name",
                                "search_term",
                                "applicable_position_types"
                              ],
                              "properties": {
                                "name": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "description": {
                                  "type": "string"
                                },
                                "search_term": {
                                  "type": "object"
                                },
                                "search_url": {
                                  "type": "string"
                                },
                                "applicable_position_types": {
                                  "type": "array",
                                  "uniqueItems": true,
                                  "minItems": 1,
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "variable_field_identifiers": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "required": [
                                      "_id",
                                      "temporal_field",
                                      "field_extract",
                                      "temporal_field_data_type"
                                    ],
                                    "properties": {
                                      "_id": {
                                        "type": "string",
                                        "pattern": "^[0-9a-fA-F]{24}$"
                                      },
                                      "temporal_field": {
                                        "type": "string"
                                      },
                                      "temporal_field_data_type": {
                                        "type": "string"
                                      },
                                      "field_extract": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "required": [
                                            "field_full_path",
                                            "field_extract_type",
                                            "field_operation"
                                          ],
                                          "properties": {
                                            "field_full_path": {
                                              "type": "string"
                                            },
                                            "full_iteration_path": {
                                              "type": "string"
                                            },
                                            "field_extract_type": {
                                              "type": "string",
                                              "enum": [
                                                "static",
                                                "temporal"
                                              ]
                                            },
                                            "field_operation": {
                                              "type": "object"
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "type": "object",
                              "required": [
                                "_id",
                                "fields"
                              ],
                              "properties": {
                                "_id": {
                                  "type": "string",
                                  "pattern": "^[0-9a-fA-F]{24}$"
                                },
                                "fields": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      "agencies_to_default": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "is_default": {
                        "type": "boolean"
                      },
                      "time_zone": {
                        "type": "string"
                      },
                      "has_temporal_conditions": {
                        "type": "boolean"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MIN_LENGTH",
                    "ARRAY_UNIQUE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_contract",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/organisation/{organisation_id}/compliance-contract-link/{contract_link_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "organisation_id",
          "in": "path",
          "required": true,
          "description": "The organisation id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "contract_link_id",
          "in": "path",
          "required": true,
          "description": "The contract link id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "delete": {
        "tags": [
          "Agency Organisation Compliance Contract Link"
        ],
        "summary": "Deletes a specific compliance contract link for an specific agency organisation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Deleted agency organisation compliance contract link record will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "site_id",
                    "compliance_contract_id"
                  ],
                  "properties": {
                    "site_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "ward_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "compliance_contract_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_id",
                    "organisation_id"
                  ],
                  "properties": {
                    "agency_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "organisation_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on delete",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyClientLink": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_contract_link",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyClientLink-security": {
          "path_ids": {
            "path_agency_id": "agency_id",
            "path_client_id": "organisation_id"
          }
        }
      }
    },
    "/agency/{agency_id}/organisation/{organisation_id}/compliance-contract-link": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "organisation_id",
          "in": "path",
          "required": true,
          "description": "The organisation id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "post": {
        "tags": [
          "Agency Organisation Compliance Contract Link"
        ],
        "summary": "Create a compliance contract link for an specific agency organisation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "compliance_contract_link_body",
            "in": "body",
            "required": true,
            "description": "compliance contract link body parameter",
            "schema": {
              "type": "object",
              "required": [
                "site_id",
                "compliance_contract_id"
              ],
              "properties": {
                "site_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "ward_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "compliance_contract_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created agency organisation compliance contract link record will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "site_id",
                    "compliance_contract_id"
                  ],
                  "properties": {
                    "site_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "ward_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "compliance_contract_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_id",
                    "organisation_id"
                  ],
                  "properties": {
                    "agency_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "organisation_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "PATTERN",
                          "INVALID_TYPE",
                          "REQUIRED",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "COMPLIANCE_CONTRACT_LINK_ALREADY_EXIST",
                          "AGENCY_ORGANISATION_LINK_DOES_NOT_EXIST",
                          "COMPLIANCE_CONTRACT_DOES_NOT_EXIST"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyClientLink": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_contract_link",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyClientLink-security": {
          "path_ids": {
            "path_agency_id": "agency_id"
          },
          "payload": {
            "name": "compliance_contract_link_body",
            "payload_client_id": {
              "ward": "ward_id",
              "site": "site_id"
            }
          }
        }
      }
    },
    "/candidate/{candidate_id}/agency-group-compliance-summary-basic/{agency_group_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "The candidate id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Candidate Compliance Summary Basic"
        ],
        "x-proxy-route": "/agency-group/{agency_group_id}/candidate-compliance-summary-basic/{candidate_id}",
        "summary": "Retrieves the basic/default candidate compliance summary for a specific agency group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Basic/default compliance summary candidate data for agency group will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "candidate_id",
                    "basic_compliance_percentage"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "basic_compliance_percentage": {
                      "type": "number"
                    },
                    "default_rule_output_counts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "rule_output",
                          "rule_count"
                        ],
                        "properties": {
                          "rule_output": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "rule_count": {
                            "type": "integer"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "outstanding_basic_compliance_rules": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "compliance_rule_id",
                          "name",
                          "rule_output"
                        ],
                        "properties": {
                          "compliance_rule_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "web_description": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1
                          },
                          "description": {
                            "type": "string"
                          },
                          "rule_output": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when retrieving candidate compliance summary",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "ENUM_MISMATCH"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "INCORRECT_CONTEXT_FOR_ROUTE"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "candidateAgencyGroup": [],
            "staffshift": []
          }
        ],
        "x-candidateAgencyGroup-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/candidate/{candidate_id}/agency-group-compliance-summary-expiry/{agency_group_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "The candidate id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "get": {
        "tags": [
          "Candidate Compliance Summary Expiry"
        ],
        "x-proxy-route": "/agency-group/{agency_group_id}/candidate-compliance-summary-expiry/{candidate_id}",
        "summary": "Retrieves the expiry candidate compliance summary for a specific agency group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Expiry compliance summary candidate data for agency group will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "candidate_id",
                    "first_output_change_date",
                    "expiring_compliance_rules",
                    "last_output_change_date"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "candidate_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "first_output_change_date": {
                      "type": "string"
                    },
                    "last_output_change_date": {
                      "type": "string"
                    },
                    "expiring_compliance_rules": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "compliance_rule_id",
                          "name",
                          "rule_output",
                          "rule_output_change_date"
                        ],
                        "properties": {
                          "compliance_rule_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "web_description": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1
                          },
                          "description": {
                            "type": "string"
                          },
                          "rule_output": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "rule_output_change_date": {
                            "type": "string",
                            "format": "date-time"
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when retrieving candidate compliance summary expiry",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyGroupCandidate": [],
            "staffshift": []
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/candidate/{candidate_id}/agency-group-compliance-summary-health/{agency_group_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "The candidate id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-compliance",
      "post": {
        "tags": [
          "Candidate Compliance Summary Health"
        ],
        "summary": "Calculate the candidate compliance summary health",
        "x-proxy-route": "/agency-group/{agency_group_id}/candidate-compliance-summary-health/{candidate_id}",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "agency_group_candidate_compliance_summary_health_body_param",
            "in": "body",
            "description": "Agency group candidate compliance summary health body parameter",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "job_title_ids",
                "type",
                "section",
                "location"
              ],
              "properties": {
                "job_title_ids": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "minItems": 1,
                  "uniqueItems": true
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "possible-shifts",
                    "past-shifts"
                  ]
                },
                "section": {
                  "type": "string",
                  "enum": [
                    "summary",
                    "all"
                  ]
                },
                "location": {
                  "type": "object",
                  "required": [
                    "coordinates",
                    "max_distance"
                  ],
                  "properties": {
                    "coordinates": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "minItems": 2,
                      "maxItems": 2
                    },
                    "max_distance": {
                      "type": "number",
                      "minimum": 1
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The agency group candidate compliance summary health",
            "schema": {
              "type": "object",
              "required": [
                "number_compliant_shifts",
                "number_incompliant_shifts",
                "compliant_percentage",
                "incompliant_percentage"
              ],
              "properties": {
                "number_compliant_shifts": {
                  "type": "integer"
                },
                "number_incompliant_shifts": {
                  "type": "integer"
                },
                "compliant_percentage": {
                  "type": "number"
                },
                "incompliant_percentage": {
                  "type": "number"
                },
                "outstanding_rules": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "rule_id",
                      "rule_percentage",
                      "name"
                    ],
                    "properties": {
                      "rule_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "rule_percentage": {
                        "type": "number"
                      },
                      "web_description": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "204": {
            "description": "No content (Most likely no agencies linked to the agency group)"
          },
          "400": {
            "description": "Validation error response",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "ARRAY_LENGTH_SHORT",
                              "ARRAY_LENGTH_LONG",
                              "ARRAY_UNIQUE",
                              "ENUM_MISMATCH",
                              "INVALID_TYPE",
                              "MINIMUM",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "PATTERN"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyGroupCandidate": [],
            "staffshift": []
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/gong-call/reset-permanent-failure": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-calls",
      "post": {
        "tags": [
          "Gong Call"
        ],
        "summary": "Reset a Gong call that permanently failed",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"calls:)[0-9]\\d*\"$",
            "description": "The calls revision of the related aggregate"
          },
          {
            "name": "reset_permanent_failure_payload",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "pabx_call_id",
                "pabx_recording_file"
              ],
              "properties": {
                "pabx_call_id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The PABX call ID"
                },
                "pabx_recording_file": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The PABX recording file name"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Gong call permanent failure reset initiated successfully",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "MIN_LENGTH",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "CALL_DOES_NOT_EXIST",
                          "INCORRECT_STATUS",
                          "RECORDING_NOT_FOUND"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/advanced-search/call": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-calls",
      "post": {
        "tags": [
          "Calls Search"
        ],
        "x-proxy-route": "/advanced-search/call",
        "summary": "Advanced search for calls using Atlas Search",
        "x-proxy-headers": [
          "X-Accept-Result-Count",
          "X-Accept-Result-Count-Limit"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-Accept-Result-Count",
            "in": "header",
            "description": "Set to true to include a total result count in the X-Result-Count response header. Useful for pagination.",
            "type": "boolean",
            "default": false
          },
          {
            "name": "X-Accept-Result-Count-Limit",
            "in": "header",
            "description": "When X-Accept-Result-Count is true, caps the count at this value using a lowerBound strategy. 0 means no cap (exact total count).",
            "type": "integer",
            "default": 0,
            "minimum": 0
          },
          {
            "name": "advanced_search_call_payload",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/advanced_search_call_payload_def"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Advanced search results returned successfully. Note: gong_transcript and gong_analysis are excluded by default to keep response payloads small. To include them, send project: {gong_transcript: 1, gong_analysis: 1} in the request body.",
            "headers": {
              "X-Result-Count": {
                "description": "Total number of matching documents. Only present when X-Accept-Result-Count: true was sent in the request.",
                "type": "integer"
              }
            },
            "schema": {
              "$ref": "#/definitions/advanced_search_call_response"
            }
          },
          "204": {
            "description": "No results found for the given search criteria",
            "headers": {
              "X-Result-Count": {
                "description": "Total number of matching documents. Only present when X-Accept-Result-Count: true was sent in the request.",
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/advanced_search_call_validation_error_model"
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/call/{gong_call_id}/resync-gong-enrichment": {
      "parameters": [
        {
          "name": "gong_call_id",
          "in": "path",
          "required": true,
          "type": "string",
          "minLength": 1,
          "description": "Gong's identifier for the call"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-calls",
      "post": {
        "tags": [
          "Gong Call"
        ],
        "x-proxy-route": "/call/{gong_call_id}/resync-gong-enrichment",
        "summary": "Request that Gong enrichment data be resynced for a single call",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"calls:)[0-9]\\d*\"$",
            "description": "The calls revision of the related aggregate"
          },
          {
            "name": "resync_gong_call_enrichment_payload",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "reason"
              ],
              "properties": {
                "reason": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 500,
                  "pattern": "\\S.*\\S",
                  "description": "Free-form justification for the resync, e.g. why the enrichment data needs to be refreshed"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Gong call enrichment resync requested successfully",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter, or by the call not being in a state where it can be resynced.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "MIN_LENGTH",
                          "MAX_LENGTH",
                          "PATTERN",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "RESYNC_ALREADY_PENDING",
                          "RESYNC_CALL_NOT_INITIATED"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/gong-crm-object/{account_id}/rebuild": {
      "parameters": [
        {
          "name": "account_id",
          "in": "path",
          "required": true,
          "type": "string",
          "description": "The account ID"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-calls",
      "post": {
        "tags": [
          "Gong CRM Object"
        ],
        "x-proxy-route": "/gong-crm-object/{account_id}/rebuild",
        "summary": "Rebuild a CRM object",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"gong_crm_object:)[0-9]\\d*\"$",
            "description": "The gong_crm_object revision of the related aggregate"
          },
          {
            "name": "empty_payload",
            "description": "The payload should be empty",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "CRM object rebuild initiated successfully",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_CRM_OBJECT_ID",
                          "NO_SUCH_CRM_ACCOUNT",
                          "ALREADY_DELETED",
                          "EXISTING_CONTACT_DOES_NO_LONGER_EXIST_IN_SYSTEM",
                          "OBJECT_ADDITIONAL_PROPERTIES"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/pabx-identifier-settings/{pabx_identifier_id}/disable": {
      "parameters": [
        {
          "name": "pabx_identifier_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "type": "string",
          "description": "The PABX identifier id"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-calls",
      "post": {
        "tags": [
          "PABX Identifier Settings"
        ],
        "x-proxy-route": "/pabx-identifier-settings/{pabx_identifier_id}/disable",
        "summary": "Disable an existing PABX identifier setting",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"pabx_identifier_settings:)[0-9]\\d*\"$",
            "description": "The pabx_identifier_settings revision of the related aggregate"
          },
          {
            "name": "empty_payload",
            "description": "The payload should be empty",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "PABX identifier settings disabled successfully",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "PABX_IDENTIFIER_SETTINGS_ALREADY_DISABLED"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/pabx-identifier-settings/{pabx_identifier_id}/enable": {
      "parameters": [
        {
          "name": "pabx_identifier_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "type": "string",
          "description": "The PABX identifier id"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-calls",
      "post": {
        "tags": [
          "PABX Identifier Settings"
        ],
        "x-proxy-route": "/pabx-identifier-settings/{pabx_identifier_id}/enable",
        "summary": "Enable an existing PABX identifier setting",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"pabx_identifier_settings:)[0-9]\\d*\"$",
            "description": "The pabx_identifier_settings revision of the related aggregate"
          },
          {
            "name": "empty_payload",
            "description": "The payload should be empty",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "PABX identifier settings enabled successfully",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "PABX_IDENTIFIER_SETTINGS_ALREADY_ENABLED"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/pabx-identifier-settings/{pabx_identifier_id}/gong-workspace": {
      "parameters": [
        {
          "name": "pabx_identifier_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "type": "string",
          "description": "The PABX identifier id"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-calls",
      "post": {
        "tags": [
          "PABX Identifier Settings"
        ],
        "x-proxy-route": "/pabx-identifier-settings/{pabx_identifier_id}/gong-workspace",
        "summary": "Add gong workspace PABX identifier setting",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"pabx_identifier_settings:)[0-9]\\d*\"$",
            "description": "The pabx_identifier_settings revision of the related aggregate"
          },
          {
            "name": "add_gong_workspace_pabx_identifier_setting_payload",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "gong_workspace_id"
              ],
              "properties": {
                "gong_workspace_id": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 20
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Added gong workspace PABX identifier setting successfully",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "MIN_LENGTH",
                          "MAX_LENGTH",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "GONG_WORKSPACE_ALREADY_CONFIGURED"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      },
      "delete": {
        "tags": [
          "PABX Identifier Settings"
        ],
        "x-proxy-route": "/pabx-identifier-settings/{pabx_identifier_id}/gong-workspace",
        "summary": "Remove a Gong workspace PABX identifier setting",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"pabx_identifier_settings:)[0-9]\\d*\"$",
            "description": "The pabx_identifier_settings revision of the related aggregate"
          }
        ],
        "responses": {
          "202": {
            "description": "Gong workspace PABX identifier setting removed successfully",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "GONG_WORKSPACE_NOT_CONFIGURED"
                        ]
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "PABX identifier setting not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      },
      "put": {
        "tags": [
          "PABX Identifier Settings"
        ],
        "x-proxy-route": "/pabx-identifier-settings/{pabx_identifier_id}/gong-workspace",
        "summary": "Replace the Gong workspace ID for a PABX identifier",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"pabx_identifier_settings:)[0-9]\\d*\"$",
            "description": "The pabx_identifier_settings revision of the related aggregate"
          },
          {
            "name": "replace_gong_workspace_pabx_identifier_setting_payload",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "gong_workspace_id"
              ],
              "properties": {
                "gong_workspace_id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 20,
                  "description": "The Gong workspace ID"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Gong workspace ID updated successfully",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "MIN_LENGTH",
                          "MAX_LENGTH",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "GONG_WORKSPACE_NOT_CONFIGURED",
                          "GONG_WORKSPACE_NO_CHANGE",
                          "GONG_WORKSPACE_ID_INVALID"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/pabx-identifier-settings/{pabx_identifier_id}/staffshift-context": {
      "parameters": [
        {
          "name": "pabx_identifier_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "type": "string",
          "description": "The PABX identifier id"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-calls",
      "post": {
        "tags": [
          "PABX Identifier Settings"
        ],
        "x-proxy-route": "/pabx-identifier-settings/{pabx_identifier_id}/staffshift-context",
        "summary": "Add staffshift context to an existing PABX identifier setting",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"pabx_identifier_settings:)[0-9]\\d*\"$",
            "description": "The pabx_identifier_settings revision of the related aggregate"
          },
          {
            "name": "add_staffshift_context_pabx_identifier_setting_payload",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "context_type": {
                  "description": "The type of context (Agency or AgencyGroup)",
                  "type": "string",
                  "enum": [
                    "Agency",
                    "AgencyGroup"
                  ]
                },
                "context_id": {
                  "type": "string",
                  "description": "The ID of the context (agency or agency group)",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "required": [
                "context_type",
                "context_id"
              ],
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Staffshift context added to PABX identifier settings successfully",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "REQUIRED",
                          "PATTERN",
                          "ENUM_MISMATCH",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "STAFFSHIFT_CONTEXT_INVALID",
                          "STAFFSHIFT_CONTEXT_ALREADY_CONFIGURED"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      },
      "put": {
        "tags": [
          "PABX Identifier Settings"
        ],
        "x-proxy-route": "/pabx-identifier-settings/{pabx_identifier_id}/staffshift-context",
        "summary": "Replace staffshift context in an existing PABX identifier setting",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"pabx_identifier_settings:)[0-9]\\d*\"$",
            "description": "The pabx_identifier_settings revision of the related aggregate"
          },
          {
            "name": "replace_staffshift_context_pabx_identifier_setting_payload",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "context_type": {
                  "description": "The type of context (Agency or AgencyGroup)",
                  "type": "string",
                  "enum": [
                    "Agency",
                    "AgencyGroup"
                  ]
                },
                "context_id": {
                  "type": "string",
                  "description": "The ID of the context (agency or agency group)",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "required": [
                "context_type",
                "context_id"
              ],
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Staffshift context replaced in PABX identifier settings successfully",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "REQUIRED",
                          "PATTERN",
                          "ENUM_MISMATCH",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "STAFFSHIFT_CONTEXT_NOT_CONFIGURED",
                          "STAFFSHIFT_CONTEXT_NO_CHANGE",
                          "STAFFSHIFT_CONTEXT_INVALID"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      },
      "delete": {
        "tags": [
          "PABX Identifier Settings"
        ],
        "x-proxy-route": "/pabx-identifier-settings/{pabx_identifier_id}/staffshift-context",
        "summary": "Remove a Staffshift Context PABX identifier setting",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"pabx_identifier_settings:)[0-9]\\d*\"$",
            "description": "The pabx_identifier_settings revision of the related aggregate"
          }
        ],
        "responses": {
          "202": {
            "description": "Staffshift Context PABX identifier setting removed successfully",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "STAFFSHIFT_CONTEXT_NOT_CONFIGURED"
                        ]
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "PABX identifier setting not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/pabx-identifier-settings": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-calls",
      "post": {
        "tags": [
          "PABX Identifier Settings"
        ],
        "x-proxy-route": "/pabx-identifier-settings",
        "summary": "Create a new PABX identifier setting",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "create_pabx_identifier_settings_payload",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "pabx_identifier",
                "country_code"
              ],
              "properties": {
                "pabx_identifier": {
                  "type": "string",
                  "minLength": 2,
                  "description": "The identifier for the PABX settings"
                },
                "country_code": {
                  "type": "string",
                  "pattern": "^[A-Z]{2}$",
                  "description": "The country code for the PABX settings"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "PABX identifier settings created successfully",
            "headers": {
              "Location": {
                "description": "URL to retrieve the created PABX identifier settings",
                "type": "string"
              },
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "PATTERN",
                          "MIN_LENGTH",
                          "INVALID_COUNTRY_CODE",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "PABX_IDENTIFIER_ALREADY_EXISTS",
                          "AGGREGATE_ALREADY_EXISTS"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/run-job": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The agency group id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-scheduled-actions",
      "post": {
        "x-public-operation": true,
        "x-public-act-as-system-operation": true,
        "tags": [
          "Run Job"
        ],
        "summary": "Run a job for a specific agency group and rule",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "X-CloudScheduler",
            "in": "header",
            "description": "Header to indicate the request is from CloudScheduler",
            "required": false,
            "type": "string",
            "format": "string"
          },
          {
            "name": "X-CloudScheduler-ScheduleTime",
            "in": "header",
            "description": "Header to indicate the schedule time of the request",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "X-CloudScheduler-Jobname",
            "in": "header",
            "description": "Header to indicate the job name of the request",
            "required": false,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "run_job_payload",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "rule_id"
              ],
              "properties": {
                "rule_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "The job will be initiated",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string",
              "maxLength": 0
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "PATTERN",
                          "JOB_CURRENTLY_RUNNING",
                          "RULE_NOT_FOUND",
                          "RULE_IS_DISABLED"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "googleTokenVerification": []
          }
        ],
        "x-google-token-security": {
          "allowed_client_ids_key": "schedule_action_rule_run_job"
        }
      }
    },
    "/reference-decline-reasons": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-skillz",
      "get": {
        "tags": [
          "Reference Config"
        ],
        "summary": "list reference decline reasons",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "x-public-operation": true,
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "List Reference Decline Reasons",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "reason",
                  "display_name"
                ],
                "properties": {
                  "reason": {
                    "type": "string",
                    "enum": [
                      "not_authorized",
                      "no_recollection",
                      "not_immediate_senior",
                      "prefer_not_to_say"
                    ]
                  },
                  "display_name": {
                    "type": "string"
                  }
                }
              }
            },
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        }
      }
    },
    "/reference-deny-form-content/{public_reference_id}": {
      "parameters": [
        {
          "name": "public_reference_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
          "description": "Public reference Id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-skillz",
      "get": {
        "tags": [
          "Reference Online Form Content"
        ],
        "summary": "Retrieves Reference Deny Form Content for specific public reference id",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "x-public-operation": true,
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specific Reference Deny Form Content will be returned for public reference id",
            "schema": {
              "type": "object",
              "required": [
                "reference",
                "candidate",
                "reference_settings",
                "reference_form_type_name",
                "has_been_answered"
              ],
              "properties": {
                "reference_form_type_name": {
                  "type": "string"
                },
                "reference": {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "name",
                    "position",
                    "type",
                    "email_address",
                    "start_at",
                    "current",
                    "_etags"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "name": {
                      "type": "string"
                    },
                    "position": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "professional",
                        "character"
                      ]
                    },
                    "work_contact_number": {
                      "type": "string",
                      "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
                    },
                    "mobile_contact_number": {
                      "type": "string",
                      "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
                    },
                    "email_address": {
                      "type": "string",
                      "format": "email"
                    },
                    "fax_number": {
                      "type": "string",
                      "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
                    },
                    "start_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "end_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "relationship": {
                      "type": "string"
                    },
                    "current": {
                      "type": "boolean"
                    },
                    "employer": {
                      "type": "object",
                      "required": [
                        "name",
                        "contact_number",
                        "address"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "contact_number": {
                          "type": "string"
                        },
                        "address": {
                          "type": "object",
                          "required": [
                            "country_code"
                          ],
                          "properties": {
                            "address_line1": {
                              "type": "string"
                            },
                            "address_line2": {
                              "type": "string"
                            },
                            "city": {
                              "type": "string"
                            },
                            "province": {
                              "type": "string"
                            },
                            "country_code": {
                              "type": "string"
                            },
                            "post_code": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      }
                    },
                    "_etags": {
                      "type": "object",
                      "required": [
                        "reference"
                      ],
                      "properties": {
                        "reference": {
                          "type": "number"
                        }
                      }
                    }
                  }
                },
                "candidate": {
                  "type": "object",
                  "required": [
                    "first_name",
                    "last_name",
                    "current_candidate_type",
                    "current_candidate_type_display_name",
                    "professional_reference_numbers"
                  ],
                  "properties": {
                    "first_name": {
                      "type": "string"
                    },
                    "last_name": {
                      "type": "string"
                    },
                    "current_candidate_type": {
                      "type": "string"
                    },
                    "current_candidate_type_display_name": {
                      "type": "string"
                    },
                    "professional_reference_numbers": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "reference_settings": {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "agency_group_configurables",
                    "reference_type_configurables"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string"
                    },
                    "agency_group_configurables": {
                      "type": "object",
                      "required": [
                        "agency_group_name",
                        "logo",
                        "address",
                        "phone_number",
                        "email_address",
                        "website"
                      ],
                      "properties": {
                        "agency_group_name": {
                          "type": "string"
                        },
                        "logo": {
                          "type": "string"
                        },
                        "address": {
                          "type": "object",
                          "required": [
                            "country_code"
                          ],
                          "properties": {
                            "address_line1": {
                              "type": "string"
                            },
                            "address_line2": {
                              "type": "string"
                            },
                            "city": {
                              "type": "string"
                            },
                            "province": {
                              "type": "string"
                            },
                            "country_code": {
                              "type": "string"
                            },
                            "post_code": {
                              "type": "string"
                            }
                          }
                        },
                        "phone_number": {
                          "type": "string"
                        },
                        "email_address": {
                          "type": "string"
                        },
                        "website": {
                          "type": "string"
                        }
                      }
                    },
                    "reference_type_configurables": {
                      "type": "object",
                      "required": [
                        "type",
                        "introduction_text",
                        "esign_disclaimer_text",
                        "show_introduction_text",
                        "show_rehabilitation_of_offenders",
                        "show_professional_reference_numbers",
                        "show_esign_disclaimer"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "character",
                            "professional"
                          ]
                        },
                        "introduction_text": {
                          "type": "string"
                        },
                        "rehabilitation_of_offenders_text": {
                          "type": "string"
                        },
                        "esign_disclaimer_text": {
                          "type": "string"
                        },
                        "show_introduction_text": {
                          "type": "boolean"
                        },
                        "show_rehabilitation_of_offenders": {
                          "type": "boolean"
                        },
                        "show_professional_reference_numbers": {
                          "type": "boolean"
                        },
                        "show_esign_disclaimer": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                },
                "has_been_answered": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "INVALID_TYPE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        }
      }
    },
    "/reference-online-form-answers/{public_reference_id}": {
      "parameters": [
        {
          "name": "public_reference_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
          "description": "Public reference Id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-skillz",
      "get": {
        "tags": [
          "Reference Online Form Content"
        ],
        "summary": "Retrieves Reference Online Form Answers for specific public reference id",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "x-public-operation": true,
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specific Reference Online Form Answers will be returned for public reference id",
            "schema": {
              "type": "object",
              "required": [
                "question_and_answers"
              ],
              "properties": {
                "question_and_answers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "question_reference",
                      "order",
                      "answers"
                    ],
                    "properties": {
                      "question_reference": {
                        "type": "string"
                      },
                      "order": {
                        "type": "number"
                      },
                      "answers": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "answer_reference",
                            "answer_value"
                          ],
                          "properties": {
                            "answer_reference": {
                              "type": "string"
                            },
                            "answer_value": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "INVALID_TYPE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        }
      }
    },
    "/reference-online-form-content/{public_reference_id}": {
      "parameters": [
        {
          "name": "public_reference_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
          "description": "Public reference Id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-skillz",
      "get": {
        "tags": [
          "Reference Online Form Content"
        ],
        "summary": "Retrieves Reference Online Form Content for specific public reference id",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "x-public-operation": true,
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Specific Reference Online Form Content will be returned for public reference id",
            "schema": {
              "type": "object",
              "required": [
                "reference",
                "candidate",
                "reference_settings",
                "reference_form_type_name"
              ],
              "properties": {
                "reference_form_type_name": {
                  "type": "string"
                },
                "reference": {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "name",
                    "position",
                    "type",
                    "email_address",
                    "start_at",
                    "current",
                    "_etags"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "name": {
                      "type": "string"
                    },
                    "position": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "professional",
                        "character"
                      ]
                    },
                    "work_contact_number": {
                      "type": "string",
                      "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
                    },
                    "mobile_contact_number": {
                      "type": "string",
                      "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
                    },
                    "email_address": {
                      "type": "string",
                      "format": "email"
                    },
                    "fax_number": {
                      "type": "string",
                      "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
                    },
                    "start_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "end_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "relationship": {
                      "type": "string"
                    },
                    "current": {
                      "type": "boolean"
                    },
                    "employer": {
                      "type": "object",
                      "required": [
                        "name",
                        "contact_number",
                        "address"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "contact_number": {
                          "type": "string"
                        },
                        "address": {
                          "type": "object",
                          "required": [
                            "country_code"
                          ],
                          "properties": {
                            "address_line1": {
                              "type": "string"
                            },
                            "address_line2": {
                              "type": "string"
                            },
                            "city": {
                              "type": "string"
                            },
                            "province": {
                              "type": "string"
                            },
                            "country_code": {
                              "type": "string"
                            },
                            "post_code": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      }
                    },
                    "_etags": {
                      "type": "object",
                      "required": [
                        "reference"
                      ],
                      "properties": {
                        "reference": {
                          "type": "number"
                        }
                      }
                    }
                  }
                },
                "candidate": {
                  "type": "object",
                  "required": [
                    "first_name",
                    "last_name",
                    "current_candidate_type",
                    "current_candidate_type_display_name",
                    "professional_reference_numbers"
                  ],
                  "properties": {
                    "first_name": {
                      "type": "string"
                    },
                    "last_name": {
                      "type": "string"
                    },
                    "current_candidate_type": {
                      "type": "string"
                    },
                    "current_candidate_type_display_name": {
                      "type": "string"
                    },
                    "professional_reference_numbers": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "reference_settings": {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "agency_group_configurables",
                    "reference_type_configurables"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string"
                    },
                    "agency_group_configurables": {
                      "type": "object",
                      "required": [
                        "agency_group_name",
                        "logo",
                        "address",
                        "phone_number",
                        "email_address",
                        "website"
                      ],
                      "properties": {
                        "agency_group_name": {
                          "type": "string"
                        },
                        "logo": {
                          "type": "string"
                        },
                        "address": {
                          "type": "object",
                          "required": [
                            "country_code"
                          ],
                          "properties": {
                            "address_line1": {
                              "type": "string"
                            },
                            "address_line2": {
                              "type": "string"
                            },
                            "city": {
                              "type": "string"
                            },
                            "province": {
                              "type": "string"
                            },
                            "country_code": {
                              "type": "string"
                            },
                            "post_code": {
                              "type": "string"
                            }
                          }
                        },
                        "phone_number": {
                          "type": "string"
                        },
                        "email_address": {
                          "type": "string"
                        },
                        "website": {
                          "type": "string"
                        }
                      }
                    },
                    "reference_type_configurables": {
                      "type": "object",
                      "required": [
                        "type",
                        "introduction_text",
                        "esign_disclaimer_text",
                        "show_introduction_text",
                        "show_rehabilitation_of_offenders",
                        "show_professional_reference_numbers",
                        "show_esign_disclaimer"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "character",
                            "professional"
                          ]
                        },
                        "introduction_text": {
                          "type": "string"
                        },
                        "rehabilitation_of_offenders_text": {
                          "type": "string"
                        },
                        "esign_disclaimer_text": {
                          "type": "string"
                        },
                        "show_introduction_text": {
                          "type": "boolean"
                        },
                        "show_rehabilitation_of_offenders": {
                          "type": "boolean"
                        },
                        "show_professional_reference_numbers": {
                          "type": "boolean"
                        },
                        "show_esign_disclaimer": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                },
                "has_been_answered": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "INVALID_TYPE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        }
      }
    },
    "/reference-online-form/{public_reference_id}/decline": {
      "parameters": [
        {
          "name": "public_reference_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
          "description": "Public reference Id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-skillz",
      "post": {
        "tags": [
          "Reference Online Form Content"
        ],
        "summary": "Decline submission of reference online form",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "x-public-operation": true,
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"reference:)[0-9]\\d*\"$",
            "description": "The reference revision of the related aggregate"
          },
          {
            "name": "decline_reference_online_form_payload",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "reason"
              ],
              "properties": {
                "reason": {
                  "type": "string",
                  "enum": [
                    "not_authorized",
                    "no_recollection",
                    "not_immediate_senior",
                    "prefer_not_to_say"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Reference Online Form will be declined",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string",
              "maxLength": 0
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED",
                    "ENUM_MISMATCH"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "ENUM_MISMATCH",
                          "INVALID_REASON"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        }
      }
    },
    "/reference-online-form/{public_reference_id}/deny": {
      "parameters": [
        {
          "name": "public_reference_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
          "description": "Public reference Id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-skillz",
      "post": {
        "tags": [
          "Reference Online Form Content"
        ],
        "summary": "Deny Providing Reference Online Form",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "x-public-operation": true,
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"reference:)[0-9]\\d*\"$",
            "description": "The reference revision of the related aggregate"
          },
          {
            "name": "empty_payload",
            "description": "The payload should be empty",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Reference Online Form denial was successful",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string",
              "maxLength": 0
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "INVALID_REFERENCE_TYPE",
                          "REFERENCE_ALREADY_FAILED"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        }
      }
    },
    "/reference-online-form/{public_reference_id}/submit": {
      "parameters": [
        {
          "name": "public_reference_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
          "description": "Public reference Id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-cqrs-skillz",
      "post": {
        "tags": [
          "Reference Online Form Content"
        ],
        "summary": "Submit Reference Online Form",
        "x-public-operation": true,
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"reference:)[0-9]\\d*\"$",
            "description": "The reference revision of the related aggregate"
          },
          {
            "name": "submit_reference_online_form_payload",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "online_form_question_and_answers",
                "reference_form_type_name",
                "esign_image",
                "reference",
                "candidate",
                "reference_settings"
              ],
              "properties": {
                "online_form_question_and_answers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "question_reference",
                      "order",
                      "answers"
                    ],
                    "properties": {
                      "question_reference": {
                        "type": "string"
                      },
                      "order": {
                        "type": "number"
                      },
                      "answers": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "answer_reference",
                            "answer_value"
                          ],
                          "properties": {
                            "answer_reference": {
                              "type": "string"
                            },
                            "answer_value": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "reference_form_type_name": {
                  "type": "string"
                },
                "esign_image": {
                  "type": "string"
                },
                "reference": {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "name",
                    "position",
                    "type",
                    "email_address",
                    "start_at"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "position": {
                      "type": "string",
                      "minLength": 1
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "professional",
                        "character"
                      ]
                    },
                    "work_contact_number": {
                      "type": "string",
                      "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
                    },
                    "mobile_contact_number": {
                      "type": "string",
                      "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
                    },
                    "email_address": {
                      "type": "string",
                      "format": "email"
                    },
                    "fax_number": {
                      "type": "string",
                      "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
                    },
                    "start_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "end_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "relationship": {
                      "type": "string",
                      "minLength": 1
                    },
                    "employer": {
                      "type": "object",
                      "required": [
                        "name",
                        "contact_number",
                        "address"
                      ],
                      "properties": {
                        "name": {
                          "type": "string",
                          "minLength": 1
                        },
                        "contact_number": {
                          "type": "string",
                          "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
                        },
                        "address": {
                          "type": "object",
                          "required": [
                            "country_code"
                          ],
                          "properties": {
                            "address_line1": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 100
                            },
                            "address_line2": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 100
                            },
                            "city": {
                              "type": "string",
                              "minLength": 2,
                              "maxLength": 100
                            },
                            "province": {
                              "type": "string",
                              "minLength": 2,
                              "maxLength": 100
                            },
                            "country_code": {
                              "type": "string",
                              "minLength": 2,
                              "maxLength": 2
                            },
                            "post_code": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 100
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                },
                "candidate": {
                  "type": "object",
                  "required": [
                    "first_name",
                    "last_name",
                    "current_candidate_type",
                    "current_candidate_type_display_name",
                    "professional_reference_numbers"
                  ],
                  "properties": {
                    "first_name": {
                      "type": "string"
                    },
                    "last_name": {
                      "type": "string"
                    },
                    "current_candidate_type": {
                      "type": "string"
                    },
                    "current_candidate_type_display_name": {
                      "type": "string"
                    },
                    "professional_reference_numbers": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "reference_settings": {
                  "type": "object",
                  "required": [
                    "agency_group_id",
                    "agency_group_configurables",
                    "reference_type_configurables"
                  ],
                  "properties": {
                    "agency_group_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "agency_group_configurables": {
                      "type": "object",
                      "required": [
                        "agency_group_name",
                        "logo",
                        "address",
                        "phone_number",
                        "email_address",
                        "website"
                      ],
                      "properties": {
                        "agency_group_name": {
                          "type": "string"
                        },
                        "logo": {
                          "type": "string"
                        },
                        "address": {
                          "type": "object",
                          "required": [
                            "country_code"
                          ],
                          "properties": {
                            "address_line1": {
                              "type": "string"
                            },
                            "address_line2": {
                              "type": "string"
                            },
                            "city": {
                              "type": "string"
                            },
                            "province": {
                              "type": "string"
                            },
                            "country_code": {
                              "type": "string"
                            },
                            "post_code": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        "phone_number": {
                          "type": "string"
                        },
                        "email_address": {
                          "type": "string",
                          "format": "email"
                        },
                        "website": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    },
                    "reference_type_configurables": {
                      "type": "object",
                      "required": [
                        "type",
                        "esign_disclaimer_text",
                        "show_introduction_text",
                        "show_rehabilitation_of_offenders",
                        "show_professional_reference_numbers",
                        "show_esign_disclaimer"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "professional",
                            "character"
                          ]
                        },
                        "introduction_text": {
                          "type": "string"
                        },
                        "rehabilitation_of_offenders_text": {
                          "type": "string"
                        },
                        "esign_disclaimer_text": {
                          "type": "string"
                        },
                        "show_introduction_text": {
                          "type": "boolean"
                        },
                        "show_rehabilitation_of_offenders": {
                          "type": "boolean"
                        },
                        "show_professional_reference_numbers": {
                          "type": "boolean"
                        },
                        "show_esign_disclaimer": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Reference Online Form will be submitted",
            "headers": {
              "ETag": {
                "description": "Weak ETag contains the current revision of the aggregate",
                "type": "string"
              }
            },
            "schema": {
              "type": "string",
              "maxLength": 0
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "INVALID_FORMAT",
                          "PATTERN",
                          "ENUM_MISMATCH",
                          "MIN_LENGTH",
                          "MAX_LENGTH",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "REFERENCE_DOES_NOT_EXIST",
                          "REFERENCE_ALREADY_DELETED",
                          "INCORRECT_STATUS",
                          "INVALID_REFERENCE_TYPE",
                          "START_AT_IN_FUTURE",
                          "START_AT_SHOULD_BE_LESS_THAN_END_AT",
                          "RELATIONSHIP_NOT_SUPPORTED_FOR_PROFESSIONAL_REFEREE",
                          "EMPLOYER_NOT_SUPPORTED_FOR_CHARACTER_REFEREE"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        }
      }
    },
    "/system/mailbox-folder-delta-sync/{mailbox_id}/folder/{folder_id}/compact-interval": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-ms365-integration",
      "post": {
        "tags": [
          "MailboxFolderDeltaSync"
        ],
        "x-proxy-route": "/mailbox-folder-delta-sync/{mailbox_id}/folder/{folder_id}/compact-interval",
        "summary": "Updates the compact interval of a mailbox folder delta sync configuration",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"mailbox_folder_delta_sync:)[0-9]\\d*\"$",
            "description": "The mailbox_folder_delta_sync revision of the related aggregate"
          },
          {
            "name": "mailbox_id",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The mailbox identifier (MongoDB ObjectId)"
          },
          {
            "name": "folder_id",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The folder identifier (MongoDB ObjectId)"
          },
          {
            "name": "update_mailbox_folder_delta_sync_compact_interval",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "compact_interval_in_minutes"
              ],
              "properties": {
                "compact_interval_in_minutes": {
                  "type": "integer",
                  "minimum": 60,
                  "maximum": 10080
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Compact interval update command accepted. The compact interval of the mailbox folder delta sync configuration will be updated. The ETag header contains the new event version.",
            "headers": {
              "ETag": {
                "type": "string",
                "description": "The event id"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "INVALID_TYPE",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "MINIMUM",
                          "MAXIMUM",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "MAILBOX_FOLDER_DELETED",
                          "MAILBOX_FOLDER_COMPACT_INTERVAL_INVALID",
                          "MAILBOX_FOLDER_COMPACT_INTERVAL_NO_CHANGE"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/mailbox-folder-delta-sync/{mailbox_id}/folder/{folder_id}/disable-monitoring": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-ms365-integration",
      "post": {
        "tags": [
          "MailboxFolderDeltaSync"
        ],
        "x-proxy-route": "/mailbox-folder-delta-sync/{mailbox_id}/folder/{folder_id}/disable-monitoring",
        "summary": "Disables monitoring on a mailbox folder delta sync",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "mailbox_id",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The mailbox identifier (MongoDB ObjectId)"
          },
          {
            "name": "folder_id",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The folder identifier (MongoDB ObjectId)"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"mailbox_folder_delta_sync:)[0-9]\\d*\"$",
            "description": "The mailbox folder delta sync revision of the related aggregate"
          },
          {
            "name": "empty_payload",
            "in": "body",
            "required": false,
            "description": "The request payload must be empty",
            "schema": {
              "type": "object",
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Mailbox folder delta synchronization monitoring disabled successfully",
            "headers": {
              "ETag": {
                "type": "string",
                "description": "The event id"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "INVALID_TYPE",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "MAILBOX_FOLDER_DELETED",
                          "MAILBOX_FOLDER_SYNC_MONITORING_ALREADY_DISABLED",
                          "OBJECT_ADDITIONAL_PROPERTIES"
                        ]
                      },
                      "message": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/mailbox-folder-delta-sync/{mailbox_id}/folder/{folder_id}/enable-monitoring": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-ms365-integration",
      "post": {
        "tags": [
          "MailboxFolderDeltaSync"
        ],
        "x-proxy-route": "/mailbox-folder-delta-sync/{mailbox_id}/folder/{folder_id}/enable-monitoring",
        "summary": "Enables monitoring on a mailbox folder delta sync configuration",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The mailbox_folder_delta_sync revision of the related aggregate",
            "required": false,
            "type": "string",
            "pattern": "^(W/\"mailbox_folder_delta_sync:)[0-9]\\d*\"$"
          },
          {
            "name": "mailbox_id",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The mailbox identifier (MongoDB ObjectId)"
          },
          {
            "name": "folder_id",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The folder identifier (MongoDB ObjectId)"
          },
          {
            "name": "empty_payload",
            "in": "body",
            "required": false,
            "description": "The request payload must be empty",
            "schema": {
              "type": "object",
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Mailbox folder delta sync monitoring enabled",
            "headers": {
              "ETag": {
                "type": "string",
                "description": "The event id"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid If-Match header or invalid aggregate state",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "INVALID_TYPE",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "MAILBOX_FOLDER_DELETED",
                          "MAILBOX_FOLDER_SYNC_MONITORING_ALREADY_ENABLED",
                          "OBJECT_ADDITIONAL_PROPERTIES"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/mailbox-folder-delta-sync/{mailbox_id}/folder/{folder_id}/messages-processed-capacity": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-ms365-integration",
      "post": {
        "tags": [
          "MailboxFolderDeltaSync"
        ],
        "x-proxy-route": "/mailbox-folder-delta-sync/{mailbox_id}/folder/{folder_id}/messages-processed-capacity",
        "summary": "Updates the messages processed capacity of a mailbox folder delta sync configuration",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"mailbox_folder_delta_sync:)[0-9]\\d*\"$",
            "description": "The mailbox_folder_delta_sync revision of the related aggregate"
          },
          {
            "name": "mailbox_id",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The mailbox identifier (MongoDB ObjectId)"
          },
          {
            "name": "folder_id",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The folder identifier (MongoDB ObjectId)"
          },
          {
            "name": "update_mailbox_folder_delta_sync_messages_processed_capacity",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "messages_processed_capacity"
              ],
              "properties": {
                "messages_processed_capacity": {
                  "type": "integer",
                  "minimum": 10,
                  "maximum": 1000
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Messages processed capacity update command accepted. The ETag header contains the new event version.",
            "headers": {
              "ETag": {
                "type": "string",
                "description": "The event id"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "INVALID_TYPE",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "MINIMUM",
                          "MAXIMUM",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "MAILBOX_FOLDER_DELETED",
                          "MAILBOX_FOLDER_MESSAGES_PROCESSED_CAPACITY_INVALID",
                          "MAILBOX_FOLDER_MESSAGES_PROCESSED_CAPACITY_NO_CHANGE"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/mailbox-folder-delta-sync/{mailbox_id}/folder/{folder_id}/poll-interval": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-ms365-integration",
      "post": {
        "tags": [
          "MailboxFolderDeltaSync"
        ],
        "x-proxy-route": "/mailbox-folder-delta-sync/{mailbox_id}/folder/{folder_id}/poll-interval",
        "summary": "Update the poll interval for a mailbox folder delta sync",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "type": "string",
            "pattern": "^(W/\"mailbox_folder_delta_sync:)[0-9]\\d*\"$",
            "description": "The mailbox_folder_delta_sync revision of the related aggregate"
          },
          {
            "name": "mailbox_id",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The mailbox identifier (MongoDB ObjectId)"
          },
          {
            "name": "folder_id",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The folder identifier (MongoDB ObjectId)"
          },
          {
            "name": "update_mailbox_folder_delta_sync_poll_interval",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "poll_interval_in_minutes"
              ],
              "properties": {
                "poll_interval_in_minutes": {
                  "type": "integer",
                  "minimum": 1
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Poll interval update command accepted. The poll interval of the mailbox folder delta sync configuration will be updated. The ETag header contains the new event version.",
            "headers": {
              "ETag": {
                "type": "string",
                "description": "The event id"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "MINIMUM",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "MAILBOX_FOLDER_POLL_INTERVAL_INVALID",
                          "MAILBOX_FOLDER_POLL_INTERVAL_NO_CHANGE",
                          "MAILBOX_FOLDER_DELETED"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/mailbox-folder-delta-sync/{mailbox_id}/folder/{folder_id}": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-ms365-integration",
      "delete": {
        "x-proxy-route": "/mailbox-folder-delta-sync/{mailbox_id}/folder/{folder_id}",
        "tags": [
          "MailboxFolderDeltaSync"
        ],
        "summary": "Deletes a mailbox folder delta sync configuration",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The mailbox_folder_delta_sync revision of the related aggregate",
            "required": false,
            "type": "string",
            "pattern": "^(W/\"mailbox_folder_delta_sync:)[0-9]\\d*\"$"
          },
          {
            "name": "mailbox_id",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The mailbox identifier (MongoDB ObjectId)"
          },
          {
            "name": "folder_id",
            "in": "path",
            "required": true,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$",
            "description": "The folder identifier (MongoDB ObjectId)"
          }
        ],
        "responses": {
          "202": {
            "description": "Mailbox folder delta sync configuration deleted",
            "headers": {
              "ETag": {
                "type": "string",
                "description": "The event id"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid If-Match header",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "INVALID_TYPE",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "MAILBOX_FOLDER_DELETED"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "412": {
            "description": "Request precondition failed",
            "schema": {
              "description": "Request precondition failed",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PRECONDITION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/mailbox-folder-delta-sync": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "ss-ms365-integration",
      "post": {
        "tags": [
          "MailboxFolderDeltaSync"
        ],
        "x-proxy-route": "/mailbox-folder-delta-sync",
        "summary": "Creates a new mailbox folder delta sync configuration",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "create_mailbox_folder_delta_sync",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "description",
                "email_address",
                "folder_name",
                "poll_interval_in_minutes",
                "messages_processed_capacity",
                "compact_interval_in_minutes"
              ],
              "properties": {
                "description": {
                  "type": "string",
                  "minLength": 1
                },
                "email_address": {
                  "type": "string",
                  "format": "email"
                },
                "folder_name": {
                  "type": "string",
                  "minLength": 1
                },
                "poll_interval_in_minutes": {
                  "type": "integer",
                  "minimum": 1
                },
                "messages_processed_capacity": {
                  "type": "integer",
                  "minimum": 1
                },
                "compact_interval_in_minutes": {
                  "type": "integer",
                  "minimum": 60
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "202": {
            "description": "New mailbox folder delta sync configuration created",
            "headers": {
              "ETag": {
                "type": "string",
                "description": "The event id"
              },
              "Location": {
                "type": "string",
                "description": "The location of the created resource"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Validation error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "MODEL_VALIDATION_FAILED",
                    "SCHEMA_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "INVALID_FORMAT",
                          "MINIMUM",
                          "MIN_LENGTH",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "MAILBOX_FOLDER_DELTA_SYNC_ALREADY_EXISTS",
                          "MAILBOX_FOLDER_POLL_INTERVAL_INVALID",
                          "MAILBOX_FOLDER_MESSAGES_PROCESSED_CAPACITY_INVALID",
                          "MAILBOX_FOLDER_COMPACT_INTERVAL_INVALID",
                          "MAILBOX_FOLDER_NOT_ACCESSIBLE",
                          "MAILBOX_FOLDER_DOES_NOT_EXIST"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the incoming request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/system/workforce": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffing",
      "get": {
        "tags": [
          "System Workforce"
        ],
        "x-proxy-route": "/workforce",
        "summary": "List the system workforce options",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of documents to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of documents per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "country_code",
            "in": "query",
            "description": "Filter based on country code",
            "required": false,
            "type": "string"
          },
          {
            "name": "is_default",
            "in": "query",
            "description": "Filter based on default flag",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "workforce_name",
            "in": "query",
            "description": "Filter based on workforce name",
            "required": false,
            "type": "string"
          },
          {
            "name": "workforce_id",
            "in": "query",
            "description": "Filter based on workforce id",
            "required": false,
            "type": "string"
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "The field to sort by together with sorting order. example `_id`, `-_id`",
            "required": false,
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "country_code",
                "-country_code",
                "workforce_name",
                "-workforce_name",
                "workforce_id",
                "-workforce_id",
                "_id",
                "-_id"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of workforce options",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "workforce_id",
                      "workforce_name",
                      "country_code",
                      "is_default"
                    ],
                    "properties": {
                      "workforce_id": {
                        "type": "string"
                      },
                      "workforce_name": {
                        "type": "string"
                      },
                      "country_code": {
                        "type": "string"
                      },
                      "is_default": {
                        "type": "boolean"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "ARRAY_UNIQUE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "workforce",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/user/{user_id}/activity": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The agency group id",
          "type": "string"
        },
        {
          "name": "user_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The user id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-activities",
      "get": {
        "tags": [
          "Agency Group User Activity"
        ],
        "description": "Retrieve a list of activity a user created within an agency group context",
        "summary": "Get a list of Agency Group User activities",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "No of records per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "sortBy",
            "description": "A comma separated list of fields indicating sort order `activity_date`, a negative sign reverses direction `-activity_date`",
            "required": false,
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "activity_date",
                "-activity_date"
              ]
            }
          },
          {
            "name": "activity_type",
            "description": "Filter the type of activities that is returned",
            "in": "query",
            "required": false,
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "string"
            }
          },
          {
            "name": "activity_date_at_from",
            "in": "query",
            "description": "Activity from date",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "activity_date_at_to",
            "in": "query",
            "description": "Activity to date",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "subject_type",
            "in": "query",
            "required": false,
            "description": "Filter activities by subject type",
            "type": "string",
            "enum": [
              "candidate",
              "client"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The agency group user activities will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/user_context_activity_response_def"
              }
            },
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "204": {
            "description": "No entities found that match the query",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "code",
                    "message"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "REQUIRED",
                        "PATTERN",
                        "SCHEMA_VALIDATION_FAILED",
                        "CONTENT_TYPE_NOT_SUPPORTED",
                        "ENUM_MISMATCH",
                        "ARRAY_UNIQUE",
                        "AGENCY_LINKED_TO_MULTIPLE_AGENCY_GROUP"
                      ]
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "code",
                          "message",
                          "path"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "PATTERN",
                              "ENUM_MISMATCH",
                              "REQUIRED",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "INVALID_TYPE",
                              "MIN_LENGTH",
                              "ARRAY_LENGTH_SHORT",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          },
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "pathContextValidator": [],
            "staffshift": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "user_activity",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/client/{client_id}/activity": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The agency id",
          "type": "string"
        },
        {
          "name": "client_id",
          "description": "Client ID",
          "required": true,
          "in": "path",
          "pattern": "^[0-9a-fA-F]{24}$",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-activities",
      "post": {
        "tags": [
          "Agency Client Activity"
        ],
        "summary": "Create Agency Client activity",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "activity_body",
            "in": "body",
            "required": true,
            "description": "The agency client body to be taken",
            "schema": {
              "type": "object",
              "required": [
                "activity_type"
              ],
              "properties": {
                "activity_type": {
                  "type": "string",
                  "minLength": 3,
                  "example": "REGISTRATION_CALL_MADE"
                },
                "description": {
                  "type": "string",
                  "minLength": 3
                },
                "comment": {
                  "type": "string"
                },
                "linked_entities": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "description": "Represents a dynamic link to an entity that exists in other services",
                    "additionalProperties": false,
                    "required": [
                      "entity_type"
                    ],
                    "properties": {
                      "entity_id": {
                        "type": "string",
                        "description": "The id of the entity, note this doesn't have pattern matching as user don't have mongo object ids as ids"
                      },
                      "entity_type": {
                        "type": "string",
                        "description": "The type of the entity this object represents"
                      },
                      "name": {
                        "type": "string",
                        "description": "The name of the entity, note that either name or entity_id is required"
                      }
                    }
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The agency client activity will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "activity_type"
                  ],
                  "properties": {
                    "activity_type": {
                      "type": "string",
                      "minLength": 3,
                      "example": "REGISTRATION_CALL_MADE"
                    },
                    "description": {
                      "type": "string",
                      "minLength": 3
                    },
                    "subject_candidate_name": {
                      "type": "string",
                      "minLength": 3,
                      "description": "This is a deprecated property, any value passed on this property will be ignored and will be removed in the future"
                    },
                    "created_by_user": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$",
                      "description": "This is a deprecated property, any value passed on this property will be ignored and will be removed in the future"
                    },
                    "created_by_user_name": {
                      "type": "string",
                      "minLength": 3,
                      "description": "This is a deprecated property, any value passed on this property will be ignored and will be removed in the future"
                    },
                    "comment": {
                      "type": "string"
                    },
                    "linked_entities": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "object",
                        "description": "Represents a dynamic link to an entity that exists in other services",
                        "additionalProperties": false,
                        "required": [
                          "entity_type"
                        ],
                        "properties": {
                          "entity_id": {
                            "type": "string",
                            "description": "The id of the entity, note this doesn't have pattern matching as user don't have mongo object ids as ids"
                          },
                          "entity_type": {
                            "type": "string",
                            "description": "The type of the entity this object represents"
                          },
                          "name": {
                            "type": "string",
                            "description": "The name of the entity, note that either name or entity_id is required"
                          }
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "activity_date"
                  ],
                  "properties": {
                    "activity_date": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_by_context_id": {
                      "type": "string"
                    },
                    "created_by_context_type": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on post",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "PATTERN",
                    "SCHEMA_VALIDATION_FAILED",
                    "CONTENT_TYPE_NOT_SUPPORTED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "INVALID_TYPE",
                          "MIN_LENGTH",
                          "ARRAY_LENGTH_SHORT",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "INVALID_ACTIVITY_TYPE",
                          "ACTIVITY_TYPE_DISABLED"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "pathContextValidator": [],
            "staffshift": [],
            "agencyClientLink": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_client_activity",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyClientLink-security": {
          "path_ids": {
            "path_agency_id": "agency_id",
            "path_client_id": "client_id"
          }
        }
      },
      "get": {
        "tags": [
          "Agency Client Activity"
        ],
        "description": "Retrieve a list of activity for agency client",
        "summary": "Get a list of Agency Client activities",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "No of records per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "sortBy",
            "description": "A comma separated list of fields indicating sort order `activity_type`, a negative sign reverses direction `-activity_type`",
            "required": false,
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "activity_type",
                "created_by_user",
                "created_by_user_name",
                "activity_date",
                "-activity_type",
                "-created_by_user",
                "-created_by_user_name",
                "-activity_date"
              ]
            }
          },
          {
            "name": "activity_type",
            "description": "Filter the type of activities that is returned",
            "in": "query",
            "required": false,
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "string"
            }
          },
          {
            "name": "activity_date_at_from",
            "in": "query",
            "description": "Activity from date",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "activity_date_at_to",
            "in": "query",
            "description": "Activity to date",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "created_by_user",
            "description": "Filter activities based on the ID of user that created the activity",
            "in": "query",
            "type": "string",
            "required": false,
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "created_by_user_name",
            "description": "Filter activities based on the name of the user that created the activity",
            "in": "query",
            "type": "string",
            "required": false
          },
          {
            "name": "linked_entity_id",
            "description": "Filter activities based on entity id of linked entities",
            "in": "query",
            "type": "string",
            "required": false
          },
          {
            "name": "linked_entity_type",
            "description": "Filter activities based on entity id of linked entities",
            "in": "query",
            "type": "string",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "The agency client activities will be returned",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "activity_type"
                    ],
                    "properties": {
                      "activity_type": {
                        "type": "string",
                        "minLength": 3,
                        "example": "REGISTRATION_CALL_MADE"
                      },
                      "description": {
                        "type": "string",
                        "minLength": 3
                      },
                      "subject_candidate_name": {
                        "type": "string",
                        "minLength": 3,
                        "description": "This is a deprecated property, any value passed on this property will be ignored and will be removed in the future"
                      },
                      "created_by_user": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$",
                        "description": "This is a deprecated property, any value passed on this property will be ignored and will be removed in the future"
                      },
                      "created_by_user_name": {
                        "type": "string",
                        "minLength": 3,
                        "description": "This is a deprecated property, any value passed on this property will be ignored and will be removed in the future"
                      },
                      "comment": {
                        "type": "string"
                      },
                      "linked_entities": {
                        "type": "array",
                        "minItems": 1,
                        "items": {
                          "type": "object",
                          "description": "Represents a dynamic link to an entity that exists in other services",
                          "additionalProperties": false,
                          "required": [
                            "entity_type"
                          ],
                          "properties": {
                            "entity_id": {
                              "type": "string",
                              "description": "The id of the entity, note this doesn't have pattern matching as user don't have mongo object ids as ids"
                            },
                            "entity_type": {
                              "type": "string",
                              "description": "The type of the entity this object represents"
                            },
                            "name": {
                              "type": "string",
                              "description": "The name of the entity, note that either name or entity_id is required"
                            }
                          }
                        }
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "activity_date"
                    ],
                    "properties": {
                      "activity_date": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_by_context_id": {
                        "type": "string"
                      },
                      "created_by_context_type": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            },
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "204": {
            "description": "No entities found that match the query",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "code",
                    "message"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "REQUIRED",
                        "PATTERN",
                        "SCHEMA_VALIDATION_FAILED",
                        "CONTENT_TYPE_NOT_SUPPORTED",
                        "ENUM_MISMATCH",
                        "ARRAY_UNIQUE",
                        "AGENCY_LINKED_TO_MULTIPLE_AGENCY_GROUP"
                      ]
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "code",
                          "message",
                          "path"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "PATTERN",
                              "ENUM_MISMATCH",
                              "REQUIRED",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "INVALID_TYPE",
                              "MIN_LENGTH",
                              "ARRAY_LENGTH_SHORT",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          },
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "pathContextValidator": [],
            "staffshift": [],
            "agencyClientLink": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_client_activity",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyClientLink-security": {
          "path_ids": {
            "path_agency_id": "agency_id",
            "path_client_id": "client_id"
          }
        }
      }
    },
    "/agency/{agency_id}/user/{user_id}/activity": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The agency id",
          "type": "string"
        },
        {
          "name": "user_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The user id",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-activities",
      "get": {
        "tags": [
          "Agency User Activity"
        ],
        "description": "Retrieve a list of activity a user created within an agency context",
        "summary": "Get a list of Agency User activities",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "No of records per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "sortBy",
            "description": "A comma separated list of fields indicating sort order `activity_date`, a negative sign reverses direction `-activity_date`",
            "required": false,
            "in": "query",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "activity_date",
                "-activity_date"
              ]
            }
          },
          {
            "name": "activity_type",
            "description": "Filter the type of activities that is returned",
            "in": "query",
            "required": false,
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "string"
            }
          },
          {
            "name": "activity_date_at_from",
            "in": "query",
            "description": "Activity from date",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "activity_date_at_to",
            "in": "query",
            "description": "Activity to date",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "subject_type",
            "in": "query",
            "required": false,
            "description": "Filter activities by subject type",
            "type": "string",
            "enum": [
              "candidate",
              "client"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "The agency user activities will be returned",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/user_context_activity_response_def"
              }
            },
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "204": {
            "description": "No entities found that match the query",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "code",
                    "message"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "REQUIRED",
                        "PATTERN",
                        "SCHEMA_VALIDATION_FAILED",
                        "CONTENT_TYPE_NOT_SUPPORTED",
                        "ENUM_MISMATCH",
                        "ARRAY_UNIQUE",
                        "AGENCY_LINKED_TO_MULTIPLE_AGENCY_GROUP"
                      ]
                    },
                    "message": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "code",
                          "message",
                          "path"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "PATTERN",
                              "ENUM_MISMATCH",
                              "REQUIRED",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "INVALID_TYPE",
                              "MIN_LENGTH",
                              "ARRAY_LENGTH_SHORT",
                              "OBJECT_ADDITIONAL_PROPERTIES"
                            ]
                          },
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "pathContextValidator": [],
            "staffshift": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "user_activity",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/advanced-search-report/agencies-with-shifts": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_bumblebee-v2",
      "post": {
        "tags": [
          "Advanced Search Report"
        ],
        "summary": "Get agencies with shifts for a given site and all its wards",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria for finding agencies with shifts",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "site_id",
                "min_shift_end_date",
                "status_code"
              ],
              "properties": {
                "site_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$",
                  "description": "Site ID to search for shifts"
                },
                "min_shift_end_date": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Minimum end date for shifts"
                },
                "status_code": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "New",
                      "Accepted",
                      "Cancelled",
                      "Closed",
                      "Reopened"
                    ]
                  },
                  "description": "Array of status codes to filter shifts",
                  "minItems": 1
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of agencies with shifts for the given site",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "agency_id",
                  "agency_name"
                ],
                "properties": {
                  "agency_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$",
                    "description": "Agency ID"
                  },
                  "agency_name": {
                    "type": "string",
                    "description": "Agency name"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "INVALID_FORMAT",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "ARRAY_LENGTH_SHORT",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "PATTERN",
                          "ENUM_MISMATCH"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/autocomplete/consultant": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "description": "The agency group id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_bumblebee-v2",
      "get": {
        "x-bypass-ip-security-check": true,
        "tags": [
          "Autocomplete"
        ],
        "x-proxy-route": "/agency-group/{agency_group_id}/autocomplete/consultant",
        "summary": "Retrieve auto complete for consultant",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "search_term",
            "description": "auto complete search term",
            "in": "query",
            "required": true,
            "type": "string",
            "minLength": 2,
            "maxLength": 50
          },
          {
            "name": "size",
            "description": "auto complete result size",
            "in": "query",
            "required": false,
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 25
          }
        ],
        "responses": {
          "200": {
            "description": "Success result",
            "schema": {
              "type": "object",
              "required": [
                "results"
              ],
              "properties": {
                "results": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation errors",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MINIMUM",
                    "MAXIMUM",
                    "MIN_LENGTH",
                    "MAX_LENGTH",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "candidate_consultant",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/client-suggestions": {
      "parameters": [
        {
          "name": "Authorization",
          "in": "header",
          "description": "OAuth Bearer token",
          "required": true,
          "pattern": "^Bearer *",
          "type": "string",
          "format": "string"
        },
        {
          "name": "Context",
          "in": "header",
          "description": "The executing context",
          "required": true,
          "type": "string",
          "format": "string"
        },
        {
          "name": "Accept",
          "in": "header",
          "description": "Advertises which content types the client understands",
          "required": true,
          "type": "string",
          "enum": [
            "application/json"
          ]
        },
        {
          "name": "X-Accept-Timezone",
          "in": "header",
          "description": "The timezone the content will be displayed in",
          "required": false,
          "type": "string"
        },
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_bumblebee-v2",
      "post": {
        "x-proxy-route": "/agency-group/{agency_group_id}/global-search-suggestions",
        "tags": [
          "Global Search"
        ],
        "summary": "Get agency client suggestions",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "global_search_suggestions_filter_request",
            "description": "Global search suggestions request body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "search_term",
                "payload"
              ],
              "properties": {
                "search_term": {
                  "type": "string",
                  "minLength": 3
                },
                "size": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 30
                },
                "payload": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "index_type"
                    ],
                    "properties": {
                      "index_type": {
                        "type": "string",
                        "enum": [
                          "client_organisation",
                          "client_site",
                          "client_ward"
                        ]
                      },
                      "filters": {
                        "type": "object",
                        "required": [
                          "agency_id"
                        ],
                        "properties": {
                          "agency_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "parent_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        },
                        "additionalProperties": false
                      },
                      "fields": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string",
                              "enum": [
                                "agency_client_reference",
                                "client_reference",
                                "client_name"
                              ]
                            },
                            "boost": {
                              "type": "number"
                            }
                          },
                          "additionalProperties": false
                        },
                        "additionalProperties": false
                      }
                    },
                    "example": [
                      {
                        "index_type": "client_organisation",
                        "filters": {
                          "agency_id": "5b16b824e8a73a752c42d848"
                        },
                        "fields": [
                          {
                            "name": "client_name",
                            "boost": 2
                          },
                          {
                            "name": "agency_client_reference",
                            "boost": 3
                          },
                          {
                            "name": "client_reference",
                            "boost": 6
                          }
                        ]
                      },
                      {
                        "index_type": "client_site",
                        "filters": {
                          "agency_id": "5b16b824e8a73a752c42d848",
                          "parent_id": "624bdab505dae2c79e000001"
                        },
                        "fields": [
                          {
                            "name": "client_name",
                            "boost": 2
                          },
                          {
                            "name": "agency_client_reference",
                            "boost": 3
                          },
                          {
                            "name": "client_reference",
                            "boost": 6
                          }
                        ]
                      },
                      {
                        "index_type": "client_ward",
                        "filters": {
                          "agency_id": "5b16b824e8a73a752c42d848",
                          "parent_id": "624bdab505dae2c79e000001"
                        },
                        "fields": [
                          {
                            "name": "client_name",
                            "boost": 2
                          },
                          {
                            "name": "agency_client_reference",
                            "boost": 3
                          },
                          {
                            "name": "client_reference",
                            "boost": 6
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieve specific agency global search client suggestions from elastic",
            "schema": {
              "type": "object",
              "required": [
                "results"
              ],
              "properties": {
                "results": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "discriminator": "index_type",
                    "required": [
                      "index_type",
                      "data"
                    ],
                    "properties": {
                      "index_type": {
                        "type": "string"
                      },
                      "data": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "_id",
                            "agency_group_id",
                            "agency_id",
                            "client_id",
                            "client_type",
                            "client_name"
                          ],
                          "properties": {
                            "_id": {
                              "type": "string"
                            },
                            "agency_id": {
                              "type": "string"
                            },
                            "agency_group_id": {
                              "type": "string"
                            },
                            "contact_numbers": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "emails": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "client_id": {
                              "type": "string"
                            },
                            "client_type": {
                              "type": "string",
                              "enum": [
                                "site",
                                "ward",
                                "organisation"
                              ]
                            },
                            "agency_client_reference": {
                              "type": "string"
                            },
                            "client_reference": {
                              "type": "string"
                            },
                            "client_name": {
                              "type": "string"
                            },
                            "parent_id": {
                              "type": "string"
                            },
                            "parent_name": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "ENUM_MISMATCH",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "MINIMUM",
                          "MAXIMUM",
                          "MIN_LENGTH"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_client",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/saved-searches/{saved_search_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "saved_search_id",
          "in": "path",
          "required": true,
          "description": "The saved search id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_bumblebee-v2",
      "delete": {
        "tags": [
          "Saved Search"
        ],
        "summary": "Deletes specific saved search for a specific context",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Deleted saved search for a specific context will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "name",
                    "reference",
                    "url"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "pattern": "^[a-zA-Z\\d-_&#@'\"\\s]+$"
                    },
                    "description": {
                      "type": "string"
                    },
                    "reference": {
                      "type": "string",
                      "minLength": 1
                    },
                    "url": {
                      "type": "string",
                      "minLength": 1
                    },
                    "type": {
                      "type": "string",
                      "default": "shared"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "context_type",
                    "context_id",
                    "deleted",
                    "__v",
                    "updated_at",
                    "created_at"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_type": {
                      "type": "string"
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on delete",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "INVALID_TYPE",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "shared_saved_searches",
              "permission": [
                "delete"
              ]
            }
          }
        ]
      },
      "put": {
        "tags": [
          "Saved Search"
        ],
        "summary": "Update specific saved search for a specific context",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "saved_search_update_body_param",
            "in": "body",
            "description": "Saved Search update body parameter",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "name",
                "description",
                "url"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "pattern": "^[a-zA-Z\\d-_&#@'\"\\s]+$"
                },
                "description": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Update saved search for a specific context will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "name",
                    "reference",
                    "url"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "pattern": "^[a-zA-Z\\d-_&#@'\"\\s]+$"
                    },
                    "description": {
                      "type": "string"
                    },
                    "reference": {
                      "type": "string",
                      "minLength": 1
                    },
                    "url": {
                      "type": "string",
                      "minLength": 1
                    },
                    "type": {
                      "type": "string",
                      "default": "shared"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "context_type",
                    "context_id",
                    "deleted",
                    "__v",
                    "updated_at",
                    "created_at"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_type": {
                      "type": "string"
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "PATTERN",
                          "INVALID_TYPE",
                          "REQUIRED",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "NAME_ALREADY_EXISTS",
                          "MIN_LENGTH"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "shared_saved_searches",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/saved-searches": {
      "parameters": [
        {
          "name": "Authorization",
          "in": "header",
          "description": "OAuth Bearer token",
          "required": true,
          "pattern": "^Bearer *",
          "type": "string",
          "format": "string"
        },
        {
          "name": "Context",
          "in": "header",
          "description": "The executing context",
          "required": true,
          "type": "string",
          "format": "string"
        },
        {
          "name": "Accept",
          "in": "header",
          "description": "Advertises which content types the client understands",
          "required": true,
          "type": "string",
          "enum": [
            "application/json"
          ]
        },
        {
          "name": "X-Accept-Timezone",
          "in": "header",
          "description": "The timezone the content will be displayed in",
          "required": false,
          "type": "string"
        },
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_bumblebee-v2",
      "post": {
        "tags": [
          "Saved Search"
        ],
        "summary": "Create a saved search for a specific context",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "saved_search_body_param",
            "in": "body",
            "required": true,
            "description": "Saved Search body parameter",
            "schema": {
              "type": "object",
              "required": [
                "name",
                "reference",
                "url"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "pattern": "^[a-zA-Z\\d-_&#@'\"\\s]+$"
                },
                "description": {
                  "type": "string"
                },
                "reference": {
                  "type": "string",
                  "minLength": 1
                },
                "url": {
                  "type": "string",
                  "minLength": 1
                },
                "type": {
                  "type": "string",
                  "default": "shared"
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created saved search will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "name",
                    "reference",
                    "url"
                  ],
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "reference": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "default": "shared"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "context_type",
                    "context_id",
                    "deleted",
                    "__v",
                    "updated_at",
                    "created_at"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_type": {
                      "type": "string"
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "REQUIRED",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "NAME_ALREADY_EXISTS"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "shared_saved_searches",
              "permission": [
                "create"
              ]
            }
          }
        ]
      },
      "get": {
        "tags": [
          "Saved Search"
        ],
        "summary": "Retrieve saved searches for a specific context",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page of documents to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The number of documents per page"
          },
          {
            "name": "name",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Filter based on name"
          },
          {
            "name": "reference",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Filter based on reference"
          },
          {
            "name": "deleted",
            "in": "query",
            "type": "boolean",
            "required": false,
            "description": "Filter based on deleted"
          },
          {
            "name": "type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Filter based on type"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order. example `_id`, `-_id`",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "-name",
                "reference",
                "-reference",
                "type",
                "-type"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of searches will be returned for specific context",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "name",
                      "reference",
                      "url"
                    ],
                    "properties": {
                      "name": {
                        "type": "string",
                        "pattern": "^[a-zA-Z\\d-_&#@'\"\\s]+$"
                      },
                      "description": {
                        "type": "string"
                      },
                      "reference": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string",
                        "default": "shared"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "context_type",
                      "context_id",
                      "deleted",
                      "__v",
                      "updated_at",
                      "created_at"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "context_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "context_type": {
                        "type": "string"
                      },
                      "deleted": {
                        "type": "boolean"
                      },
                      "__v": {
                        "type": "integer"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      }
                    },
                    "additionalProperties": false
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation error on get route",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "INVALID_TYPE",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "shared_saved_searches",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/work-history-client-summary": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "description": "The agency id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "The candidate id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_bumblebee-v2",
      "get": {
        "tags": [
          "Work History Client Summary"
        ],
        "summary": "Work History Client Summary populated from closed timesheets(Show shift counts and total shift duration)",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "job_title_id",
            "in": "query",
            "description": "Filter based on job title id",
            "required": false,
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "The field to sort by together with sorting order. example `_id`, `-_id`",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "total_shifts",
                "-total_shifts",
                "total_duration_as_hours",
                "-total_duration_as_hours",
                "last_shift_start",
                "-last_shift_start",
                "organisation_name",
                "-organisation_name",
                "site_name",
                "-site_name",
                "ward_name",
                "-ward_name",
                "timesheet_date_modified",
                "-timesheet_date_modified"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of documents to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of documents per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          }
        ],
        "responses": {
          "200": {
            "description": "List of work history client summary records for agency candidate",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "_id",
                  "total_shifts",
                  "total_duration_as_hours",
                  "last_shift_start",
                  "organisation_name",
                  "site_name",
                  "timesheet_date_modified"
                ],
                "properties": {
                  "_id": {
                    "type": "object",
                    "required": [
                      "agency_id",
                      "organisation_id",
                      "site_id",
                      "candidate_id"
                    ],
                    "properties": {
                      "agency_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "organisation_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "site_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "ward_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "job_title_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "candidate_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    }
                  },
                  "total_shifts": {
                    "type": "number"
                  },
                  "total_duration_as_hours": {
                    "type": "number"
                  },
                  "last_shift_start": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "organisation_name": {
                    "type": "string"
                  },
                  "site_name": {
                    "type": "string"
                  },
                  "ward_name": {
                    "type": "string"
                  },
                  "timesheet_date_modified": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MIN_LENGTH"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "agencyCandidate": [],
            "staffshift": []
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "staffing",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/client-suggestions": {
      "parameters": [
        {
          "name": "Authorization",
          "in": "header",
          "description": "OAuth Bearer token",
          "required": true,
          "pattern": "^Bearer *",
          "type": "string",
          "format": "string"
        },
        {
          "name": "Context",
          "in": "header",
          "description": "The executing context",
          "required": true,
          "type": "string",
          "format": "string"
        },
        {
          "name": "Accept",
          "in": "header",
          "description": "Advertises which content types the client understands",
          "required": true,
          "type": "string",
          "enum": [
            "application/json"
          ]
        },
        {
          "name": "X-Accept-Timezone",
          "in": "header",
          "description": "The timezone the content will be displayed in",
          "required": false,
          "type": "string"
        },
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_bumblebee-v2",
      "post": {
        "x-proxy-route": "/agency/{agency_id}/global-search-suggestions",
        "tags": [
          "Global Search"
        ],
        "summary": "Get agency client suggestions",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "global_search_suggestions_filter_request",
            "description": "Global search suggestions request body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "search_term",
                "payload"
              ],
              "properties": {
                "search_term": {
                  "type": "string",
                  "minLength": 3
                },
                "size": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 30
                },
                "payload": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "index_type"
                    ],
                    "properties": {
                      "index_type": {
                        "type": "string",
                        "enum": [
                          "client_organisation",
                          "client_site",
                          "client_ward"
                        ]
                      },
                      "filters": {
                        "type": "object",
                        "properties": {
                          "parent_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          }
                        },
                        "additionalProperties": false
                      },
                      "fields": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string",
                              "enum": [
                                "agency_client_reference",
                                "client_reference",
                                "client_name"
                              ]
                            },
                            "boost": {
                              "type": "number"
                            }
                          },
                          "additionalProperties": false
                        },
                        "additionalProperties": false
                      }
                    },
                    "example": [
                      {
                        "index_type": "client_organisation",
                        "fields": [
                          {
                            "name": "client_name",
                            "boost": 2
                          },
                          {
                            "name": "agency_client_reference",
                            "boost": 3
                          },
                          {
                            "name": "client_reference",
                            "boost": 6
                          }
                        ]
                      },
                      {
                        "index_type": "client_site",
                        "filters": {
                          "parent_id": "624bdab505dae2c79e000001"
                        },
                        "fields": [
                          {
                            "name": "client_name",
                            "boost": 2
                          },
                          {
                            "name": "agency_client_reference",
                            "boost": 3
                          },
                          {
                            "name": "client_reference",
                            "boost": 6
                          }
                        ]
                      },
                      {
                        "index_type": "client_ward",
                        "filters": {
                          "parent_id": "624bdab505dae2c79e000001"
                        },
                        "fields": [
                          {
                            "name": "client_name",
                            "boost": 2
                          },
                          {
                            "name": "agency_client_reference",
                            "boost": 3
                          },
                          {
                            "name": "client_reference",
                            "boost": 6
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieve specific agency global search client suggestions from elastic",
            "schema": {
              "type": "object",
              "required": [
                "results"
              ],
              "properties": {
                "results": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "discriminator": "index_type",
                    "required": [
                      "index_type",
                      "data"
                    ],
                    "properties": {
                      "index_type": {
                        "type": "string"
                      },
                      "data": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "_id",
                            "agency_id",
                            "client_id",
                            "client_type",
                            "client_name"
                          ],
                          "properties": {
                            "_id": {
                              "type": "string"
                            },
                            "agency_id": {
                              "type": "string"
                            },
                            "contact_numbers": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "emails": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "client_id": {
                              "type": "string"
                            },
                            "client_type": {
                              "type": "string",
                              "enum": [
                                "site",
                                "ward",
                                "organisation"
                              ]
                            },
                            "agency_client_reference": {
                              "type": "string"
                            },
                            "client_reference": {
                              "type": "string"
                            },
                            "client_name": {
                              "type": "string"
                            },
                            "parent_id": {
                              "type": "string"
                            },
                            "parent_name": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "ENUM_MISMATCH",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "MINIMUM",
                          "MAXIMUM",
                          "MIN_LENGTH"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_organisation_link",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/client/{client_id}/contact-person/hierarchical-autocomplete": {
      "parameters": [
        {
          "name": "Authorization",
          "in": "header",
          "description": "OAuth Bearer token",
          "required": true,
          "pattern": "^Bearer *",
          "type": "string",
          "format": "string"
        },
        {
          "name": "Context",
          "in": "header",
          "description": "The executing context",
          "required": true,
          "type": "string",
          "format": "string"
        },
        {
          "name": "Accept",
          "in": "header",
          "description": "Advertises which content types the client understands",
          "required": true,
          "type": "string",
          "enum": [
            "application/json"
          ]
        },
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "client_id",
          "in": "path",
          "description": "The client id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_bumblebee-v2",
      "get": {
        "x-proxy-route": "/client/{client_id}/contact-person/hierarchical-autocomplete",
        "tags": [
          "Autocomplete"
        ],
        "summary": "Retrieve hierarchical auto complete for client contact person",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "search_term",
            "description": "auto complete search term",
            "in": "query",
            "required": true,
            "type": "string",
            "minLength": 2,
            "maxLength": 50
          },
          {
            "name": "size",
            "description": "auto complete result size",
            "in": "query",
            "required": false,
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 25
          }
        ],
        "responses": {
          "200": {
            "description": "Success result",
            "schema": {
              "type": "object",
              "required": [
                "results"
              ],
              "properties": {
                "results": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "_id": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "active",
                          "archived"
                        ]
                      },
                      "full_name": {
                        "type": "string"
                      },
                      "display_name": {
                        "type": "string"
                      },
                      "client_type": {
                        "type": "string",
                        "enum": [
                          "organisation",
                          "ward",
                          "site"
                        ]
                      },
                      "client_name": {
                        "type": "string"
                      },
                      "client_display_name": {
                        "type": "string"
                      },
                      "client_id": {
                        "type": "string"
                      },
                      "organisation_id": {
                        "type": "string"
                      },
                      "site_id": {
                        "type": "string"
                      },
                      "ward_id": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "_id",
                      "status",
                      "full_name",
                      "display_name",
                      "client_type",
                      "client_name",
                      "client_display_name",
                      "client_id",
                      "organisation_id"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation errors",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MINIMUM",
                    "MAXIMUM",
                    "MIN_LENGTH",
                    "MAX_LENGTH",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyClientLink": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "client_contact_person",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyClientLink-security": {
          "path_ids": {
            "path_agency_id": "agency_id",
            "path_client_id": "client_id"
          }
        }
      }
    },
    "/agency/{agency_id}/saved-searches/{saved_search_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "saved_search_id",
          "in": "path",
          "required": true,
          "description": "The saved search id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_bumblebee-v2",
      "delete": {
        "tags": [
          "Saved Search"
        ],
        "summary": "Deletes specific saved search for a specific context",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Deleted saved search for a specific context will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "name",
                    "reference",
                    "url"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "pattern": "^[a-zA-Z\\d-_&#@'\"\\s]+$"
                    },
                    "description": {
                      "type": "string"
                    },
                    "reference": {
                      "type": "string",
                      "minLength": 1
                    },
                    "url": {
                      "type": "string",
                      "minLength": 1
                    },
                    "type": {
                      "type": "string",
                      "default": "shared"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "context_type",
                    "context_id",
                    "deleted",
                    "__v",
                    "updated_at",
                    "created_at"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_type": {
                      "type": "string"
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on delete",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "INVALID_TYPE",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "shared_saved_searches",
              "permission": [
                "delete"
              ]
            }
          }
        ]
      },
      "put": {
        "tags": [
          "Saved Search"
        ],
        "summary": "Update specific saved search for a specific context",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "saved_search_update_body_param",
            "in": "body",
            "description": "Saved Search update body parameter",
            "required": true,
            "schema": {
              "type": "object",
              "required": [
                "name",
                "description",
                "url"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "pattern": "^[a-zA-Z\\d-_&#@'\"\\s]+$"
                },
                "description": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Update saved search for a specific context will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "name",
                    "reference",
                    "url"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "pattern": "^[a-zA-Z\\d-_&#@'\"\\s]+$"
                    },
                    "description": {
                      "type": "string"
                    },
                    "reference": {
                      "type": "string",
                      "minLength": 1
                    },
                    "url": {
                      "type": "string",
                      "minLength": 1
                    },
                    "type": {
                      "type": "string",
                      "default": "shared"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "context_type",
                    "context_id",
                    "deleted",
                    "__v",
                    "updated_at",
                    "created_at"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_type": {
                      "type": "string"
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "PATTERN",
                          "INVALID_TYPE",
                          "REQUIRED",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "NAME_ALREADY_EXISTS",
                          "MIN_LENGTH"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "shared_saved_searches",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/saved-searches": {
      "parameters": [
        {
          "name": "Authorization",
          "in": "header",
          "description": "OAuth Bearer token",
          "required": true,
          "pattern": "^Bearer *",
          "type": "string",
          "format": "string"
        },
        {
          "name": "Context",
          "in": "header",
          "description": "The executing context",
          "required": true,
          "type": "string",
          "format": "string"
        },
        {
          "name": "Accept",
          "in": "header",
          "description": "Advertises which content types the client understands",
          "required": true,
          "type": "string",
          "enum": [
            "application/json"
          ]
        },
        {
          "name": "X-Accept-Timezone",
          "in": "header",
          "description": "The timezone the content will be displayed in",
          "required": false,
          "type": "string"
        },
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_bumblebee-v2",
      "post": {
        "tags": [
          "Saved Search"
        ],
        "summary": "Create a saved search for a specific context",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "saved_search_body_param",
            "in": "body",
            "required": true,
            "description": "Saved Search body parameter",
            "schema": {
              "type": "object",
              "required": [
                "name",
                "reference",
                "url"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "reference": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "default": "shared"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created saved search will be returned",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "name",
                    "reference",
                    "url"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "pattern": "^[a-zA-Z\\d-_&#@'\"\\s]+$"
                    },
                    "description": {
                      "type": "string"
                    },
                    "reference": {
                      "type": "string",
                      "minLength": 1
                    },
                    "url": {
                      "type": "string",
                      "minLength": 1
                    },
                    "type": {
                      "type": "string",
                      "default": "shared"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "context_type",
                    "context_id",
                    "deleted",
                    "__v",
                    "updated_at",
                    "created_at"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "context_type": {
                      "type": "string"
                    },
                    "deleted": {
                      "type": "boolean"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "REQUIRED",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "NAME_ALREADY_EXISTS"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "shared_saved_searches",
              "permission": [
                "create"
              ]
            }
          }
        ]
      },
      "get": {
        "tags": [
          "Saved Search"
        ],
        "summary": "Retrieve saved searches for a specific context",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page of documents to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The number of documents per page"
          },
          {
            "name": "name",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Filter based on name"
          },
          {
            "name": "reference",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Filter based on reference"
          },
          {
            "name": "deleted",
            "in": "query",
            "type": "boolean",
            "required": false,
            "description": "Filter based on deleted"
          },
          {
            "name": "type",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Filter based on type"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order. example `_id`, `-_id`",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "-name",
                "reference",
                "-reference",
                "type",
                "-type"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of searches will be returned for specific context",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "name",
                      "reference",
                      "url"
                    ],
                    "properties": {
                      "name": {
                        "type": "string",
                        "pattern": "^[a-zA-Z\\d-_&#@'\"\\s]+$"
                      },
                      "description": {
                        "type": "string"
                      },
                      "reference": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string",
                        "default": "shared"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "context_type",
                      "context_id",
                      "deleted",
                      "__v",
                      "updated_at",
                      "created_at"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "context_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "context_type": {
                        "type": "string"
                      },
                      "deleted": {
                        "type": "boolean"
                      },
                      "__v": {
                        "type": "integer"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      }
                    },
                    "additionalProperties": false
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation error on get route",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "INVALID_TYPE",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "shared_saved_searches",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/{context_type}/{context_id}/autocomplete/city": {
      "parameters": [
        {
          "name": "context_id",
          "in": "path",
          "description": "The context id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_type",
          "in": "path",
          "description": "The context type",
          "required": true,
          "type": "string",
          "enum": [
            "agency",
            "agency-group"
          ]
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_bumblebee-v2",
      "get": {
        "tags": [
          "Autocomplete"
        ],
        "summary": "Retrieve auto complete for city",
        "produces": [
          "application/json"
        ],
        "x-public-operation": true,
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "search_term",
            "description": "auto complete search term",
            "in": "query",
            "required": true,
            "type": "string",
            "minLength": 2,
            "maxLength": 50
          },
          {
            "name": "size",
            "description": "auto complete result size",
            "in": "query",
            "required": false,
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 25
          }
        ],
        "responses": {
          "200": {
            "description": "Success result",
            "schema": {
              "type": "object",
              "required": [
                "results"
              ],
              "properties": {
                "results": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation errors",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MINIMUM",
                    "MAXIMUM",
                    "MIN_LENGTH",
                    "MAX_LENGTH",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/{context_type}/{context_id}/autocomplete/county": {
      "parameters": [
        {
          "name": "context_id",
          "in": "path",
          "description": "The context id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "context_type",
          "in": "path",
          "description": "The context type",
          "required": true,
          "type": "string",
          "enum": [
            "agency",
            "agency-group"
          ]
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift_bumblebee-v2",
      "get": {
        "tags": [
          "Autocomplete"
        ],
        "summary": "Retrieve a list of counties for auto completion",
        "x-public-operation": true,
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "search_term",
            "description": "auto complete search term",
            "in": "query",
            "required": true,
            "type": "string",
            "minLength": 2,
            "maxLength": 50
          },
          {
            "name": "size",
            "description": "auto complete result size",
            "in": "query",
            "required": false,
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 25
          }
        ],
        "responses": {
          "200": {
            "description": "Success result",
            "schema": {
              "type": "object",
              "required": [
                "results"
              ],
              "properties": {
                "results": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation errors",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MINIMUM",
                    "MAXIMUM",
                    "MIN_LENGTH",
                    "MAX_LENGTH",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/tag/{tag_id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "tag_id",
          "in": "path",
          "required": true,
          "description": "The id of the tag",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "tags",
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "Retrieves context specific tags listing",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an specific context tag",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "tag_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "tag",
              "permission": [
                "read"
              ]
            }
          }
        ]
      },
      "delete": {
        "tags": [
          "Tags"
        ],
        "summary": "Delete a tag resource",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Tag resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "tag_type_id"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when deleting a tag",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "tag",
              "permission": [
                "delete"
              ]
            }
          }
        ]
      },
      "put": {
        "tags": [
          "Tags"
        ],
        "summary": "Update a tag by it's id. Only the name is allowed to be updated.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "update_tag_payload",
            "in": "body",
            "required": false,
            "description": "The payload used for update a tag resource",
            "schema": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success response.",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "tag_type_id"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "validation error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "MIN_LENGTH"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "tag",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/tag": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "Agency Group ID",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "tags",
      "post": {
        "tags": [
          "Tags"
        ],
        "summary": "Creates a tag resource",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "create_tag_payload",
            "in": "body",
            "required": false,
            "description": "The payload used to create a tag resource",
            "schema": {
              "type": "object",
              "required": [
                "name",
                "tag_type_id"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1
                },
                "tag_type_id": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Tag resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "tag_type_id"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when creating a tag",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "INVALID_TAG_TYPE_ID",
                              "MIN_LENGTH"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "tag",
              "permission": [
                "create"
              ]
            }
          }
        ]
      },
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "Retrieves context specific tags listing",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `created_at`, `-created_at`",
            "items": {
              "type": "string",
              "enum": [
                "tag_type_id",
                "-tag_type_id",
                "name",
                "-name",
                "created_by_user_id",
                "-created_by_user_id",
                "created_at",
                "-created_at"
              ]
            }
          },
          {
            "name": "created_by_user_id",
            "in": "query",
            "type": "string",
            "required": false
          },
          {
            "name": "name",
            "in": "query",
            "type": "string",
            "required": false
          },
          {
            "name": "tag_type_id",
            "in": "query",
            "type": "string",
            "required": false
          },
          {
            "name": "from-created_at",
            "x-downstream-name": "from_created_at",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "to-created_at",
            "x-downstream-name": "to_created_at",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "List of context specific tags",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "tag_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "context"
                    ],
                    "properties": {
                      "context": {
                        "type": "object",
                        "required": [
                          "id",
                          "type"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "agency",
                              "agency-group"
                            ]
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "created_by_user_id",
                      "created_by_user_full_name"
                    ],
                    "properties": {
                      "created_by_user_id": {
                        "type": "string"
                      },
                      "created_by_user_full_name": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN",
                    "INVALID_DATE_RANGE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "tag",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/tag/{tag_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "tag_id",
          "in": "path",
          "required": true,
          "description": "The id of the tag",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "tags",
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "Retrieves context specific tags listing",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an specific context tag",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "tag_type_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error on get",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission": [
                "read"
              ]
            }
          }
        ]
      },
      "delete": {
        "tags": [
          "Tags"
        ],
        "summary": "Delete a tag resource",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Tag resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "tag_type_id"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when deleting a tag",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission": [
                "delete"
              ]
            }
          }
        ]
      },
      "put": {
        "tags": [
          "Tags"
        ],
        "summary": "Update a tag by it's id. Only the name is allowed to be updated.",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "update_tag_payload",
            "in": "body",
            "required": false,
            "description": "The payload used for update a tag resource",
            "schema": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success response.",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "tag_type_id"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "validation error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "MIN_LENGTH"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission": [
                "update"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/tag": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "Agency ID",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "tags",
      "post": {
        "tags": [
          "Tags"
        ],
        "summary": "Creates a tag resource",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "create_tag_payload",
            "in": "body",
            "required": false,
            "description": "The payload used to create a tag resource",
            "schema": {
              "type": "object",
              "required": [
                "name",
                "tag_type_id"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1
                },
                "tag_type_id": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Tag resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "tag_type_id"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when creating a tag",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "INVALID_TAG_TYPE_ID",
                              "MIN_LENGTH"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission": [
                "create"
              ]
            }
          }
        ]
      },
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "Retrieves context specific tags listing",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `created_at`, `-created_at`",
            "items": {
              "type": "string",
              "enum": [
                "tag_type_id",
                "-tag_type_id",
                "name",
                "-name",
                "created_by_user_id",
                "-created_by_user_id",
                "created_at",
                "-created_at"
              ]
            }
          },
          {
            "name": "created_by_user_id",
            "in": "query",
            "type": "string",
            "required": false
          },
          {
            "name": "name",
            "in": "query",
            "type": "string",
            "required": false
          },
          {
            "name": "tag_type_id",
            "in": "query",
            "type": "string",
            "required": false
          },
          {
            "name": "from-created_at",
            "x-downstream-name": "from_created_at",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "to-created_at",
            "x-downstream-name": "to_created_at",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "List of context specific tags",
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "tag_type_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "context"
                    ],
                    "properties": {
                      "context": {
                        "type": "object",
                        "required": [
                          "id",
                          "type"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "agency",
                              "agency-group"
                            ]
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "created_by_user_id",
                      "created_by_user_full_name"
                    ],
                    "properties": {
                      "created_by_user_id": {
                        "type": "string"
                      },
                      "created_by_user_full_name": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation error on get list",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "ENUM_MISMATCH",
                    "MINIMUM",
                    "PATTERN",
                    "INVALID_DATE_RANGE"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/system/tag-type": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "tags",
      "post": {
        "tags": [
          "TagTypes"
        ],
        "x-proxy-route": "/tag-type",
        "summary": "Creates a tag type",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "tag_type_payload",
            "in": "body",
            "required": true,
            "description": "The payload to create the tag type",
            "schema": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "minimum": 1
                },
                "description": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The created tag type",
            "schema": {
              "type": "object",
              "required": [
                "_id",
                "name",
                "updated_at",
                "created_at",
                "__v"
              ],
              "properties": {
                "_id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "__v": {
                  "type": "integer"
                }
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "MIN_LENGTH",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "SystemAdmin"
          }
        ]
      },
      "get": {
        "tags": [
          "TagTypes"
        ],
        "x-proxy-route": "/tag-type",
        "summary": "Lists types of tag",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed"
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed"
          },
          {
            "name": "name",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The tag type name"
          },
          {
            "name": "_id",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "The tag type id"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "The field to sort by together with sorting order example `name`, `-name`",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "-name"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success response for getting list of types",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "_id",
                  "name",
                  "updated_at",
                  "created_at",
                  "__v"
                ],
                "properties": {
                  "_id": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "updated_at": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "created_at": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "__v": {
                    "type": "integer"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or query params",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "INVALID_TYPE",
                    "MINIMUM",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "tag_type",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/client/{client_id}/activity/{activity_id}/conversation/{conversation_id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "type": "string",
          "required": true,
          "description": "The id of the agency",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "client_id",
          "in": "path",
          "type": "string",
          "required": true,
          "description": "The id of the client",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "activity_id",
          "in": "path",
          "type": "string",
          "required": true,
          "description": "The id of the activity",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "conversation_id",
          "in": "path",
          "type": "string",
          "required": true,
          "description": "The id of the conversation",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "Authorization",
          "in": "header",
          "description": "OAuth Bearer token",
          "required": true,
          "pattern": "^Bearer *",
          "type": "string",
          "format": "string"
        },
        {
          "name": "Context",
          "in": "header",
          "description": "The executing context",
          "required": true,
          "type": "string",
          "format": "string"
        },
        {
          "name": "Accept",
          "in": "header",
          "description": "Advertises which content types the client understands",
          "required": true,
          "type": "string",
          "enum": [
            "application/json"
          ]
        }
      ],
      "x-swagger-router-controller": "AgencyClientActivityConversation",
      "get": {
        "tags": [
          "Agency Client Activity Conversation"
        ],
        "summary": "Retrieve the specific agency client activity conversation",
        "operationId": "getAgencyClientActivityConversation",
        "security": [
          {
            "staffshift": [],
            "agencyClientLink": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "client_activity_conversation",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyClientLink-security": {
          "path_ids": {
            "path_agency_id": "agency_id",
            "path_client_id": "client_id"
          }
        },
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Specific agency client conversation will be returned",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/mongoose_default_fields"
                },
                {
                  "type": "object",
                  "required": [
                    "channel_id",
                    "channel_attributes",
                    "status",
                    "created_by",
                    "note_channel_id",
                    "note_channel_attributes",
                    "owner"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "guest_support",
                        "client_support",
                        "client_support_initiated"
                      ]
                    },
                    "name": {
                      "type": "string"
                    },
                    "first_message": {
                      "type": "string"
                    },
                    "channel_id": {
                      "type": "string"
                    },
                    "channel_attributes": {
                      "type": "object"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "open",
                        "closing"
                      ]
                    },
                    "created_by": {
                      "type": "object",
                      "required": [
                        "user_id",
                        "context_type"
                      ],
                      "properties": {
                        "user_id": {
                          "type": "string"
                        },
                        "context_type": {
                          "type": "string"
                        },
                        "context_id": {
                          "type": "string"
                        }
                      }
                    },
                    "note_channel_id": {
                      "type": "string"
                    },
                    "note_channel_attributes": {
                      "type": "object"
                    },
                    "team": {
                      "type": "object",
                      "properties": {
                        "team_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "team_name": {
                          "type": "string"
                        }
                      }
                    },
                    "owner": {
                      "type": "object",
                      "required": [
                        "resource_type"
                      ],
                      "properties": {
                        "resource_type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agencygroup",
                            "systemadmin"
                          ]
                        },
                        "resource_id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        }
                      }
                    },
                    "medium": {
                      "type": "string",
                      "enum": [
                        "sms",
                        "chat",
                        "whatsapp"
                      ]
                    },
                    "message_listing": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "body",
                          "participant_id",
                          "created_at"
                        ],
                        "properties": {
                          "body": {
                            "type": "string"
                          },
                          "attributes": {
                            "type": "object"
                          },
                          "participant_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "created_at": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "participant_listing": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "identity",
                          "participant_id",
                          "created_at"
                        ],
                        "properties": {
                          "attributes": {
                            "type": "object"
                          },
                          "identity": {
                            "type": "string"
                          },
                          "user_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "participant_id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "created_at": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "body",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "INVALID_TYPE",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED",
                    "OWNER_MISMATCH"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/tag-link": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "Agency Group ID",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "AgencyGroupCandidateTagLinks",
      "post": {
        "tags": [
          "Tag Links"
        ],
        "operationId": "createAgencyGroupTagLink",
        "summary": "Creates a tag resource",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "create_tag_link_payload",
            "in": "body",
            "required": true,
            "description": "The payload used to create a tag link resource",
            "schema": {
              "type": "object",
              "required": [
                "tag_id"
              ],
              "properties": {
                "tag_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Tag Link resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "tag_id",
                    "entity_id",
                    "tag_type_id"
                  ],
                  "properties": {
                    "tag_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "entity_id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "name",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when creating a tag link",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "PATTERN",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "INVALID_TAG_TYPE_ID",
                              "INVALID_TAG_ID",
                              "MIN_LENGTH"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "tag",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        }
      },
      "get": {
        "tags": [
          "Tag Links"
        ],
        "operationId": "getAgencyGroupTagLinks",
        "summary": "Get list of tag links",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "created_by_user_id",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Tag creator user Id"
          },
          {
            "name": "name",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "tag name"
          },
          {
            "name": "tag_id",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Tag id"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "Sort by field(s)",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "-name"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tag Link resources",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "tag_id",
                      "entity_id",
                      "tag_type_id"
                    ],
                    "properties": {
                      "tag_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "entity_id": {
                        "type": "string",
                        "minLength": 1
                      },
                      "tag_type_id": {
                        "type": "string",
                        "minLength": 1
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "context"
                    ],
                    "properties": {
                      "context": {
                        "type": "object",
                        "required": [
                          "id",
                          "type"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "agency",
                              "agency-group"
                            ]
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "created_by_user_id",
                      "name",
                      "created_by_user_full_name"
                    ],
                    "properties": {
                      "created_by_user_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "created_by_user_full_name": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "invalid parameters",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "INVALID_TYPE",
                    "MINIMUM",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "tag",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/tag-link": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "Agency ID",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "required": true,
          "description": "The candidate id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "AgencyCandidateTagLinks",
      "post": {
        "tags": [
          "Tag Links"
        ],
        "operationId": "createAgencyTagLink",
        "summary": "Creates a tag resource",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "create_tag_link_payload",
            "in": "body",
            "required": true,
            "description": "The payload used to create a tag link resource",
            "schema": {
              "type": "object",
              "required": [
                "tag_id"
              ],
              "properties": {
                "tag_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Tag Link resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "tag_id",
                    "entity_id",
                    "tag_type_id"
                  ],
                  "properties": {
                    "tag_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "entity_id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "name",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when creating a tag link",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "PATTERN",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "INVALID_TAG_TYPE_ID",
                              "INVALID_TAG_ID",
                              "MIN_LENGTH"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        }
      },
      "get": {
        "tags": [
          "Tag Links"
        ],
        "operationId": "getAgencyTagLinks",
        "summary": "Get list of tag links",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "created_by_user_id",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Tag creator user Id"
          },
          {
            "name": "name",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "tag name"
          },
          {
            "name": "tag_id",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Tag id"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "Sort by field(s)",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "-name"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tag Link resources",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "tag_id",
                      "entity_id",
                      "tag_type_id"
                    ],
                    "properties": {
                      "tag_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "entity_id": {
                        "type": "string",
                        "minLength": 1
                      },
                      "tag_type_id": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "context"
                    ],
                    "properties": {
                      "context": {
                        "type": "object",
                        "required": [
                          "id",
                          "type"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "agency",
                              "agency-group"
                            ]
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "created_by_user_id",
                      "name",
                      "created_by_user_full_name"
                    ],
                    "properties": {
                      "created_by_user_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "created_by_user_full_name": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "invalid parameters",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "INVALID_TYPE",
                    "MINIMUM",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency/{agency_id}/candidate/tag-link/bulk": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "agency ID",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "AgencyCandidateTagLinks",
      "post": {
        "tags": [
          "Tag Links"
        ],
        "summary": "Bulk operations on tag links",
        "operationId": "bulkTagLinkAgencyCandidate",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "bulk_tag_link_payload",
            "in": "body",
            "required": true,
            "description": "The payload used to do bulk operations on tag links",
            "schema": {
              "type": "object",
              "required": [
                "operation",
                "items"
              ],
              "properties": {
                "operation": {
                  "type": "string",
                  "enum": [
                    "create",
                    "delete"
                  ]
                },
                "items": {
                  "type": "array",
                  "maxItems": 30,
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "tag_id",
                      "entity_id"
                    ],
                    "properties": {
                      "tag_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "entity_id": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bulk Tag Link resources",
            "schema": {
              "type": "object",
              "required": [
                "result"
              ],
              "properties": {
                "result": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "status"
                    ],
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "success",
                          "failure"
                        ]
                      },
                      "data": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "_id",
                              "updated_at",
                              "created_at",
                              "__v"
                            ],
                            "properties": {
                              "_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "updated_at": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "created_at": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "__v": {
                                "type": "integer"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "tag_id",
                              "entity_id",
                              "tag_type_id"
                            ],
                            "properties": {
                              "tag_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "entity_id": {
                                "type": "string",
                                "minLength": 1
                              },
                              "tag_type_id": {
                                "type": "string",
                                "minLength": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "context"
                            ],
                            "properties": {
                              "context": {
                                "type": "object",
                                "required": [
                                  "id",
                                  "type"
                                ],
                                "properties": {
                                  "id": {
                                    "type": "string",
                                    "pattern": "^[0-9a-fA-F]{24}$"
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "agency",
                                      "agency-group"
                                    ]
                                  }
                                }
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "created_by_user_id",
                              "created_by_user_full_name",
                              "name"
                            ],
                            "properties": {
                              "created_by_user_id": {
                                "type": "string"
                              },
                              "created_by_user_full_name": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        ]
                      },
                      "error": {
                        "type": "object",
                        "required": [
                          "message",
                          "code"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          },
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "PATTERN",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "INVALID_TAG_TYPE_ID",
                              "INVALID_TAG_ID",
                              "MIN_LENGTH",
                              "PERMISSION_DENIED",
                              "MODEL_VALIDATION_FAILED",
                              "CONFLICT_ERROR",
                              "RESOURCE_NOT_FOUND"
                            ]
                          }
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "400": {
            "description": "Validation error response on bulk operation",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "INVALID_TAG_TYPE_ID",
                              "MIN_LENGTH",
                              "ARRAY_LENGTH_LONG",
                              "ARRAY_LENGTH_SHORT"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshiftFromPayload": []
          }
        ],
        "x-staffshiftFromPayload-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission-link": {
                "permission-name-path-in-body": "operation",
                "mapping": {
                  "delete": [
                    "delete"
                  ],
                  "create": [
                    "create"
                  ]
                }
              }
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/client/{client_id}/tag-link": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "Agency ID",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "client_id",
          "in": "path",
          "required": true,
          "description": "The client id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "AgencyClientTagLinks",
      "post": {
        "tags": [
          "Tag Links"
        ],
        "operationId": "createAgencyClientTagLink",
        "summary": "Creates a tag resource",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "create_tag_link_payload",
            "in": "body",
            "required": true,
            "description": "The payload used to create a tag link resource",
            "schema": {
              "type": "object",
              "required": [
                "tag_id"
              ],
              "properties": {
                "tag_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Tag Link resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "tag_id",
                    "entity_id",
                    "tag_type_id"
                  ],
                  "properties": {
                    "tag_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "entity_id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "name",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Validation error response when creating a tag link",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "PATTERN",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "INVALID_TAG_TYPE_ID",
                              "INVALID_TAG_ID",
                              "MIN_LENGTH"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "409": {
            "description": "Failed when some conflicts occurred with the data",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CONFLICT_ERROR"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyClientLink": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "x-agencyClientLink-security": {
          "path_ids": {
            "path_agency_id": "agency_id",
            "path_client_id": "client_id"
          }
        }
      },
      "get": {
        "tags": [
          "Tag Links"
        ],
        "operationId": "getAgencyClientTagLinks",
        "summary": "Get list of tag links",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The page number to be displayed",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "The items per page to be displayed",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "created_by_user_id",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Tag creator user Id"
          },
          {
            "name": "name",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "tag name"
          },
          {
            "name": "tag_id",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Tag id"
          },
          {
            "name": "sortBy",
            "in": "query",
            "type": "array",
            "required": false,
            "description": "Sort by field(s)",
            "items": {
              "type": "string",
              "enum": [
                "name",
                "-name"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tag Link resources",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "_id",
                      "updated_at",
                      "created_at",
                      "__v"
                    ],
                    "properties": {
                      "_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "__v": {
                        "type": "integer"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "tag_id",
                      "entity_id",
                      "tag_type_id"
                    ],
                    "properties": {
                      "tag_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "entity_id": {
                        "type": "string",
                        "minLength": 1
                      },
                      "tag_type_id": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "context"
                    ],
                    "properties": {
                      "context": {
                        "type": "object",
                        "required": [
                          "id",
                          "type"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{24}$"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "agency",
                              "agency-group"
                            ]
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "created_by_user_id",
                      "name",
                      "created_by_user_full_name"
                    ],
                    "properties": {
                      "created_by_user_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "created_by_user_full_name": {
                        "type": "string"
                      }
                    }
                  }
                ]
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query."
          },
          "400": {
            "description": "invalid parameters",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "ENUM_MISMATCH",
                    "INVALID_TYPE",
                    "MINIMUM",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyClientLink": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyClientLink-security": {
          "path_ids": {
            "path_agency_id": "agency_id",
            "path_client_id": "client_id"
          }
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/tag-link/{id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "Agency ID",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "id",
          "in": "path",
          "required": true,
          "description": "Tag Link ID",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "Candidate Id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "AgencyCandidateTagLinks",
      "delete": {
        "tags": [
          "Tag Links"
        ],
        "operationId": "deleteAgencyTagLink",
        "summary": "Delete a tag link",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Tag Link resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "tag_id",
                    "entity_id",
                    "tag_type_id"
                  ],
                  "properties": {
                    "tag_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "entity_id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "name",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "invalid parameters",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        }
      },
      "get": {
        "tags": [
          "Tag Links"
        ],
        "operationId": "getAgencyTagLink",
        "summary": "Gets a tag link",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Tag Link resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "tag_id",
                    "entity_id",
                    "tag_type_id"
                  ],
                  "properties": {
                    "tag_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "entity_id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "name",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "invalid parameters",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency-group/{agency_group_id}/candidate/tag-link/bulk": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "Agency Group ID",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "AgencyGroupCandidateTagLinks",
      "post": {
        "tags": [
          "Tag Links"
        ],
        "summary": "Bulk operations on tag links",
        "operationId": "bulkTagLink",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "bulk_tag_link_payload",
            "in": "body",
            "required": true,
            "description": "The payload used to do bulk operations on tag links",
            "schema": {
              "type": "object",
              "required": [
                "operation",
                "items"
              ],
              "properties": {
                "operation": {
                  "type": "string",
                  "enum": [
                    "create",
                    "delete"
                  ]
                },
                "items": {
                  "type": "array",
                  "maxItems": 30,
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "tag_id",
                      "entity_id"
                    ],
                    "properties": {
                      "tag_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "entity_id": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bulk Tag Link resources",
            "schema": {
              "type": "object",
              "required": [
                "result"
              ],
              "properties": {
                "result": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "status"
                    ],
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "success",
                          "failure"
                        ]
                      },
                      "data": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "_id",
                              "updated_at",
                              "created_at",
                              "__v"
                            ],
                            "properties": {
                              "_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "updated_at": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "created_at": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "__v": {
                                "type": "integer"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "tag_id",
                              "entity_id",
                              "tag_type_id"
                            ],
                            "properties": {
                              "tag_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "entity_id": {
                                "type": "string",
                                "minLength": 1
                              },
                              "tag_type_id": {
                                "type": "string",
                                "minLength": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "context"
                            ],
                            "properties": {
                              "context": {
                                "type": "object",
                                "required": [
                                  "id",
                                  "type"
                                ],
                                "properties": {
                                  "id": {
                                    "type": "string",
                                    "pattern": "^[0-9a-fA-F]{24}$"
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "agency",
                                      "agency-group"
                                    ]
                                  }
                                }
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "created_by_user_id",
                              "created_by_user_full_name",
                              "name"
                            ],
                            "properties": {
                              "created_by_user_id": {
                                "type": "string"
                              },
                              "created_by_user_full_name": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        ]
                      },
                      "error": {
                        "type": "object",
                        "required": [
                          "message",
                          "code"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          },
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "PATTERN",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "INVALID_TAG_TYPE_ID",
                              "INVALID_TAG_ID",
                              "MIN_LENGTH",
                              "PERMISSION_DENIED",
                              "MODEL_VALIDATION_FAILED",
                              "CONFLICT_ERROR",
                              "RESOURCE_NOT_FOUND"
                            ]
                          }
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "400": {
            "description": "Validation error response on bulk operation",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "INVALID_TAG_TYPE_ID",
                              "MIN_LENGTH",
                              "ARRAY_LENGTH_LONG",
                              "ARRAY_LENGTH_SHORT"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshiftFromPayload": []
          }
        ],
        "x-staffshiftFromPayload-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "tag",
              "permission-link": {
                "permission-name-path-in-body": "operation",
                "mapping": {
                  "delete": [
                    "delete"
                  ],
                  "create": [
                    "create"
                  ]
                }
              }
            }
          }
        ]
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/tag-link/{id}": {
      "parameters": [
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "Agency Group ID",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "id",
          "in": "path",
          "required": true,
          "description": "Tag Link ID",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "candidate_id",
          "in": "path",
          "description": "Candidate Id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "AgencyGroupCandidateTagLinks",
      "delete": {
        "tags": [
          "Tag Links"
        ],
        "operationId": "deleteAgencyGroupTagLink",
        "summary": "Delete a tag link",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Tag Link resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "tag_id",
                    "entity_id",
                    "tag_type_id"
                  ],
                  "properties": {
                    "tag_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "entity_id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "name",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "invalid parameters",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "tag",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        }
      },
      "get": {
        "tags": [
          "Tag Links"
        ],
        "operationId": "getAgencyGroupTagLink",
        "summary": "Gets a tag link",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Tag Link resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "tag_id",
                    "entity_id",
                    "tag_type_id"
                  ],
                  "properties": {
                    "tag_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "entity_id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "name",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "invalid parameters",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "tag",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        }
      }
    },
    "/agency/{agency_id}/candidate/{candidate_id}/activity/{activity_id}/candidate-notification/{candidate_notification_id}": {
      "x-swagger-router-controller": "CandidateNotification",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/activity_id"
        },
        {
          "$ref": "#/parameters/candidate_notification_id"
        }
      ],
      "get": {
        "operationId": "getAgencyCandidateNotificationForActivity",
        "security": [
          {
            "staffshift": [],
            "agencyCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "activity_candidate_notification",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agency-candidate-security": {
          "path_agency_id": "agency_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "description": "Agency candidate notification for activity",
            "schema": {
              "$ref": "#/definitions/candidate_notification_return"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Candidate notification retrieval"
        ],
        "summary": "Retrieves the agency candidate notification for a specific activity"
      }
    },
    "/agency-group/{agency_group_id}/candidate/{candidate_id}/activity/{activity_id}/candidate-notification/{candidate_notification_id}": {
      "x-swagger-router-controller": "CandidateNotification",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/activity_id"
        },
        {
          "$ref": "#/parameters/candidate_notification_id"
        }
      ],
      "get": {
        "operationId": "getAgencyGroupCandidateNotificationForActivity",
        "security": [
          {
            "staffshift": [],
            "agencyGroupCandidate": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "activity_candidate_notification",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyGroupCandidate-security": {
          "path_agency_group_id": "agency_group_id",
          "path_candidate_id": "candidate_id"
        },
        "responses": {
          "200": {
            "description": "Agency Group candidate notification for activity",
            "schema": {
              "$ref": "#/definitions/candidate_notification_return"
            }
          },
          "400": {
            "$ref": "#/responses/get_validation_error_model"
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "404": {
            "$ref": "#/responses/not_found"
          },
          "default": {
            "$ref": "#/responses/default_response"
          }
        },
        "tags": [
          "Candidate notification retrieval"
        ],
        "summary": "Retrieves the agency group candidate notification for a specific activity"
      }
    },
    "/organisation/{organisation_id}/site/{site_id}": {
      "parameters": [
        {
          "name": "organisation_id",
          "in": "path",
          "required": true,
          "description": "The organisation id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "site_id",
          "in": "path",
          "required": true,
          "description": "The site id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "get": {
        "tags": [
          "Site Details"
        ],
        "summary": "Get site details",
        "x-swagger-router-controller": "TriageProxy",
        "x-proxy-config": "triage",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-Accept-Date-ISO",
            "in": "header",
            "description": "Header indicating an ISO8601 date / date-time format",
            "required": false,
            "type": "string",
            "enum": [
              "on"
            ]
          }
        ],
        "x-response-transformation": {
          "200": {
            "transformer": "SiteDetailsTransformer"
          }
        },
        "responses": {
          "200": {
            "description": "The site details",
            "schema": {
              "type": "object",
              "required": [
                "_id",
                "site_name",
                "organisation_id",
                "site_address",
                "site_type_id",
                "organisation_name"
              ],
              "properties": {
                "_id": {
                  "type": "string",
                  "description": "The site id",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "site_name": {
                  "type": "string"
                },
                "organisation_id": {
                  "type": "string",
                  "description": "The organisation id",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "site_type_id": {
                  "type": "string",
                  "description": "The site type id",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "organisation_name": {
                  "type": "string"
                },
                "reference_number": {
                  "type": "string"
                },
                "site_address": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "address_type",
                      "country_code",
                      "address_line_1",
                      "post_code"
                    ],
                    "properties": {
                      "address_type": {
                        "type": "string"
                      },
                      "country_code": {
                        "type": "string"
                      },
                      "province": {
                        "type": "string"
                      },
                      "address_line_1": {
                        "type": "string"
                      },
                      "address_line_2": {
                        "type": "string"
                      },
                      "city": {
                        "type": "string"
                      },
                      "post_code": {
                        "type": "string"
                      },
                      "geo_location": {
                        "type": "object",
                        "required": [
                          "latitude",
                          "longitude"
                        ],
                        "properties": {
                          "latitude": {
                            "type": "number"
                          },
                          "longitude": {
                            "type": "number"
                          }
                        }
                      },
                      "geo_location_details": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "lookup",
                              "lookup_malformed",
                              "lookup_failed",
                              "manual"
                            ]
                          },
                          "updated_at": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation errors",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "PATTERN"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No resource found",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/global-search-suggestions": {
      "parameters": [
        {
          "name": "Authorization",
          "in": "header",
          "description": "OAuth Bearer token",
          "required": true,
          "pattern": "^Bearer *",
          "type": "string",
          "format": "string"
        },
        {
          "name": "Context",
          "in": "header",
          "description": "The executing context",
          "required": true,
          "type": "string",
          "format": "string"
        },
        {
          "name": "Accept",
          "in": "header",
          "description": "Advertises which content types the client understands",
          "required": true,
          "type": "string",
          "enum": [
            "application/json"
          ]
        },
        {
          "name": "agency_group_id",
          "in": "path",
          "required": true,
          "description": "The agency group id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "GlobalSearch",
      "post": {
        "operationId": "getAgencyGroupGlobalSearchSuggestions",
        "tags": [
          "Global Search"
        ],
        "summary": "Get agency group global search suggestions",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "global_search_body_suggestions_param",
            "in": "body",
            "required": true,
            "description": "Global search request body",
            "schema": {
              "type": "object",
              "required": [
                "index_types",
                "search_term"
              ],
              "properties": {
                "index_types": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "candidate"
                    ]
                  },
                  "minItems": 1
                },
                "search_term": {
                  "type": "string",
                  "minLength": 3
                },
                "size": {
                  "type": "integer",
                  "minimum": 1
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of agency group global search results",
            "schema": {
              "type": "object",
              "required": [
                "results"
              ],
              "properties": {
                "results": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "discriminator": "index_type",
                    "required": [
                      "index_type",
                      "data"
                    ],
                    "properties": {
                      "index_type": {
                        "type": "string",
                        "enum": [
                          "candidate"
                        ]
                      },
                      "data": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "results": [
                  {
                    "index_type": "candidate",
                    "data": [
                      {
                        "_id": "5b16b824e8a73a752c42d848_5ff6dff8f36cb02cf3793c62",
                        "candidate_id": "5ff6dff8f36cb02cf3793c62",
                        "agency_group_id": "5b16b824e8a73a752c42d848",
                        "full_name": "sample fullname",
                        "contact_numbers": [
                          "+1352519123456"
                        ],
                        "emails": [
                          "sample_email@a24testmail.com"
                        ],
                        "employment_references": [
                          "reference1",
                          "reference2"
                        ],
                        "id_number": "123456666",
                        "candidate_type_id": "gbr_care_course",
                        "avatar_thumbnail_url": "someUrl",
                        "current_status": "Archived"
                      }
                    ]
                  }
                ]
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "REQUIRED",
                          "ENUM_MISMATCH",
                          "MIN_LENGTH",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "MINIMUM",
                          "ARRAY_LENGTH_SHORT"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "globalSearchIndexTypeAccess": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "AgencyGroup",
            "path_context_id": "agency_group_id"
          }
        ],
        "x-global-search-security": [
          {
            "context": "AgencyGroup",
            "index_types": [
              {
                "name": "candidate",
                "operation": {
                  "name": "agency_group_candidate",
                  "permission": [
                    "read"
                  ]
                }
              }
            ]
          }
        ]
      }
    },
    "/agency/{agency_id}/global-search-suggestions": {
      "parameters": [
        {
          "name": "Authorization",
          "in": "header",
          "description": "OAuth Bearer token",
          "required": true,
          "pattern": "^Bearer *",
          "type": "string",
          "format": "string"
        },
        {
          "name": "Context",
          "in": "header",
          "description": "The executing context",
          "required": true,
          "type": "string",
          "format": "string"
        },
        {
          "name": "Accept",
          "in": "header",
          "description": "Advertises which content types the client understands",
          "required": true,
          "type": "string",
          "enum": [
            "application/json"
          ]
        },
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "GlobalSearch",
      "post": {
        "operationId": "getAgencyGlobalSearchSuggestions",
        "tags": [
          "Global Search"
        ],
        "summary": "Get agency global search suggestions",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "global_search_suggestions_body_param",
            "in": "body",
            "required": true,
            "description": "Global search suggestions request body",
            "schema": {
              "type": "object",
              "required": [
                "index_types",
                "search_term"
              ],
              "properties": {
                "index_types": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "string",
                    "enum": [
                      "candidate",
                      "shift",
                      "client_organisation",
                      "client_site",
                      "client_ward",
                      "agency_client_package_of_care"
                    ]
                  }
                },
                "search_term": {
                  "type": "string",
                  "minLength": 3
                },
                "size": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 30
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of agency global search suggestions",
            "schema": {
              "type": "object",
              "required": [
                "results"
              ],
              "properties": {
                "results": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "discriminator": "index_type",
                    "required": [
                      "data",
                      "index_type"
                    ],
                    "properties": {
                      "data": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "index_type": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "example": {
                "results": [
                  {
                    "index_type": "client_site",
                    "data": [
                      {
                        "_id": "5f4fc1aca3cd2b6e9f7d9dcd",
                        "agency_id": "5b16b824e8a73a752c42d848",
                        "client_id": "5b16b719e8a73a63f0031ff2",
                        "client_type": "site",
                        "agency_client_reference": "blcS1",
                        "client_reference": "blackSite1",
                        "client_name": "black site 1",
                        "parent_name": "Black Org"
                      },
                      {
                        "_id": "5f4fc1aca3cd2b7d0f7d9dd1",
                        "agency_id": "5b16b824e8a73a752c42d848",
                        "client_id": "5f11c0a5e8a73a098b7b19d2",
                        "client_type": "site",
                        "contact_numbers": [
                          "+1352519123456"
                        ],
                        "emails": [
                          "sample_email@a24testmail.com"
                        ],
                        "client_name": "Test site 4",
                        "parent_name": "Black Org"
                      }
                    ]
                  },
                  {
                    "index_type": "client_ward",
                    "data": [
                      {
                        "_id": "613b59aecefd546d0819a54c",
                        "agency_id": "5b16b824e8a73a752c42d848",
                        "client_id": "5f7dd221bd3bba0a2a4484e2",
                        "client_type": "ward",
                        "contact_numbers": [
                          "+1352519123456"
                        ],
                        "emails": [
                          "sample_email@a24testmail.com"
                        ],
                        "client_reference": "blackWard3liong",
                        "client_name": "Black ward 3 Long linked one",
                        "parent_name": "Black site 3 with a very long name for reasons"
                      }
                    ]
                  },
                  {
                    "index_type": "client_organisation",
                    "data": [
                      {
                        "_id": "5f4fc1afa3cd2b2e467d9dd5",
                        "agency_id": "5b16b824e8a73a752c42d848",
                        "client_id": "5c472a6ae8a73a04a1685042",
                        "client_type": "organisation",
                        "contact_numbers": [
                          "+1352519123456"
                        ],
                        "emails": [
                          "sample_email@a24testmail.com"
                        ],
                        "client_name": "Black organisation two long"
                      }
                    ]
                  },
                  {
                    "index_type": "candidate",
                    "data": [
                      {
                        "candidate_id": "5ff6dff8f36cb02cf3793c62",
                        "agency_id": "5b16b824e8a73a752c42d848",
                        "full_name": "sample fullname",
                        "contact_numbers": [
                          "+1352519123456"
                        ],
                        "emails": [
                          "sample_email@a24testmail.com"
                        ],
                        "employment_references": [
                          "reference1",
                          "reference2"
                        ],
                        "id_number": "123456666",
                        "candidate_type_id": "gbr_care_course",
                        "current_status": "Archived",
                        "post_code": "123 456",
                        "_id": "5b16b824e8a73a752c42d848_5ff6dff8f36cb02cf3793c62",
                        "avatar_thumbnail_url": "someUrl"
                      }
                    ]
                  },
                  {
                    "index_type": "shift",
                    "data": [
                      {
                        "_id": "5e8e065388bdf7ac875e9a2c",
                        "agency_id": "5b16b824e8a73a752c42d848",
                        "order_reference": "GA43",
                        "order_id": "5c3f04a2e8a73a723501c017",
                        "shift_reference_number": "shiftRefNum55",
                        "po_number": "BleepBloep6",
                        "start_date": "2019-01-23T06:00:00.000Z",
                        "site_name": "Black Site 1",
                        "order_timezone": "Europe/London"
                      }
                    ]
                  },
                  {
                    "index_type": "agency_client_package_of_care",
                    "data": [
                      {
                        "_id": "613b59aecefd546d0819a54c",
                        "agency_id": "5b16b824e8a73a752c42d848",
                        "client_id": "5f7dd221bd3bba0a2a4484e2",
                        "client_type": "ward",
                        "service_user_first_name": "John",
                        "service_user_last_name": "Smith",
                        "service_user_preferred_name": "Johnny",
                        "org_name": "Black Organisation",
                        "site_name": "Black Site"
                      }
                    ]
                  }
                ]
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message",
                      "path"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "INVALID_TYPE",
                          "REQUIRED",
                          "ENUM_MISMATCH",
                          "MIN_LENGTH",
                          "OBJECT_ADDITIONAL_PROPERTIES",
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "ARRAY_LENGTH_SHORT",
                          "MAXIMUM",
                          "MINIMUM"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "globalSearchIndexTypeAccess": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-global-search-security": [
          {
            "context": "Agency",
            "index_types": [
              {
                "name": "candidate",
                "operation": {
                  "name": "agency_candidate",
                  "permission": [
                    "read"
                  ]
                }
              },
              {
                "name": "shift",
                "operation": {
                  "name": "staffing",
                  "permission": [
                    "read"
                  ]
                }
              },
              {
                "name": "client_organisation",
                "operation": {
                  "name": "agency_organisation_link",
                  "permission": [
                    "read"
                  ]
                }
              },
              {
                "name": "client_site",
                "operation": {
                  "name": "agency_organisation_link",
                  "permission": [
                    "read"
                  ]
                }
              },
              {
                "name": "client_ward",
                "operation": {
                  "name": "agency_organisation_link",
                  "permission": [
                    "read"
                  ]
                }
              },
              {
                "name": "agency_client_package_of_care",
                "operation": {
                  "name": "agency_client_package_of_care",
                  "permission": [
                    "read"
                  ]
                }
              }
            ]
          }
        ]
      }
    },
    "/agency/{agency_id}/client/{client_id}/tag-link/{id}": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "Agency ID",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "id",
          "in": "path",
          "required": true,
          "description": "Tag Link ID",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "client_id",
          "in": "path",
          "description": "Client Id",
          "required": true,
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "x-swagger-router-controller": "AgencyClientTagLinks",
      "get": {
        "tags": [
          "Tag Links"
        ],
        "operationId": "getAgencyClientTagLink",
        "summary": "Gets a tag link",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Tag Link resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "tag_id",
                    "entity_id",
                    "tag_type_id"
                  ],
                  "properties": {
                    "tag_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "entity_id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "name",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "invalid parameters",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyClientLink": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "x-agencyClientLink-security": {
          "path_ids": {
            "path_agency_id": "agency_id",
            "path_client_id": "client_id"
          }
        }
      },
      "delete": {
        "tags": [
          "Tag Links"
        ],
        "operationId": "deleteAgencyClientTagLink",
        "summary": "Delete a tag link",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Tag Link resource",
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "required": [
                    "_id",
                    "updated_at",
                    "created_at",
                    "__v"
                  ],
                  "properties": {
                    "_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "__v": {
                      "type": "integer"
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "tag_id",
                    "entity_id",
                    "tag_type_id"
                  ],
                  "properties": {
                    "tag_id": {
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{24}$"
                    },
                    "entity_id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tag_type_id": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "context"
                  ],
                  "properties": {
                    "context": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[0-9a-fA-F]{24}$"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "agency",
                            "agency-group"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "created_by_user_id",
                    "name",
                    "created_by_user_full_name"
                  ],
                  "properties": {
                    "created_by_user_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "created_by_user_full_name": {
                      "type": "string"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "invalid parameters",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": [],
            "agencyClientLink": [],
            "pathContextValidator": []
          }
        ],
        "x-path-context-validator-security": [
          {
            "context": "Agency",
            "path_context_id": "agency_id"
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission": [
                "delete"
              ]
            }
          }
        ],
        "x-agencyClientLink-security": {
          "path_ids": {
            "path_agency_id": "agency_id",
            "path_client_id": "client_id"
          }
        }
      }
    },
    "/agency/{agency_id}/client/tag-link/bulk": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "agency ID",
          "type": "string"
        }
      ],
      "x-swagger-router-controller": "AgencyClientTagLinks",
      "post": {
        "tags": [
          "Tag Links"
        ],
        "summary": "Bulk operations on tag links",
        "operationId": "bulkTagLinkAgencyClient",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "bulk_tag_link_payload",
            "in": "body",
            "required": true,
            "description": "The payload used to do bulk operations on tag links",
            "schema": {
              "type": "object",
              "required": [
                "operation",
                "items"
              ],
              "properties": {
                "operation": {
                  "type": "string",
                  "enum": [
                    "create",
                    "delete"
                  ]
                },
                "items": {
                  "type": "array",
                  "maxItems": 30,
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "tag_id",
                      "entity_id"
                    ],
                    "properties": {
                      "tag_id": {
                        "type": "string",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "entity_id": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bulk Tag Link resources",
            "schema": {
              "type": "object",
              "required": [
                "result"
              ],
              "properties": {
                "result": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "status"
                    ],
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "success",
                          "failure"
                        ]
                      },
                      "data": {
                        "allOf": [
                          {
                            "type": "object",
                            "required": [
                              "_id",
                              "updated_at",
                              "created_at",
                              "__v"
                            ],
                            "properties": {
                              "_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "updated_at": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "created_at": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "__v": {
                                "type": "integer"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "tag_id",
                              "entity_id",
                              "tag_type_id"
                            ],
                            "properties": {
                              "tag_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{24}$"
                              },
                              "entity_id": {
                                "type": "string",
                                "minLength": 1
                              },
                              "tag_type_id": {
                                "type": "string",
                                "minLength": 1
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "context"
                            ],
                            "properties": {
                              "context": {
                                "type": "object",
                                "required": [
                                  "id",
                                  "type"
                                ],
                                "properties": {
                                  "id": {
                                    "type": "string",
                                    "pattern": "^[0-9a-fA-F]{24}$"
                                  },
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "agency",
                                      "agency-group"
                                    ]
                                  }
                                }
                              }
                            }
                          },
                          {
                            "type": "object",
                            "required": [
                              "created_by_user_id",
                              "created_by_user_full_name",
                              "name"
                            ],
                            "properties": {
                              "created_by_user_id": {
                                "type": "string"
                              },
                              "created_by_user_full_name": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        ]
                      },
                      "error": {
                        "type": "object",
                        "required": [
                          "message",
                          "code"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          },
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "PATTERN",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "INVALID_TAG_TYPE_ID",
                              "INVALID_TAG_ID",
                              "MIN_LENGTH",
                              "PERMISSION_DENIED",
                              "MODEL_VALIDATION_FAILED",
                              "CONFLICT_ERROR",
                              "RESOURCE_NOT_FOUND"
                            ]
                          }
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "400": {
            "description": "Validation error response on bulk operation",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "SCHEMA_VALIDATION_FAILED",
                    "MODEL_VALIDATION_FAILED",
                    "ENUM_MISMATCH",
                    "PATTERN",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "type": "object",
                        "required": [
                          "message",
                          "path"
                        ],
                        "properties": {
                          "message": {
                            "type": "string"
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "description": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "required": [
                          "code"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "INVALID_TYPE",
                              "OBJECT_MISSING_REQUIRED_PROPERTY",
                              "OBJECT_ADDITIONAL_PROPERTIES",
                              "INVALID_TAG_TYPE_ID",
                              "MIN_LENGTH",
                              "ARRAY_LENGTH_LONG",
                              "ARRAY_LENGTH_SHORT"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshiftFromPayload": []
          }
        ],
        "x-staffshiftFromPayload-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "tag",
              "permission-link": {
                "permission-name-path-in-body": "operation",
                "mapping": {
                  "delete": [
                    "delete"
                  ],
                  "create": [
                    "create"
                  ]
                }
              }
            }
          }
        ]
      }
    },
    "/context-hierarchy-user/{user_id}": {
      "x-swagger-router-controller": "User",
      "get": {
        "operationId": "getContextHierarchyUser",
        "tags": [
          "User"
        ],
        "summary": "Retrieve a specific context-hierarchy-user. The agency_id and agency_group_id query parameters are OR together, meaning if a user is linked to the agency or agency_group data will be returned",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "description": "The id of the user",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          }
        ],
        "responses": {
          "200": {
            "description": "Specific context hierarchy user will be returned",
            "schema": {
              "type": "object",
              "required": [
                "_id",
                "first_name",
                "last_name",
                "email",
                "status",
                "username",
                "locale",
                "timezone"
              ],
              "properties": {
                "_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "first_name": {
                  "type": "string"
                },
                "last_name": {
                  "type": "string"
                },
                "email": {
                  "type": "string",
                  "pattern": "^(([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$",
                  "maxLength": 255
                },
                "status": {
                  "type": "string"
                },
                "username": {
                  "type": "string"
                },
                "locale": {
                  "type": "string"
                },
                "timezone": {
                  "type": "string"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PATTERN",
                    "INVALID_TYPE",
                    "REQUIRED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Authorization Error. Thrown if the user does not have access to resource.",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Permission denied error",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "PERMISSION_DENIED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "exceptionCode": {
                  "type": "string",
                  "enum": [
                    "IP_ADDRESS_NOT_WHITELISTED"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "schema": {
              "description": "No resource found",
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "unexpected error",
            "schema": {
              "type": "object",
              "required": [
                "message"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "exception": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "header_context_id_validation": "context",
            "operation": {
              "name": "agency_user",
              "permission": [
                "read"
              ]
            }
          },
          {
            "context": "AgencyGroup",
            "header_context_id_validation": "context",
            "operation": {
              "name": "agency_group_user",
              "permission": [
                "read"
              ]
            }
          }
        ]
      }
    },
    "/agency/{agency_id}/order/{order_id}/shift/{shift_id}/status": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "order_id",
          "in": "path",
          "required": true,
          "description": "The staffing order id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "shift_id",
          "in": "path",
          "required": true,
          "description": "The staffing shift id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "post": {
        "tags": [
          "Agency Shift"
        ],
        "summary": "Change the status of an agency shift",
        "x-swagger-router-controller": "TriageProxy",
        "x-proxy-config": "triage",
        "x-proxy-route": "/staffing/agency-shift/{shift_id}/status",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-Accept-Date-ISO",
            "in": "header",
            "description": "Header indicating an ISO8601 date / date-time format",
            "required": false,
            "type": "string",
            "enum": [
              "on"
            ]
          },
          {
            "name": "agency_shift_payload",
            "in": "body",
            "required": false,
            "description": "The payload used to update the agency shift status",
            "schema": {
              "type": "object",
              "required": [
                "sAgencyId",
                "sStatusCode"
              ],
              "properties": {
                "sAgencyId": {
                  "type": "string",
                  "description": "The agency id",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "sStatusCode": {
                  "type": "string",
                  "description": "The status code (See /shift-status/{status_name}/status-reason)"
                },
                "sStatusReason": {
                  "type": "string",
                  "description": "The status reason (required for some status changes, see /shift-status/{status_name}/status-reason)"
                }
              }
            }
          }
        ],
        "x-response-transformation": {
          "200": {
            "transformer": "AgencyShiftStatusUpdateTransformer"
          }
        },
        "responses": {
          "200": {
            "description": "The current state of the order after the agency shift change",
            "schema": {
              "type": "object",
              "required": [
                "_id",
                "order_reference",
                "organisation_id",
                "organisation_name",
                "site_id",
                "site_name",
                "status_code",
                "first_shift_start_at",
                "last_shift_start_at",
                "last_shift_end_at",
                "agency_orders",
                "shifts"
              ],
              "properties": {
                "_id": {
                  "type": "string",
                  "description": "The staffing order id",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "order_reference": {
                  "type": "string",
                  "description": "The staffing order reference (readable id)"
                },
                "organisation_id": {
                  "type": "string",
                  "description": "The organisation id",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "organisation_name": {
                  "type": "string",
                  "description": "The organisation name"
                },
                "site_id": {
                  "type": "string",
                  "description": "The site id",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "site_name": {
                  "type": "string",
                  "description": "The site name"
                },
                "ward_id": {
                  "type": "string",
                  "description": "The ward id",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "ward_name": {
                  "type": "string",
                  "description": "The ward name"
                },
                "status_code": {
                  "type": "string",
                  "description": "The status of the order"
                },
                "status_reason": {
                  "type": "string",
                  "description": "The status reason"
                },
                "job_title_id": {
                  "type": "string",
                  "description": "The job title id",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "job_title_name": {
                  "type": "string",
                  "description": "The job title name"
                },
                "job_family_id": {
                  "type": "string",
                  "description": "The job family id",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "job_family_name": {
                  "type": "string",
                  "description": "The job family name"
                },
                "candidate_type": {
                  "type": "string",
                  "description": "The candidate type"
                },
                "first_shift_start_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "last_shift_start_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "last_shift_end_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "position_description": {
                  "type": "string",
                  "description": "The position description on the order"
                },
                "staffing_instruction": {
                  "type": "string",
                  "description": "The staffing instructions on the order"
                },
                "agency_orders": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "agency_order_id",
                      "agency_id",
                      "status_code"
                    ],
                    "properties": {
                      "agency_order_id": {
                        "type": "string",
                        "description": "The agency order id",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "agency_id": {
                        "type": "string",
                        "description": "The agency id",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "agency_name": {
                        "type": "string",
                        "description": "The agency name"
                      },
                      "status_code": {
                        "type": "string",
                        "description": "The status of the order"
                      },
                      "status_reason": {
                        "type": "string",
                        "description": "The status reason"
                      },
                      "sent_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "requires_po_number": {
                        "type": "boolean",
                        "description": "Whether or not the agency o rder requires po numbers to be set"
                      }
                    }
                  }
                },
                "shifts": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "start_at",
                      "end_at",
                      "shift_id",
                      "status_code"
                    ],
                    "properties": {
                      "start_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "end_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "shift_id": {
                        "type": "string",
                        "description": "The shift id",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "status_code": {
                        "type": "string",
                        "description": "The status of the order"
                      },
                      "status_reason": {
                        "type": "string",
                        "description": "The status reason"
                      },
                      "booked_resource_id": {
                        "type": "string",
                        "description": "The booked staffing resource id",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "booked_candidate_id": {
                        "type": "string",
                        "description": "The booked candidate id",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "booked_candidate_name": {
                        "type": "string",
                        "description": "The booked candidate name"
                      },
                      "booked_assignment_id": {
                        "type": "string",
                        "description": "The booked staffing assignment id",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "booked_agency_id": {
                        "type": "string",
                        "description": "The booked agency id",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "booked_agency_name": {
                        "type": "string",
                        "description": "The booked agency name"
                      },
                      "shift_reference_number": {
                        "type": "string",
                        "description": "The staffing shift reference number"
                      },
                      "agency_details": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "agency_id",
                            "status_code"
                          ],
                          "properties": {
                            "agency_id": {
                              "type": "string",
                              "description": "The agency id",
                              "pattern": "^[0-9a-fA-F]{24}$"
                            },
                            "status_code": {
                              "type": "string",
                              "description": "The status of the order"
                            },
                            "status_reason": {
                              "type": "string",
                              "description": "The status reason"
                            },
                            "requires_shift_reference_number": {
                              "type": "boolean",
                              "description": "Whether the shift requires a reference number"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation errors",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "PATTERN",
                    "OBJECT_MISSING_REQUIRED_PROPERTY",
                    "MODEL_VALIDATION_FAILED"
                  ]
                },
                "message": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "enum": [
                          "OBJECT_MISSING_REQUIRED_PROPERTY",
                          "PATTERN",
                          "ILLEGAL_TO_STATE",
                          "NOT_IN_SET"
                        ]
                      },
                      "message": {
                        "type": "string"
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No resource found",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/shift-status/{status_name}/status-reason": {
      "parameters": [
        {
          "name": "status_name",
          "in": "path",
          "required": true,
          "description": "The status to retrieve reasons for",
          "type": "string"
        }
      ],
      "get": {
        "tags": [
          "Shift status reasons"
        ],
        "summary": "List status reasons for given shift status",
        "x-swagger-router-controller": "TriageProxy",
        "x-proxy-config": "triage",
        "x-proxy-route": "/staffing/shift-status/{status_name}/status-reason",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-Accept-Date-ISO",
            "in": "header",
            "description": "Header indicating an ISO8601 date / date-time format",
            "required": false,
            "type": "string",
            "enum": [
              "on"
            ]
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of documents to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of documents per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          }
        ],
        "x-response-transformation": {
          "200": {
            "transformer": "AgencyShiftStatusReasonsTransformer"
          }
        },
        "responses": {
          "200": {
            "description": "The current state of the order after the agency shift change",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query.",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation errors",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No resource found",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/agency/{agency_id}/order/{order_id}/history": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "order_id",
          "in": "path",
          "required": true,
          "description": "The staffing order id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "get": {
        "tags": [
          "Staffing Order"
        ],
        "summary": "List staffing order history",
        "x-swagger-router-controller": "TriageProxy",
        "x-proxy-config": "triage",
        "x-proxy-route": "/staffing/order/{order_id}/history",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-Accept-Date-ISO",
            "in": "header",
            "description": "Header indicating an ISO8601 date / date-time format",
            "required": false,
            "type": "string",
            "enum": [
              "on"
            ]
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of documents to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of documents per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "A comma separated list of fields indicating sort order `id`, `dtStart`, a negative sign reverses direction `-id`",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "id",
                "-id",
                "dtAction",
                "-dtAction",
                "sStaffingOrderId",
                "-sStaffingOrderId",
                "sAction",
                "-sAction",
                "sIntendedAudience",
                "-sIntendedAudience",
                "sActingAgencyId",
                "-sActingAgencyId",
                "sActingCandidateId",
                "-sActingCandidateId"
              ]
            }
          }
        ],
        "x-response-transformation": {
          "200": {
            "transformer": "StaffingOrderHistoryTransformer"
          }
        },
        "responses": {
          "200": {
            "description": "The current state of the order after the agency shift change",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "_id",
                  "staffing_order_id",
                  "actioned_at",
                  "source",
                  "action",
                  "body",
                  "intended_audience"
                ],
                "properties": {
                  "_id": {
                    "type": "string",
                    "description": "The staffing order history item id",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "staffing_order_id": {
                    "type": "string",
                    "description": "The staffing order id",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "acting_agency_id": {
                    "type": "string",
                    "description": "The acting agency id",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "acting_candidate_id": {
                    "type": "string",
                    "description": "The acting candidate id",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "actioned_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date the action was taken"
                  },
                  "source": {
                    "type": "object",
                    "required": [
                      "id",
                      "resource"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "The id of the source",
                        "pattern": "^[0-9a-fA-F]{24}$"
                      },
                      "resource": {
                        "type": "string",
                        "description": "The type of the source"
                      }
                    }
                  },
                  "action": {
                    "type": "string",
                    "description": "The action that was taken"
                  },
                  "body": {
                    "type": "string",
                    "description": "The history item content"
                  },
                  "intended_audience": {
                    "type": "string",
                    "description": "The audience the history item is intended for",
                    "enum": [
                      "acting_agency",
                      "passive_agency",
                      "acting_candidate",
                      "passive_candidate",
                      "organisation"
                    ]
                  }
                }
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query.",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation errors",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MINIMUM"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No resource found",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "RESOURCE_NOT_FOUND"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/agency/{agency_id}/organisation/{organisation_id}/site/{site_id}/ward": {
      "parameters": [
        {
          "name": "agency_id",
          "in": "path",
          "required": true,
          "description": "The agency id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "organisation_id",
          "in": "path",
          "required": true,
          "description": "The organisation id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        {
          "name": "site_id",
          "in": "path",
          "required": true,
          "description": "The site id",
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      ],
      "get": {
        "tags": [
          "Agency Organisation Site Ward"
        ],
        "summary": "List ward of specific agency organisation site",
        "x-swagger-router-controller": "TriageProxy",
        "x-proxy-config": "triage",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "X-Accept-Date-ISO",
            "in": "header",
            "description": "Header indicating an ISO8601 date / date-time format",
            "required": false,
            "type": "string",
            "enum": [
              "on"
            ]
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of documents to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of documents per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "organisation_name",
            "x-downstream-name": "sOrganisationName",
            "in": "query",
            "description": "The organisation name",
            "required": false,
            "type": "string"
          },
          {
            "name": "site_name",
            "x-downstream-name": "sSiteName",
            "in": "query",
            "description": "The site name",
            "required": false,
            "type": "string"
          },
          {
            "name": "site_type_name",
            "x-downstream-name": "sSiteTypeName",
            "in": "query",
            "description": "The site type name",
            "required": false,
            "type": "string"
          },
          {
            "name": "site_type_id",
            "x-downstream-name": "sSiteTypeId",
            "in": "query",
            "required": false,
            "description": "The site type id",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "site_address",
            "x-downstream-name": "sSiteAddress",
            "in": "query",
            "description": "The site address combination of address 1 & 2",
            "required": false,
            "type": "string"
          },
          {
            "name": "site_post_code",
            "x-downstream-name": "sSitePostCode",
            "in": "query",
            "description": "The site post code",
            "required": false,
            "type": "string"
          },
          {
            "name": "ward_name",
            "x-downstream-name": "sWardName",
            "in": "query",
            "description": "The ward name",
            "required": false,
            "type": "string"
          },
          {
            "name": "ward_id",
            "x-downstream-name": "sWardId",
            "in": "query",
            "required": false,
            "description": "The ward id",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "ward_type_name",
            "x-downstream-name": "sWardTypeName",
            "in": "query",
            "description": "The ward type name",
            "required": false,
            "type": "string"
          },
          {
            "name": "ward_type_id",
            "x-downstream-name": "sWardTypeId",
            "in": "query",
            "required": false,
            "description": "The ward type id",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "agency_name",
            "x-downstream-name": "sAgencyName",
            "in": "query",
            "description": "The agency name",
            "required": false,
            "type": "string"
          },
          {
            "name": "agency_linked",
            "x-downstream-name": "bAgencyLinked",
            "in": "query",
            "required": false,
            "description": "The agency linked flag",
            "type": "boolean"
          },
          {
            "name": "agency_organisation_type",
            "x-downstream-name": "sAgencyOrgType",
            "in": "query",
            "description": "The agency organisation type",
            "required": false,
            "type": "string"
          },
          {
            "name": "created_at",
            "x-downstream-name": "dtCreated",
            "in": "query",
            "description": "The created date",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "updated_at",
            "x-downstream-name": "dtModified",
            "in": "query",
            "description": "The last modified date",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "_id",
            "x-downstream-name": "id",
            "in": "query",
            "required": false,
            "description": "The agency organisation site ward link id",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "A comma separated list of fields indicating sort order `id`, `dtStart`, a negative sign reverses direction `-id`",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "id",
                "-id",
                "sSiteTypeName",
                "-sSiteTypeName",
                "sSiteTypeId",
                "-sSiteTypeId",
                "sSiteAddress",
                "-sSiteAddress",
                "sSitePostCode",
                "-sSitePostCode",
                "sWardName",
                "-sWardName",
                "sWardId",
                "-sWardId",
                "sWardTypeName",
                "-sWardTypeName",
                "sWardTypeId",
                "-sWardTypeId",
                "sAgencyOrgType",
                "-sAgencyOrgType",
                "dtCreated",
                "-dtCreated",
                "dtModified",
                "-dtModified"
              ]
            }
          }
        ],
        "x-response-transformation": {
          "200": {
            "transformer": "AgencyOrganisationSiteWardTransformer"
          }
        },
        "x-bypass-ip-security-check": true,
        "responses": {
          "200": {
            "description": "The list of agency organisation site wards",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "_id",
                  "organisation_name",
                  "organisation_id",
                  "site_name",
                  "site_id",
                  "ward_name",
                  "ward_id",
                  "agency_name",
                  "agency_id",
                  "agency_organisation_type",
                  "agency_linked"
                ],
                "properties": {
                  "_id": {
                    "type": "string",
                    "description": "The agency organisation site ward link id",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "ward_id": {
                    "type": "string",
                    "description": "The ward id",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "ward_name": {
                    "type": "string",
                    "description": "The ward name"
                  },
                  "ward_type_id": {
                    "type": "string",
                    "description": "The ward type id",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "ward_type_name": {
                    "type": "string",
                    "description": "The ward type name"
                  },
                  "organisation_id": {
                    "type": "string",
                    "description": "The organisation id",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "organisation_name": {
                    "type": "string",
                    "description": "The organisation name"
                  },
                  "agency_id": {
                    "type": "string",
                    "description": "The agency id",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "agency_name": {
                    "type": "string",
                    "description": "The agency name"
                  },
                  "agency_organisation_type": {
                    "type": "string",
                    "description": "The agency organisation type"
                  },
                  "agency_linked": {
                    "type": "boolean",
                    "description": "whether or not the ward is linked to the agency"
                  },
                  "site_id": {
                    "type": "string",
                    "description": "The site id",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "site_name": {
                    "type": "string",
                    "description": "The site name"
                  },
                  "site_type_id": {
                    "type": "string",
                    "description": "The site type id",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "site_type_name": {
                    "type": "string",
                    "description": "The site type name"
                  },
                  "site_post_code": {
                    "type": "string",
                    "description": "The site post code"
                  },
                  "site_address": {
                    "type": "string",
                    "description": "The site address combination of address 1 & 2"
                  },
                  "created_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The created date"
                  },
                  "updated_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The updated date"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query.",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation errors",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/site-type": {
      "get": {
        "tags": [
          "Site Type"
        ],
        "summary": "Retrieves a list of site types",
        "x-swagger-router-controller": "TriageProxy",
        "x-proxy-config": "triage",
        "x-proxy-route": "/siteType",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of documents to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of documents per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "name",
            "x-downstream-name": "sSiteTypeName",
            "in": "query",
            "description": "The site type name",
            "required": false,
            "type": "string"
          },
          {
            "name": "_id",
            "x-downstream-name": "id",
            "in": "query",
            "required": false,
            "description": "The site type id",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "A comma separated list of fields indicating sort order `id`, `dtStart`, a negative sign reverses direction `-id`",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "id",
                "-id",
                "sSiteTypeName",
                "-sSiteTypeName"
              ]
            }
          }
        ],
        "x-response-transformation": {
          "200": {
            "transformer": "SiteTypeTransformer"
          }
        },
        "x-bypass-ip-security-check": true,
        "responses": {
          "200": {
            "description": "The list of site types",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "_id",
                  "name"
                ],
                "properties": {
                  "_id": {
                    "type": "string",
                    "description": "The site type id",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "name": {
                    "type": "string",
                    "description": "The site type name"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query.",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation errors",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/ward-type": {
      "get": {
        "tags": [
          "Ward Type"
        ],
        "summary": "Retrieves a list of ward types",
        "x-swagger-router-controller": "TriageProxy",
        "x-proxy-config": "triage",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "OAuth Bearer token",
            "required": true,
            "pattern": "^Bearer *",
            "type": "string",
            "format": "string"
          },
          {
            "name": "Context",
            "in": "header",
            "description": "The executing context",
            "required": true,
            "type": "string",
            "format": "string"
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "Advertises which content types the client understands",
            "required": true,
            "type": "string",
            "enum": [
              "application/json"
            ]
          },
          {
            "name": "X-Accept-Timezone",
            "in": "header",
            "description": "The timezone the content will be displayed in",
            "required": false,
            "type": "string"
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page of documents to be displayed",
            "required": false,
            "type": "integer",
            "default": 1,
            "minimum": 1
          },
          {
            "name": "items_per_page",
            "in": "query",
            "description": "The number of documents per page",
            "required": false,
            "type": "integer",
            "default": 25,
            "minimum": 1
          },
          {
            "name": "name",
            "x-downstream-name": "sWardTypeName",
            "in": "query",
            "description": "The ward type name",
            "type": "string"
          },
          {
            "name": "_id",
            "x-downstream-name": "id",
            "in": "query",
            "required": false,
            "description": "The ward type id",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "A comma separated list of fields indicating sort order `id`, `dtStart`, a negative sign reverses direction `-id`",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "id",
                "-id",
                "sWardTypeName",
                "-sWardTypeName"
              ]
            }
          }
        ],
        "x-response-transformation": {
          "200": {
            "transformer": "WardTypeTransformer"
          }
        },
        "x-bypass-ip-security-check": true,
        "responses": {
          "200": {
            "description": "The list of ward types",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "_id",
                  "name"
                ],
                "properties": {
                  "_id": {
                    "type": "string",
                    "description": "The ward type id",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "name": {
                    "type": "string",
                    "description": "The ward type name"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No Content. There were no records to return based on your query.",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            }
          },
          "400": {
            "description": "Validation errors",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "REQUIRED",
                    "INVALID_TYPE",
                    "MINIMUM",
                    "PATTERN"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Failed to authenticate the user making the request",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "UNAUTHORIZED"
                  ]
                },
                "message": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "Server error occurred",
            "schema": {
              "type": "object",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "stack": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/advanced-search/activity-type": {
      "x-swagger-router-controller": "Proxy",
      "x-proxy-config": "staffshift-activities",
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "get": {
        "description": "Retrieves a list of all unique activity types",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "security": [
          {
            "staffshiftOperation": []
          }
        ],
        "x-staffshift-operation-security": [
          {
            "operation": {
              "name": "welcome",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "parameters": [
          {
            "$ref": "#/parameters/page"
          },
          {
            "$ref": "#/parameters/per_page"
          },
          {
            "$ref": "#/parameters/context_activity_type_sort_by_query"
          },
          {
            "$ref": "#/parameters/activity_type_name_filter"
          },
          {
            "$ref": "#/parameters/activity_type_code_filter"
          },
          {
            "$ref": "#/parameters/activity_type_context_filter"
          },
          {
            "$ref": "#/parameters/activity_type_disabled_filter"
          },
          {
            "$ref": "#/parameters/activity_type_subject_type_filter"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of all unique activity types will be returned",
            "headers": {
              "link": {
                "type": "string"
              },
              "x-result-count": {
                "type": "integer"
              }
            },
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/advanced_search_activity_types_response_def"
              }
            }
          },
          "204": {
            "$ref": "#/responses/no_content"
          },
          "400": {
            "description": "Validation errors caused by missing or invalid header / path or payloads",
            "schema": {
              "$ref": "#/definitions/get_validation_error_model"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        },
        "tags": [
          "Activity Type"
        ],
        "summary": "Get a list of all unique activity types"
      }
    },
    "/agency/{agency_id}/advanced-search/candidate": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/x_request_result_count"
        },
        {
          "$ref": "#/parameters/x_request_result_count_limit"
        },
        {
          "$ref": "#/parameters/x_atlas_search"
        }
      ],
      "post": {
        "tags": [
          "Agency Candidate Advanced Search"
        ],
        "summary": "New Advanced search on Agency Candidate",
        "x-swagger-router-controller": "AgencyCandidate",
        "operationId": "agencyCandidateAdvancedSearch",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_candidate",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": false,
            "schema": {
              "$ref": "#/definitions/agency_candidate_advanced_search_query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency candidate based on search criteria",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_candidate_advanced_search_result"
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/advanced_search_v2_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/advanced-search-v2/candidate": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/x_request_result_count"
        },
        {
          "$ref": "#/parameters/x_request_result_count_limit"
        },
        {
          "$ref": "#/parameters/x_atlas_search"
        }
      ],
      "post": {
        "tags": [
          "Agency Group Candidate Advanced Search"
        ],
        "summary": "New Advanced search on Agency Group Candidate",
        "x-swagger-router-controller": "AgencyGroupCandidate",
        "operationId": "advancedSearchV2",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_candidate",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": false,
            "schema": {
              "$ref": "#/definitions/agency_group_candidate_advanced_search_v2_query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency group candidate based on search criteria",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_candidate_advanced_search_v2_result"
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/advanced_search_v2_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/advanced-search/agency-shift-manifest": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/x_request_result_count"
        },
        {
          "$ref": "#/parameters/x_request_result_count_limit"
        },
        {
          "$ref": "#/parameters/x_atlas_search"
        }
      ],
      "post": {
        "tags": [
          "Agency Shift Manifest Advanced Search"
        ],
        "summary": "Advanced search on Agency shift manifest",
        "x-swagger-router-controller": "AgencyShiftManifest",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "time_sheet",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": false,
            "schema": {
              "$ref": "#/definitions/agency_shift_manifest_advanced_search_query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency shift manifest based on search criteria",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_shift_manifest_advanced_search_result"
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/agency_manifest_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/advanced-search/agency-shift": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/x_request_result_count"
        },
        {
          "$ref": "#/parameters/x_request_result_count_limit"
        },
        {
          "$ref": "#/parameters/x_atlas_search"
        }
      ],
      "post": {
        "tags": [
          "Agency Shift Advanced Search"
        ],
        "summary": "Advanced search on Agency shift",
        "x-swagger-router-controller": "AgencyShiftSearch",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "staffing",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": false,
            "schema": {
              "$ref": "#/definitions/agency_shift_search_advanced_search_query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency shift search based on search criteria",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_shift_search_advanced_search_result"
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/agency_shift_search_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/advanced-search/agency-shift": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/x_request_result_count"
        },
        {
          "$ref": "#/parameters/x_request_result_count_limit"
        },
        {
          "$ref": "#/parameters/x_atlas_search"
        }
      ],
      "post": {
        "tags": [
          "Agency Group Agency Shift Advanced Search"
        ],
        "summary": "Advanced search on Agency Group Agency shifts",
        "x-swagger-router-controller": "AgencyGroupAgencyShiftSearch",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "agency_group_staffing",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": false,
            "schema": {
              "$ref": "#/definitions/agency_group_agency_shift_search_advanced_search_query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency group agency shift search based on search criteria",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_agency_shift_search_advanced_search_result"
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/agency_group_agency_shift_search_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/advanced-search/candidate-possible-shifts": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/x_request_result_count"
        },
        {
          "$ref": "#/parameters/x_request_result_count_limit"
        }
      ],
      "post": {
        "tags": [
          "Agency Candidate Possible Shifts Advanced Search"
        ],
        "summary": "Advanced search on Agency Candidate Possible Shifts",
        "x-swagger-router-controller": "AgencyCandidatePossibleShifts",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "staffing",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": false,
            "schema": {
              "$ref": "#/definitions/agency_candidate_possible_shifts_advanced_search_query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency candidate possible shift based on search criteria",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_candidate_possible_shifts_advanced_search_result"
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/agency_canidate_possible_shifts_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/advanced-search/agency-client": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/x_request_result_count"
        },
        {
          "$ref": "#/parameters/x_request_result_count_limit"
        },
        {
          "$ref": "#/parameters/x_atlas_search"
        }
      ],
      "post": {
        "tags": [
          "Agency Client Advanced Search"
        ],
        "summary": "Advanced search on Agency client",
        "x-swagger-router-controller": "AgencyClient",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "agency_organisation_link",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": false,
            "schema": {
              "$ref": "#/definitions/agency_client_advanced_search_query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency client based on search criteria",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_client_advanced_search_result"
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/agency_client_search_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/advanced-search/agency-client-event-log": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/x_request_result_count"
        },
        {
          "$ref": "#/parameters/x_request_result_count_limit"
        }
      ],
      "post": {
        "tags": [
          "Agency Client Event Log Advanced Search"
        ],
        "summary": "Advanced search on Agency client",
        "x-swagger-router-controller": "AgencyClientEventLog",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "advanced_search_agency_client_event_log",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": false,
            "schema": {
              "$ref": "#/definitions/advanced_search_agency_client_event_log_query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency client based on search criteria",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/advanced_search_agency_client_event_log_result"
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/advanced_search_agency_client_event_log_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/exports/advanced-search-assignments": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "tags": [
          "Data exports"
        ],
        "summary": "Advanced search agency shift manifest data export",
        "x-swagger-router-controller": "AdvancedSearchDataExports",
        "operationId": "createShiftManifestDataExport",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "advanced_search_assignments_data_exports",
              "permission": [
                "create"
              ]
            }
          }
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": true,
            "schema": {
              "$ref": "#/definitions/agency_shift_manifest_data_export_payload"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Data export record will be returned",
            "schema": {
              "$ref": "#/definitions/advanced_search_data_exports_response_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/advanced_search_export_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/exports/advanced-search-agency-client-event-log": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "tags": [
          "Data exports"
        ],
        "summary": "Advanced search agency client event log data export",
        "x-swagger-router-controller": "AdvancedSearchDataExports",
        "operationId": "createAgencyClientEventLogDataExport",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "advanced_search_agency_client_event_log_data_exports",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": true,
            "schema": {
              "$ref": "#/definitions/agency_client_event_log_data_export_payload"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Data export record will be returned",
            "schema": {
              "$ref": "#/definitions/advanced_search_data_exports_response_def"
            }
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/advanced_search_export_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/candidate/{candidate_id}/advanced-search/agency-shift": {
      "parameters": [
        {
          "$ref": "#/parameters/candidate_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/x_request_result_count"
        },
        {
          "$ref": "#/parameters/x_request_result_count_limit"
        },
        {
          "$ref": "#/parameters/x_atlas_search"
        }
      ],
      "post": {
        "tags": [
          "Candidate Shift Advanced Search"
        ],
        "summary": "Advanced search on Candidate shift",
        "x-swagger-router-controller": "CandidateShiftSearch",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Candidate",
            "path_context_id_validation": "candidate_id",
            "operation": {
              "name": "candidate_shift",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": false,
            "schema": {
              "$ref": "#/definitions/candidate_shift_search_advanced_search_query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency shift search based on search criteria",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_shift_search_advanced_search_result"
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/agency_shift_search_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency-group/{agency_group_id}/advanced-search/compliance-rule-exemption": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_group_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/x_request_result_count"
        },
        {
          "$ref": "#/parameters/x_request_result_count_limit"
        }
      ],
      "post": {
        "tags": [
          "Agency Group Compliance Rule Exemption"
        ],
        "summary": "Advanced search on Agency Group compliance rule exemption",
        "x-swagger-router-controller": "AgencyGroupComplianceRuleExemption",
        "operationId": "advancedSearchAgencyGroupComplianceRuleExemption",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "AgencyGroup",
            "path_context_id_validation": "agency_group_id",
            "operation": {
              "name": "compliance_rule_exemption",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": false,
            "schema": {
              "$ref": "#/definitions/compliance_rule_exemption_advanced_search_query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency group compliance rule exemption based on search criteria",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/compliance_rule_exemption_search_result"
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/compliance_rule_exemption_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/advanced-search/compliance-rule-exemption": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/x_request_result_count"
        },
        {
          "$ref": "#/parameters/x_request_result_count_limit"
        }
      ],
      "post": {
        "tags": [
          "Agency Compliance Rule Exemption"
        ],
        "summary": "Advanced search on Agency compliance rule exemption",
        "x-swagger-router-controller": "AgencyComplianceRuleExemption",
        "operationId": "advancedSearchAgencyComplianceRuleExemption",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "compliance_rule_exemption",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": false,
            "schema": {
              "$ref": "#/definitions/compliance_rule_exemption_advanced_search_query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency compliance rule exemption based on search criteria",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/compliance_rule_exemption_search_result"
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/compliance_rule_exemption_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/advanced-search-report/booked-candidates": {
      "parameters": [
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/timezone"
        }
      ],
      "post": {
        "tags": [
          "Advanced Search Report Booked Candidates"
        ],
        "summary": "Advanced Search Report on finding Booked Candidates for a shift",
        "x-swagger-router-controller": "AdvancedSearchReportBookedCandidates",
        "operationId": "advancedSearchReportBookedCandidates",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "staffing",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": true,
            "schema": {
              "$ref": "#/definitions/booked_candidates_report_advanced_search_query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of booked candidates based on search criteria",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/booked_candidates_report_search_result"
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/booked_candidates_report_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/auth_error"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    },
    "/agency/{agency_id}/advanced-search/previously-booked-agency-candidate": {
      "parameters": [
        {
          "$ref": "#/parameters/authorization"
        },
        {
          "$ref": "#/parameters/context"
        },
        {
          "$ref": "#/parameters/agency_id"
        },
        {
          "$ref": "#/parameters/timezone"
        },
        {
          "$ref": "#/parameters/x_request_result_count"
        },
        {
          "$ref": "#/parameters/x_request_result_count_limit"
        }
      ],
      "post": {
        "tags": [
          "Agency Previously Booked Candidate Advanced Search"
        ],
        "summary": "Advanced search on Agency Previously Booked Candidates",
        "x-swagger-router-controller": "AgencyPreviouslyBookedCandidate",
        "security": [
          {
            "staffshift": []
          }
        ],
        "x-staffshift-security": [
          {
            "context": "Agency",
            "path_context_id_validation": "agency_id",
            "operation": {
              "name": "staffing",
              "permission": [
                "read"
              ]
            }
          }
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "Search criteria",
            "required": false,
            "schema": {
              "$ref": "#/definitions/agency_previously_booked_candidate_advanced_search_query"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "list of agency previously booked candidates based on search criteria",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_previously_booked_candidate_advanced_search_result"
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "400": {
            "description": "Validation Error. Usually caused by a missing or invalid parameter.",
            "schema": {
              "$ref": "#/definitions/agency_previously_booked_candidate_validation_error"
            }
          },
          "401": {
            "$ref": "#/responses/unauthorize_error_model"
          },
          "403": {
            "$ref": "#/responses/permission_denied_error_model"
          },
          "default": {
            "$ref": "#/responses/server_error_model"
          }
        }
      }
    }
  },
  "parameters": {
    "ids_filter": {
      "name": "_id",
      "in": "query",
      "description": "A comma separated list of _ids",
      "type": "array",
      "uniqueItems": true,
      "items": {
        "type": "string",
        "pattern": "^[0-9a-fA-F]{24}$"
      }
    },
    "agency_candidate_basic_info_put_body_param": {
      "name": "basic_info",
      "in": "body",
      "description": "The candidate basic info object",
      "schema": {
        "$ref": "#/definitions/agency_candidate_basic_info_put_body_def"
      }
    },
    "agency_group_candidate_basic_info_put_body_param": {
      "name": "basic_info",
      "in": "body",
      "description": "The candidate basic info object",
      "schema": {
        "$ref": "#/definitions/agency_group_candidate_basic_info_put_body_def"
      }
    },
    "misc_details_put_body_param": {
      "name": "misc_details",
      "in": "body",
      "description": "The candidate misc details object",
      "schema": {
        "$ref": "#/definitions/misc_details_put_body_def"
      }
    },
    "notifications_topic_filter": {
      "name": "topic",
      "description": "The topic, of the notification, to filter on",
      "in": "query",
      "type": "string",
      "required": false
    },
    "notifications_status_filter": {
      "name": "status",
      "description": "The status, of the notification, to filter on",
      "in": "query",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "sent",
          "error"
        ]
      }
    },
    "next_of_kin_input_body_param": {
      "name": "next_of_kin",
      "in": "body",
      "description": "The candidate next of kin object",
      "schema": {
        "$ref": "#/definitions/next_of_kin_def"
      }
    },
    "next_of_kin_id": {
      "name": "next_of_kin_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The next of kin id",
      "type": "string"
    },
    "language_input_body_param": {
      "name": "language",
      "in": "body",
      "description": "The candidate language object",
      "schema": {
        "$ref": "#/definitions/language_def"
      }
    },
    "language_id": {
      "name": "language_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The language id",
      "type": "string"
    },
    "agency_contact_number_body_def": {
      "name": "agency_contact_number",
      "in": "body",
      "description": "The agency contact numbers object",
      "schema": {
        "$ref": "#/definitions/agency_contact_number_def"
      }
    },
    "contact_number_post_put_body_param": {
      "name": "contact_number",
      "in": "body",
      "description": "The candidate contact number object",
      "schema": {
        "$ref": "#/definitions/contact_number_def"
      }
    },
    "contact_number_id": {
      "name": "contact_number_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The contact number id",
      "type": "string"
    },
    "subscription_id": {
      "name": "subscription_id",
      "in": "path",
      "description": "the subscription id",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "agency_group_id": {
      "name": "agency_group_id",
      "in": "path",
      "description": "The id of the Agency Group",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "agency_group_id_for_registration": {
      "name": "agency_group_id",
      "in": "path",
      "description": "The id of the Agency Group",
      "required": true,
      "type": "string"
    },
    "plugin_id": {
      "name": "plugin_id",
      "in": "path",
      "description": "The id of the plugin",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "agency_id": {
      "name": "agency_id",
      "in": "path",
      "description": "The id of Agency",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "policy_type_id": {
      "name": "policy_type_id",
      "in": "path",
      "description": "The id that will identify the policy type REST resource",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "resource_type": {
      "name": "resource_type",
      "in": "path",
      "description": "The type of the resource",
      "required": true,
      "type": "string",
      "enum": [
        "agency-group",
        "staffshift"
      ]
    },
    "resource_id": {
      "name": "resource_id",
      "in": "path",
      "description": "The id that will identify the REST resource",
      "required": true,
      "type": "string",
      "minLength": 3
    },
    "policy_id": {
      "name": "policy_id",
      "in": "path",
      "description": "The id that will identify the policy REST resource",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "candidate_id": {
      "name": "candidate_id",
      "in": "path",
      "description": "The id that will identify the candidate resource",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "document_id": {
      "name": "document_id",
      "in": "path",
      "description": "The document id",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "hash_value": {
      "name": "hash_value",
      "in": "path",
      "required": true,
      "maxLength": 64,
      "description": "The hash value for the email",
      "type": "string"
    },
    "user_id": {
      "name": "user_id",
      "in": "path",
      "description": "The id that will identify the user resource",
      "required": true,
      "type": "string",
      "minLength": 3
    },
    "staffshift_user_id": {
      "name": "user_id",
      "in": "path",
      "description": "The id of the user",
      "required": true,
      "type": "string",
      "minLength": 3
    },
    "group_id": {
      "name": "group_id",
      "in": "path",
      "description": "The id of the agency group",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "acl_group_id": {
      "name": "acl_group_id",
      "in": "path",
      "description": "The id of the acl group",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "job_family_id": {
      "name": "job_family_id",
      "in": "path",
      "description": "The id of job family",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "version": {
      "name": "version",
      "in": "path",
      "description": "The version of the policy",
      "required": true,
      "type": "integer"
    },
    "language_name": {
      "name": "name",
      "in": "query",
      "description": "The language name",
      "required": false,
      "type": "string"
    },
    "language_code": {
      "name": "code",
      "in": "query",
      "description": "The language code",
      "required": false,
      "type": "string"
    },
    "latest_version": {
      "name": "version",
      "in": "path",
      "description": "The version of the policy",
      "required": true,
      "type": "string",
      "pattern": "(^latest$)|(^\\d*$)"
    },
    "notification_id": {
      "name": "notification_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The notification id",
      "type": "string"
    },
    "employment_id": {
      "name": "employment_id",
      "in": "path",
      "description": "The id that will identify the employment resource",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "skill_id": {
      "name": "skill_id",
      "in": "path",
      "description": "The id that will identify the skill resource",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "activity_type_id": {
      "name": "activity_type_id",
      "in": "path",
      "description": "The activity type id",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "sShiftId_required": {
      "name": "sShiftId",
      "in": "query",
      "description": "The shift id that will be used to download the document",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "sName_query_string": {
      "name": "sName",
      "in": "query",
      "description": "The acl group name",
      "required": false,
      "type": "string",
      "minLength": 3,
      "maxLength": 50
    },
    "sRoleId_query_string": {
      "name": "sRoleId",
      "in": "query",
      "description": "The role id",
      "required": false,
      "type": "string",
      "enum": [
        "owner",
        "admin",
        "booker",
        "reporter",
        "manager",
        "account",
        "candidate",
        "vacancy_manager",
        "compliance",
        "data_processor"
      ]
    },
    "bSystemGroup_query_string": {
      "name": "bSystemGroup",
      "in": "query",
      "description": "The system group",
      "required": false,
      "type": "boolean"
    },
    "acl_groups_sort_by_query_string": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma separated list of fields indicating sort order `id`, `sName`, a negative sign reverses direction `-id`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "id",
          "-id",
          "sName",
          "-sName",
          "bSystemGroup",
          "-bSystemGroup",
          "sRoleId",
          "-sRoleId"
        ]
      }
    },
    "acl_groups_userdetails_sort_by_query_string": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma separated list of fields indicating sort order `id`, `sName`, a negative sign reverses direction `-id`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "sFirstName",
          "-sFirstName",
          "sLastName",
          "-sLastName",
          "sUsername",
          "-sUsername",
          "id",
          "-id"
        ]
      }
    },
    "sFirstName_query_string": {
      "name": "sFirstName",
      "in": "query",
      "description": "The user's first name",
      "required": false,
      "type": "string"
    },
    "sLastName_query_string": {
      "name": "sLastName",
      "in": "query",
      "description": "The user's last name",
      "required": false,
      "type": "string"
    },
    "sEmailAddress_query_string": {
      "name": "sEmailAddress",
      "in": "query",
      "description": "The user's email address",
      "required": false,
      "type": "string"
    },
    "sStatus_query_string": {
      "name": "sStatus",
      "in": "query",
      "description": "The user's status",
      "required": false,
      "type": "string",
      "enum": [
        "active",
        "inactive",
        "awaiting_verification"
      ]
    },
    "sUsername_query_string": {
      "name": "sUsername",
      "in": "query",
      "description": "The user name",
      "required": false,
      "type": "string"
    },
    "dDateOfBirth_query_string": {
      "name": "dDateOfBirth",
      "in": "query",
      "description": "User's date of birth",
      "required": false,
      "type": "string",
      "format": "date"
    },
    "sAgencyGroupUserStatus_query_string": {
      "name": "sAgencyGroupUserStatus",
      "x-downstream-name": "arrAgencyGroups_sStatus",
      "in": "query",
      "description": "The agency group user status",
      "required": false,
      "type": "string"
    },
    "sAgencyUserStatus_query_string": {
      "name": "sAgencyUserStatus",
      "x-downstream-name": "arrLinkedAgencies_sStatus",
      "in": "query",
      "description": "The agency user status",
      "required": false,
      "type": "string"
    },
    "users_sort_by_query_string": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma separated list of fields indicating sort order `id`, `dtStart`, a negative sign reverses direction `-id`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "id",
          "-id",
          "sFirstName",
          "-sFirstName",
          "sLastName",
          "-sLastName",
          "sEmailAddress",
          "-sEmailAddress",
          "dtCreated",
          "-dtCreated",
          "dtModified",
          "-dtModified",
          "sStatus",
          "-sStatus",
          "sUsername",
          "-sUsername"
        ]
      }
    },
    "q_query_string": {
      "name": "q",
      "in": "query",
      "description": "The q parameter to search on first name, last name and username",
      "required": false,
      "type": "string"
    },
    "bExtraData_query_string": {
      "name": "bExtraData",
      "in": "query",
      "description": "Whether additional properties are to be returned if they exist, or not",
      "required": false,
      "type": "boolean"
    },
    "sStaffingOrderId_query_string": {
      "name": "sStaffingOrderId",
      "in": "query",
      "description": "The staffing order id",
      "required": false,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "sJobTitleName_query_string": {
      "name": "sJobTitleName",
      "in": "query",
      "description": "The job title name",
      "required": false,
      "type": "string"
    },
    "sSiteName_query_string": {
      "name": "sSiteName",
      "in": "query",
      "description": "The site name",
      "required": false,
      "type": "string"
    },
    "sSiteId_query_string": {
      "name": "sSiteId",
      "in": "query",
      "description": "The site id",
      "required": false,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "sWardName_query_string": {
      "name": "sWardName",
      "in": "query",
      "description": "The ward name",
      "required": false,
      "type": "string"
    },
    "sWardId_query_string": {
      "name": "sWardId",
      "in": "query",
      "description": "The ward id",
      "required": false,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "dtStart_query_string": {
      "name": "dtStart",
      "in": "query",
      "description": "The starting date of the shift",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "dtStart_from_query_string": {
      "name": "from-dtStart",
      "in": "query",
      "description": "The from date for dtStart, inclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "dtStart_to_query_string": {
      "name": "to-dtStart",
      "in": "query",
      "description": "The to date for dtStart, exclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "dtEnd_query_string": {
      "name": "dtEnd",
      "in": "query",
      "description": "The ending date of the shift",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "dtEnd_from_query_string": {
      "name": "from-dtEnd",
      "in": "query",
      "description": "The from date for dtEnd, inclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "dtEnd_to_query_string": {
      "name": "to-dtEnd",
      "in": "query",
      "description": "TThe to date for dtEnd, exclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "sBookedCandidateName_query_string": {
      "name": "sBookedCandidateName",
      "in": "query",
      "description": "The booked candidate's name",
      "required": false,
      "type": "string"
    },
    "sBookedCandidateId_query_string": {
      "name": "sBookedCandidateId",
      "in": "query",
      "description": "The booked candidate id",
      "required": false,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "sBookedAgencyId_query_string": {
      "name": "sBookedAgencyId",
      "in": "query",
      "description": "The booked agency id",
      "required": false,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "sBookedAgencyName_query_string": {
      "name": "sBookedAgencyName",
      "in": "query",
      "description": "The booked agency's name",
      "required": false,
      "type": "string"
    },
    "candidate_booked_shifts_sort_by_query_string": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma separated list of fields indicating sort order `id`, `dtStart`, a negative sign reverses direction `-id`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "id",
          "-id",
          "dtStart",
          "-dtStart",
          "dtEnd",
          "-dtEnd",
          "sBookedCandidateId",
          "-sBookedCandidateId",
          "sBookedCandidateName",
          "-sBookedCandidateName",
          "sBookedAgencyId",
          "-sBookedAgencyId",
          "sBookedAgencyName",
          "-sBookedAgencyName",
          "sSiteId",
          "-sSiteId",
          "sSiteName",
          "-sSiteName",
          "sStaffingOrderId",
          "-sStaffingOrderId",
          "sTimeSheetId",
          "-sTimeSheetId",
          "sWardName",
          "-sWardName",
          "sWardId",
          "-sWardId",
          "sJobTitleName",
          "-sJobTitleName"
        ]
      }
    },
    "sUserId_query_string": {
      "name": "sUserId",
      "in": "query",
      "description": "the user id",
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "sIntegration_query_string": {
      "name": "sIntegration",
      "in": "query",
      "description": "the user integration",
      "type": "string",
      "enum": [
        "intercom"
      ]
    },
    "sIntegrationType_query_string": {
      "name": "sIntegrationType",
      "in": "query",
      "description": "the user integration type",
      "type": "string",
      "enum": [
        "web",
        "ios",
        "android"
      ]
    },
    "sIntegrationAppId_query_string": {
      "name": "sIntegrationAppId",
      "in": "query",
      "description": "the user integration app id",
      "type": "string"
    },
    "sToken_query_string": {
      "name": "sToken",
      "in": "query",
      "description": "the user token",
      "type": "string"
    },
    "user_integrations_sort_by_query_string": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma separated list of fields indicating sort order `id`, `sToken`, a negative sign reverses direction `-id`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "id",
          "-id",
          "sIntegration",
          "-sIntegration",
          "sIntegrationType",
          "-sIntegrationType",
          "sIntegrationAppId",
          "-sIntegrationAppId",
          "sToken",
          "-sToken"
        ]
      }
    },
    "sEarly_query_string": {
      "name": "sEarly",
      "in": "query",
      "description": "The early block of a candidates availability",
      "required": false,
      "type": "string",
      "enum": [
        "Available",
        "Unavailable",
        "Unknown",
        "Booked"
      ]
    },
    "sLate_query_string": {
      "name": "sLate",
      "in": "query",
      "description": "The late block of a candidates availability",
      "required": false,
      "type": "string",
      "enum": [
        "Available",
        "Unavailable",
        "Unknown",
        "Booked"
      ]
    },
    "sNight_query_string": {
      "name": "sNight",
      "in": "query",
      "description": "The night block of a candidates availability",
      "required": false,
      "type": "string",
      "enum": [
        "Available",
        "Unavailable",
        "Unknown",
        "Booked"
      ]
    },
    "dAvailabilityDate_from_query_string": {
      "name": "from-dAvailabilityDate",
      "in": "query",
      "description": "The from date for dAvailabilityDate, inclusive",
      "required": false,
      "type": "string",
      "format": "date"
    },
    "dAvailabilityDate_query_string": {
      "name": "dAvailabilityDate",
      "in": "query",
      "description": "The actual date for dAvailabilityDate",
      "required": false,
      "type": "string",
      "format": "date"
    },
    "dAvailabilityDate_to_query_string": {
      "name": "to-dAvailabilityDate",
      "in": "query",
      "description": "The to date for dAvailabilityDate, exclusive",
      "required": false,
      "type": "string",
      "format": "date"
    },
    "candidate_availability_sort_by_query_string": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma seperated list of fields indicating sort order `dtModified`, `dtCreated`, a negative sign reverses direction `-dtModified`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "id",
          "-id",
          "dtCreated",
          "-dtCreated",
          "dtModified",
          "-dtModified",
          "dAvailabilityDate",
          "-dAvailabilityDate",
          "sEarly",
          "-sEarly",
          "sLate",
          "-sLate",
          "sNight",
          "-sNight"
        ]
      }
    },
    "job_family_sort_query_string": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma separated list of fields indicating sort order `sJobFamilyName`, a negative sign reverses direction `-sJobFamilyName`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "id",
          "-id",
          "sJobFamilyName",
          "-sJobFamilyName"
        ]
      }
    },
    "job_title_sort_query_string": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma separated list of fields indicating sort order `sJobFamilyId`, a negative sign reverses direction `-sJobFamilyId`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "id",
          "-id",
          "sJobFamilyId",
          "-sJobFamilyId",
          "sShortTitleName",
          "-sShortTitleName",
          "sTitleName",
          "-sTitleName"
        ]
      }
    },
    "created_at_from_query_string": {
      "name": "created_at_from",
      "in": "query",
      "description": "The starting value of the date something was created at, inclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "created_at_query_string": {
      "name": "created_at",
      "in": "query",
      "description": "The date something was created at",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "created_at_to_query_string": {
      "name": "created_at_to",
      "in": "query",
      "description": "The ending value of the date something was created at, exclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "actioned_at_from_query_string": {
      "name": "actioned_at_from",
      "in": "query",
      "description": "The starting value of the date something was actioned at, inclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "actioned_at_query_string": {
      "name": "actioned_at",
      "in": "query",
      "description": "The date something was actioned at",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "actioned_at_to_query_string": {
      "name": "actioned_at_to",
      "in": "query",
      "description": "The ending value of the date something was actioned at, exclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "resource_type_query_string": {
      "name": "resource_type",
      "in": "query",
      "description": "The resource type the actions are for",
      "required": false,
      "type": "string",
      "enum": [
        "candidate"
      ]
    },
    "resource_id_query_string": {
      "name": "resource_id",
      "in": "query",
      "description": "The resource id the actions are for",
      "required": false,
      "type": "string"
    },
    "action_type_query_string": {
      "name": "action_type",
      "in": "query",
      "description": "The action that has taken place",
      "required": false,
      "type": "string",
      "enum": [
        "acknowledged"
      ]
    },
    "active_query_string": {
      "name": "active",
      "in": "query",
      "description": "Flag used for filtering only active items",
      "required": false,
      "type": "boolean"
    },
    "action_query_string": {
      "name": "action",
      "in": "query",
      "description": "The action that has / has not been applied",
      "required": false,
      "type": "string",
      "enum": [
        "acknowledged",
        "not_acknowledged"
      ]
    },
    "latest_only_query_string": {
      "name": "latest_only",
      "in": "query",
      "description": "When only the latest version of something should be considered",
      "required": false,
      "type": "boolean"
    },
    "policy_type_id_query_string": {
      "name": "policy_type_id",
      "in": "query",
      "description": "A single or comma separated list of policy type ids",
      "required": false,
      "type": "string",
      "pattern": "(^[0-9a-fA-F]{24}$)|(^([0-9a-fA-F]{24}[,])+[0-9a-fA-F]{24}$)"
    },
    "version_from_query_string": {
      "name": "version_from",
      "in": "query",
      "description": "The starting value of version, inclusive",
      "required": false,
      "type": "integer"
    },
    "version_query_string": {
      "name": "version",
      "in": "query",
      "description": "The exact value of the version",
      "required": false,
      "type": "integer"
    },
    "version_to_query_string": {
      "name": "version_to",
      "in": "query",
      "description": "The end value of version, exclusive",
      "required": false,
      "type": "integer"
    },
    "policy_effective_at_from_query_string": {
      "name": "policy_effective_at_from",
      "in": "query",
      "description": "The starting value of the date something became effective at, inclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "policy_effective_at_query_string": {
      "name": "policy_effective_at",
      "in": "query",
      "description": "The date something became effective at",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "policy_effective_at_to_query_string": {
      "name": "policy_effective_at_to",
      "in": "query",
      "description": "The ending value of the date something became effective at, exclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "sJobFamilyName_query_string": {
      "name": "sJobFamilyName",
      "in": "query",
      "description": "The job family name",
      "required": false,
      "type": "string"
    },
    "sJobFamilyId_query_string": {
      "name": "sJobFamilyId",
      "in": "query",
      "description": "The job family id",
      "required": false,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "sTitleName_query_string": {
      "name": "sTitleName",
      "in": "query",
      "description": "The title name",
      "required": false,
      "type": "string"
    },
    "resource_policy_sort_by_query_string": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma seperated list of fields indicating sort order `_id`, a negative sign reverses direction `-_id`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "_id",
          "-_id",
          "updated_at",
          "-updated_at",
          "created_at",
          "-created_at",
          "policy_type_title",
          "-policy_type_title",
          "resource_id",
          "-resource_id",
          "policy_type_id",
          "-policy_type_id"
        ]
      }
    },
    "sOrganisationName_query_string": {
      "name": "sOrganisationName",
      "in": "query",
      "description": "The organisation name",
      "required": false,
      "type": "string"
    },
    "sSiteAddress_query_string": {
      "name": "sSiteAddress",
      "in": "query",
      "description": "The site address combination of address 1 & 2",
      "required": false,
      "type": "string"
    },
    "sSiteProvince_query_string": {
      "name": "sSiteProvince",
      "in": "query",
      "description": "The site province",
      "required": false,
      "type": "string"
    },
    "sSitePostCode_query_string": {
      "name": "sSitePostCode",
      "in": "query",
      "description": "The site postcode",
      "required": false,
      "type": "string"
    },
    "bAgencyLinked_query_string": {
      "name": "bAgencyLinked",
      "in": "query",
      "description": "If the agency is linked or not",
      "required": false,
      "type": "boolean"
    },
    "agency_site_sort_query_string": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma separated list of fields indicating sort order `sOrganisationName`, a negative sign reverses direction `-sOrganisationName`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "sOrganisationName",
          "-sOrganisationName",
          "sSiteName",
          "-sSiteName",
          "sSiteTypeName",
          "-sSiteTypeName"
        ]
      }
    },
    "classification": {
      "name": "classification",
      "in": "query",
      "description": "Query for the policy classification",
      "required": false,
      "type": "string",
      "enum": [
        "viewable",
        "acknowledgeable"
      ]
    },
    "single_mongo_id_query_string": {
      "name": "id",
      "in": "query",
      "description": "A single mongo id",
      "required": false,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "dtModified_from_query_string": {
      "name": "from-dtModified",
      "in": "query",
      "description": "The from date time for dtModified, inclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "dtModified_query_string": {
      "name": "dtModified",
      "in": "query",
      "description": "The actual date time for dtModified",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "dtModified_to_query_string": {
      "name": "to-dtModified",
      "in": "query",
      "description": "The to date time for dtModified, exclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "dtCreated_from_query_string": {
      "name": "from-dtCreated",
      "in": "query",
      "description": "The from date time for dtCreated, inclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "dtCreated_query_string": {
      "name": "dtCreated",
      "in": "query",
      "description": "The actual date time for dtCreated",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "dtCreated_to_query_string": {
      "name": "to-dtCreated",
      "in": "query",
      "description": "The to date time for dtCreated, exclusive",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "page": {
      "name": "page",
      "in": "query",
      "description": "The page of documents to be displayed",
      "required": false,
      "type": "integer",
      "default": 1,
      "minimum": 1
    },
    "per_page": {
      "name": "items_per_page",
      "in": "query",
      "description": "The number of documents per page",
      "required": false,
      "type": "integer",
      "default": 25,
      "minimum": 1
    },
    "policy_action_sort_by_query_string": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma seperated list of fields indicating sort order `created_at`, `actioned_at`, a negative sign reverses direction `-created_at`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "created_at",
          "-created_at",
          "actioned_at",
          "-actioned_at"
        ]
      }
    },
    "policy_sort_by_query_string": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma seperated list of fields indicating sort order `version`, a negative sign reverses direction `-version`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "version",
          "-version"
        ]
      }
    },
    "x_cloudscheduler": {
      "name": "X-CloudScheduler",
      "in": "header",
      "description": "Header to indicate the request is from CloudScheduler",
      "required": false,
      "type": "string",
      "format": "string"
    },
    "x_cloudscheduler_scheduletime": {
      "name": "X-CloudScheduler-ScheduleTime",
      "in": "header",
      "description": "Header to indicate the schedule time of the request",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "x_cloudscheduler_jobname": {
      "name": "X-CloudScheduler-Jobname",
      "in": "header",
      "description": "Header to indicate the job name of the request",
      "required": false,
      "type": "string",
      "format": "string"
    },
    "x_atlas_search": {
      "name": "X-Atlas-Search",
      "in": "header",
      "description": "When true, the advanced search will be performed using Atlas Search",
      "type": "boolean",
      "default": true
    },
    "authorization": {
      "name": "Authorization",
      "in": "header",
      "description": "OAuth Bearer token",
      "required": true,
      "pattern": "^Bearer *",
      "type": "string",
      "format": "string"
    },
    "context": {
      "name": "Context",
      "in": "header",
      "description": "The executing context",
      "required": true,
      "type": "string",
      "format": "string"
    },
    "iso_format": {
      "name": "X-Accept-Date-ISO",
      "in": "header",
      "description": "Header indicating an ISO8601 date / date-time format",
      "required": false,
      "type": "string",
      "enum": [
        "on"
      ]
    },
    "triage_accept": {
      "name": "Accept",
      "in": "header",
      "description": "Advertises which content types the client understands",
      "required": true,
      "type": "string",
      "enum": [
        "application/json"
      ]
    },
    "pdf_accept": {
      "name": "Accept",
      "in": "header",
      "description": "Advertises which content types the client understands",
      "required": true,
      "type": "string",
      "enum": [
        "application/pdf"
      ]
    },
    "timezone": {
      "name": "X-Accept-Timezone",
      "in": "header",
      "description": "The timezone the content will be displayed in",
      "required": false,
      "type": "string"
    },
    "x_request_result_count": {
      "name": "X-Accept-Result-Count",
      "in": "header",
      "description": "Header to allow switching result count response on or off",
      "type": "boolean",
      "default": true
    },
    "x_request_result_count_limit": {
      "name": "X-Accept-Result-Count-Limit",
      "in": "header",
      "description": "Allows API to determine how many docs should be counted, default value will not limit the count",
      "type": "integer",
      "default": 0,
      "minimum": 0
    },
    "other_names_put_body_param": {
      "name": "other_names",
      "in": "body",
      "description": "The candidate other names object",
      "schema": {
        "$ref": "#/definitions/other_names_put_body_def"
      }
    },
    "policy_type_classification": {
      "name": "policy_type_classification",
      "in": "query",
      "description": "The policy classification for filter",
      "required": false,
      "type": "string",
      "enum": [
        "viewable",
        "acknowledgeable"
      ]
    },
    "policy_type_title": {
      "name": "policy_type_title",
      "in": "query",
      "description": "The title of the policy filter",
      "required": false,
      "type": "string"
    },
    "policy_type_description": {
      "name": "policy_type_description",
      "in": "query",
      "description": "The policy description",
      "required": false,
      "type": "string"
    },
    "candidate_type_id_filter": {
      "name": "_id",
      "in": "query",
      "description": "The id of the candidate type to be retrieved",
      "required": false,
      "type": "string"
    },
    "candidate_type_name_filter": {
      "name": "name",
      "in": "query",
      "description": "The name of type to be retrieved",
      "required": false,
      "type": "string"
    },
    "candidate_type_country_filter": {
      "name": "country",
      "in": "query",
      "description": "The name of country to be retrieved",
      "required": false,
      "type": "string"
    },
    "candidate_type_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `name`, `-name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "_id",
          "-_id",
          "name",
          "-name",
          "country",
          "-country"
        ]
      }
    },
    "candidate_address_detail_post_put_body_param": {
      "name": "address_details_item",
      "in": "body",
      "description": "The candidate address detail item",
      "schema": {
        "$ref": "#/definitions/candidate_address_item_def"
      }
    },
    "address_details_id": {
      "name": "address_details_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The address details entry id",
      "type": "string"
    },
    "staffshift_id": {
      "name": "staffshift_id",
      "in": "path",
      "description": "The staffshift id for policy type",
      "required": true,
      "type": "string",
      "enum": [
        "web"
      ]
    },
    "vanity_name": {
      "name": "vanity_name",
      "in": "path",
      "description": "The name to use to look up the id",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-zA-Z]+$",
      "minLength": 3,
      "maxLength": 50
    },
    "email_id": {
      "name": "email_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The email id",
      "type": "string"
    },
    "add_candidate_email_body_param": {
      "name": "candidate_email_address",
      "in": "body",
      "required": true,
      "description": "The candidate email address object",
      "schema": {
        "$ref": "#/definitions/candidate_email_address_def"
      }
    },
    "candidate_email_action_body_param": {
      "name": "action",
      "in": "body",
      "required": true,
      "description": "The action to be taken",
      "schema": {
        "$ref": "#/definitions/candidate_email_action_body_def"
      }
    },
    "agency_group_candidate_current_status_put_body_param": {
      "name": "agency_group_candidate_current_status",
      "in": "body",
      "required": true,
      "description": "The agency group candidate current status action object",
      "schema": {
        "$ref": "#/definitions/agency_group_candidate_current_status_def"
      }
    },
    "status_filter": {
      "name": "status",
      "in": "query",
      "description": "Filter the status of the agency candidate",
      "required": false,
      "type": "string"
    },
    "changed_by_name_filter": {
      "name": "changed_by_name",
      "in": "query",
      "description": "Filter the name of user who changed the status of the agency candidate",
      "required": false,
      "type": "string"
    },
    "reason_filter": {
      "name": "reason",
      "in": "query",
      "description": "Filter the reason of the status for the agency group/agency candidate",
      "required": false,
      "type": "string"
    },
    "candidate_status_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `status`, `-status` and `changed_at`, `-changed_at`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "status",
          "-status",
          "changed_at",
          "-changed_at",
          "reason",
          "-reason"
        ]
      }
    },
    "status_id": {
      "name": "status_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The status id",
      "type": "string"
    },
    "reason_id": {
      "name": "reason_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The reason id",
      "type": "string"
    },
    "status_name_filter": {
      "name": "name",
      "description": "The name property of record",
      "in": "query",
      "type": "string",
      "required": false
    },
    "status_disabled_filter": {
      "name": "disabled",
      "description": "The disabled property of record",
      "in": "query",
      "type": "boolean",
      "required": false
    },
    "agency_group_status_reason_sort_by_query": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma separated list of fields indicating sort order `name`, a negative sign reverses direction `-name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "-name",
          "disabled",
          "-disabled"
        ]
      }
    },
    "agency_group_status_reason_body_param": {
      "name": "agency_group_status_reason_body",
      "in": "body",
      "required": true,
      "description": "The agency group status reason body payload",
      "schema": {
        "$ref": "#/definitions/agency_group_status_reason_body_def"
      }
    },
    "agency_group_status_sort_by_query": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma separated list of fields indicating sort order `_id`, a negative sign reverses direction `-_id`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "_id",
          "-_id",
          "name",
          "-name",
          "disabled",
          "-disabled",
          "order",
          "-order"
        ]
      }
    },
    "status_id_filter": {
      "name": "_id",
      "description": "The id of the status record",
      "in": "query",
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$",
      "required": false
    },
    "agency_group_status_body_param": {
      "name": "agency_group_status_body",
      "in": "body",
      "required": true,
      "description": "The agency group status body payload",
      "schema": {
        "$ref": "#/definitions/agency_group_status_body_def"
      }
    },
    "consultant_role_id": {
      "name": "consultant_role_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The record id of consultant role",
      "type": "string"
    },
    "agency_group_consultant_body": {
      "name": "agency_group_consultant",
      "in": "body",
      "required": true,
      "description": "The agency group consultant body payload",
      "schema": {
        "$ref": "#/definitions/agency_group_consultant_body_def"
      }
    },
    "agency_group_candidate_consultant_body_param": {
      "name": "agency_group_candidate_consultant",
      "in": "body",
      "required": true,
      "description": "The agency group candidate consultant action object",
      "schema": {
        "$ref": "#/definitions/agency_group_candidate_consultant_def"
      }
    },
    "consultant_id": {
      "name": "consultant_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The consultant id",
      "type": "string"
    },
    "message_id": {
      "name": "message_id",
      "in": "path",
      "description": "The id of the message",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "activity_id": {
      "name": "activity_id",
      "in": "path",
      "description": "The activity id",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "candidate_notification_id": {
      "name": "candidate_notification_id",
      "in": "path",
      "description": "The candidate notification id",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "consultant_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `consultant_role`, `-consultant_role`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "consultant_role",
          "-consultant_role",
          "assigned_user_id",
          "-assigned_user_id",
          "assigned_user_name",
          "-assigned_user_name"
        ]
      }
    },
    "consultant_role_filter": {
      "name": "consultant_role",
      "in": "query",
      "description": "Filter with the consultant_role of the agency group candidate",
      "required": false,
      "type": "string"
    },
    "assigned_user_id_filter": {
      "name": "assigned_user_id",
      "in": "query",
      "description": "Filter with the assigned user id",
      "required": false,
      "type": "string"
    },
    "assigned_user_name_filter": {
      "name": "assigned_user_name",
      "in": "query",
      "description": "Filter with the assigned user name",
      "required": false,
      "type": "string"
    },
    "agency_group_candidate_additional_note_body_param": {
      "name": "additional_note",
      "in": "body",
      "required": true,
      "description": "The agency group candidate additional note object",
      "schema": {
        "$ref": "#/definitions/agency_group_candidate_additional_note_def"
      }
    },
    "agency_group_candidate_activity_body_param": {
      "name": "activity_body",
      "in": "body",
      "required": true,
      "description": "The agency group candidate activity payload",
      "schema": {
        "$ref": "#/definitions/candidate_activity_body_param_def"
      }
    },
    "activity_sort_by_query": {
      "name": "sortBy",
      "description": "A comma separated list of fields indicating sort order `activity_type`, a negative sign reverses direction `-activity_type`",
      "required": false,
      "in": "query",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "activity_type",
          "created_by_user",
          "created_by_user_name",
          "activity_date",
          "-activity_type",
          "-created_by_user",
          "-created_by_user_name",
          "-activity_date"
        ]
      }
    },
    "activity_type_filter": {
      "name": "activity_type",
      "description": "Filter based on activity type",
      "in": "query",
      "required": false,
      "type": "array",
      "uniqueItems": true,
      "items": {
        "type": "string"
      }
    },
    "agency_candidate_activity_body_param": {
      "name": "activity_body",
      "in": "body",
      "required": true,
      "description": "The agency candidate activity payload",
      "schema": {
        "$ref": "#/definitions/agency_candidate_activity_body_param_def"
      }
    },
    "notification_activity_type_filter": {
      "name": "activity_type",
      "description": "Filter notification types based on the activity type of the notification type",
      "in": "query",
      "type": "string",
      "required": false
    },
    "activity_created_by_user_filter": {
      "name": "created_by_user",
      "description": "Filter activities based on the ID of user that created the activity",
      "in": "query",
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$",
      "required": false
    },
    "activity_created_by_user_name_filter": {
      "name": "created_by_user_name",
      "description": "Filter activities based on the name of the user that created the activity",
      "in": "query",
      "type": "string",
      "required": false
    },
    "activity_date_filter_from_query_string": {
      "name": "activity_date_at_from",
      "in": "query",
      "description": "Activity from date",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "activity_date_filter_to_query_string": {
      "name": "activity_date_at_to",
      "in": "query",
      "description": "Activity to date",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "agency_status_sort_by_query": {
      "name": "sortBy",
      "in": "query",
      "description": "A comma separated list of fields indicating sort order `_id`, a negative sign reverses direction `-_id`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "_id",
          "-_id",
          "name",
          "-name",
          "disabled",
          "-disabled",
          "order",
          "-order"
        ]
      }
    },
    "agency_group_candidate_meta_upset_param": {
      "name": "meta_data",
      "in": "body",
      "description": "The agency group candidate meta object",
      "schema": {
        "$ref": "#/definitions/agency_group_candidate_meta_upsert_def"
      }
    },
    "agency_group_candidate_status_history_body_param": {
      "name": "agency_group_candidate_status_history",
      "in": "body",
      "required": true,
      "description": "The agency group candidate status history action object",
      "schema": {
        "$ref": "#/definitions/agency_group_candidate_historical_status_def"
      }
    },
    "bulk_agency_group_candidate_consultant_body_param": {
      "name": "body_param",
      "in": "body",
      "required": true,
      "description": "The payload to bulk upsert agency group candidate consultant",
      "schema": {
        "$ref": "#/definitions/bulk_agency_group_candidate_consultant_def"
      }
    },
    "profile_settings_param": {
      "name": "profile_settings_param",
      "in": "body",
      "required": true,
      "description": "The payload to insert or update candidate profile settings",
      "schema": {
        "$ref": "#/definitions/profile_settings_def"
      }
    },
    "candidate_profile_settings_param": {
      "name": "profile_settings_param",
      "in": "body",
      "required": true,
      "description": "The payload to insert or update candidate profile settings",
      "schema": {
        "$ref": "#/definitions/candidate_profile_settings_def"
      }
    },
    "agency_group_profile_settings_param": {
      "name": "profile_settings_param",
      "in": "body",
      "required": true,
      "description": "The payload to insert or update candidate profile settings",
      "schema": {
        "$ref": "#/definitions/agency_group_profile_settings_def"
      }
    },
    "document_id_filter": {
      "name": "_id",
      "in": "query",
      "description": "Filter on the document id of the record",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-fA-F]{24}$"
      }
    },
    "document_file_name_filter": {
      "name": "name",
      "in": "query",
      "description": "Filter on the given file name",
      "required": false,
      "type": "string"
    },
    "document_status_filter": {
      "name": "status",
      "in": "query",
      "description": "Filter on document status",
      "required": false,
      "type": "string"
    },
    "document_uploaded_by_id_filter": {
      "name": "uploaded_by_id",
      "in": "query",
      "description": "Filter on the id of the entity that uploaded the document",
      "required": false,
      "type": "string"
    },
    "document_uploaded_by_type_filter": {
      "name": "uploaded_by_type",
      "in": "query",
      "description": "Filter on the type of the entity that uploaded the document",
      "required": false,
      "type": "string"
    },
    "document_uploaded_by_name_filter": {
      "name": "uploaded_by_name",
      "in": "query",
      "description": "Filter on the name of the entity that uploaded the document",
      "required": false,
      "type": "string"
    },
    "system_document_type_id_filter": {
      "name": "system_document_type_id",
      "in": "query",
      "description": "Filter on the type of the id of the system document is linked to",
      "required": false,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "document_sort_by": {
      "name": "sortBy",
      "in": "query",
      "required": false,
      "description": "A comma separated list of fields indicating sort order `name`, a negative sign reverses direction `-name`",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "_id",
          "-_id",
          "name",
          "-name",
          "status",
          "-status",
          "uploaded_by_id",
          "-uploaded_by_id",
          "uploaded_by_type",
          "-uploaded_by_type",
          "uploaded_by_name",
          "-uploaded_by_name",
          "created_at",
          "-created_at",
          "system_document_type_id",
          "-system_document_type_id"
        ]
      }
    },
    "document_input_body_param": {
      "name": "candidate_document_input_body_param",
      "in": "body",
      "description": "The candidate document",
      "required": true,
      "schema": {
        "$ref": "#/definitions/document_input_body_param"
      }
    },
    "document_action_payload_param": {
      "name": "action_payload",
      "in": "body",
      "required": true,
      "description": "The document action payload object",
      "schema": {
        "$ref": "#/definitions/document_action_payload"
      }
    },
    "agency_group_document_type_input_body_param": {
      "name": "document_type",
      "in": "body",
      "required": true,
      "description": "The agency group document type payload object",
      "schema": {
        "$ref": "#/definitions/agency_group_document_type_body_def"
      }
    },
    "document_type_sorting_param": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `name`, `-name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "-name"
        ]
      }
    },
    "document_type_id": {
      "name": "document_type_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The document type id",
      "type": "string"
    },
    "system_document_type_input_body_param": {
      "name": "system_document_type",
      "in": "body",
      "description": "The system document type payload object",
      "required": true,
      "schema": {
        "$ref": "#/definitions/system_document_type_body_def"
      }
    },
    "document_type_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `name`, `-name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "-name"
        ]
      }
    },
    "agency_lookup_type": {
      "name": "agency_lookup_type",
      "in": "path",
      "description": "The type of the lookup",
      "required": true,
      "type": "string",
      "enum": [
        "candidate-profile-notifications",
        "external-document",
        "portfolio",
        "portfolio-consultant-type",
        "portfolio-consultant",
        "external-verification",
        "external-days-to-expiry",
        "event-types",
        "staffshift-document"
      ]
    },
    "lookup_type": {
      "name": "lookup_type",
      "in": "path",
      "description": "The type of the lookup",
      "required": true,
      "type": "string",
      "enum": [
        "mail-template",
        "external-document",
        "portfolio",
        "portfolio-consultant-type",
        "portfolio-consultant",
        "external-verification",
        "external-days-to-expiry",
        "candidate-profile-notifications",
        "event-types",
        "staffshift-document",
        "document-verifier-ai-models",
        "document-verifier-prompts"
      ]
    },
    "lookup_type_sort_by_query": {
      "name": "sortBy",
      "description": "A comma separated list of fields indicating sort order `name`, a negative sign reverses direction `-name`",
      "required": false,
      "in": "query",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "-name"
        ]
      }
    },
    "lookup_type_name_filter": {
      "name": "name",
      "description": "The name, of the lookup type, to filter on",
      "in": "query",
      "type": "string",
      "required": false
    },
    "lookup_type_id": {
      "name": "lookup_type_id",
      "in": "path",
      "description": "The look up type id",
      "required": true,
      "type": "string"
    },
    "lookup_type_body_param": {
      "name": "lookup",
      "in": "body",
      "description": "The lookup's details",
      "required": true,
      "schema": {
        "$ref": "#/definitions/lookup_name_parent"
      }
    },
    "category_filter": {
      "name": "category",
      "description": "The lookup type category to filter on",
      "in": "query",
      "type": "array",
      "items": {
        "type": "string",
        "minItems": 1
      },
      "uniqueItems": true,
      "required": false
    },
    "agency_group_candidate_widget_payload_param": {
      "name": "agency_group_candidate_widget",
      "in": "body",
      "description": "The agency group candidate widgets object",
      "required": true,
      "schema": {
        "$ref": "#/definitions/candidate_widgets_payload_def"
      }
    },
    "widget_id": {
      "name": "widget_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The widget id",
      "type": "string"
    },
    "widget_type_filter": {
      "name": "type",
      "in": "query",
      "description": "The widgets type filter",
      "required": false,
      "type": "string",
      "enum": [
        "welcome-widget"
      ]
    },
    "context_activity_type_sort_by_query": {
      "name": "sortBy",
      "description": "A comma separated list of fields indicating sort order `name`, a negative sign reverses direction `-name`",
      "required": false,
      "in": "query",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "code",
          "disabled",
          "order",
          "-name",
          "-code",
          "-disabled",
          "-order"
        ]
      }
    },
    "activity_type_name_filter": {
      "name": "name",
      "description": "Filter activity types based on the name of the activity type",
      "in": "query",
      "type": "string",
      "required": false
    },
    "activity_type_code_filter": {
      "name": "code",
      "description": "Filter activity types based on the code of the activity type",
      "in": "query",
      "type": "string",
      "required": false
    },
    "activity_type_disabled_filter": {
      "name": "disabled",
      "description": "Filter activity types based on whether it is disable or not",
      "in": "query",
      "type": "boolean",
      "required": false
    },
    "activity_type_context_filter": {
      "name": "context",
      "description": "Filter activity types based on context",
      "in": "query",
      "type": "string",
      "required": false
    },
    "activity_type_subject_type_filter": {
      "name": "subject_type",
      "description": "Filter activity type based on subject type",
      "in": "query",
      "type": "string",
      "required": false
    },
    "notification_type_sort_by_query": {
      "name": "sortBy",
      "description": "A comma separated list of fields indicating sort order `name`, a negative sign reverses direction `-name`",
      "required": false,
      "in": "query",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "activity_type",
          "mail_template",
          "notification_medium",
          "enabled",
          "automatic_notification",
          "-name",
          "-activity_type",
          "-mail_template",
          "-notification_medium",
          "-enabled",
          "-automatic_notification"
        ]
      }
    },
    "name_filter": {
      "name": "name",
      "description": "The name filter",
      "in": "query",
      "type": "string",
      "required": false
    },
    "mail_template_filter": {
      "name": "mail_template",
      "description": "Filter notification types based on the mail template of the notification type",
      "in": "query",
      "type": "string",
      "required": false
    },
    "notification_medium_filter": {
      "name": "notification_medium",
      "description": "Filter notification types based on notification_medium",
      "in": "query",
      "type": "string",
      "enum": [
        "mail"
      ],
      "required": false
    },
    "enabled_filter": {
      "name": "enabled",
      "description": "Filter notification types based on whether it is enabled or not",
      "in": "query",
      "type": "boolean",
      "required": false
    },
    "automatic_notification_filter": {
      "name": "automatic_notification",
      "description": "Filter notification types based on whether it is true or false",
      "in": "query",
      "type": "boolean",
      "required": false
    },
    "webhook_mailgun_body_param": {
      "name": "statusInformation",
      "in": "body",
      "description": "The webhook mailgun object",
      "schema": {
        "$ref": "#/definitions/webhook_mailgun_def"
      }
    },
    "employment_history_body_param": {
      "name": "employment_history_body_param",
      "in": "body",
      "description": "The employment history object param",
      "schema": {
        "$ref": "#/definitions/employment_history_body_model_def"
      }
    },
    "work_type_filter": {
      "name": "work_type",
      "in": "query",
      "description": "The work type to apply filter",
      "required": false,
      "type": "string",
      "enum": [
        "agency",
        "contract",
        "permanent",
        "self_employed",
        "unknown",
        "student_placement",
        "part_time",
        "not_employed",
        "student_full_time"
      ]
    },
    "employer_name_filter": {
      "name": "employer_name",
      "in": "query",
      "description": "The employer name to apply filter",
      "required": false,
      "type": "string"
    },
    "start_date_filter": {
      "name": "start_date",
      "in": "query",
      "description": "The start date to apply filter",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "end_date_filter": {
      "name": "end_date",
      "in": "query",
      "description": "The end date to apply filter",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "job_title_name_filter": {
      "name": "job_title_name",
      "in": "query",
      "description": "The job title name to apply filter",
      "required": false,
      "type": "string"
    },
    "employment_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `work_type`, `-work_type`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "work_type",
          "-work_type",
          "employer_name",
          "-employer_name",
          "start_date",
          "-start_date",
          "end_date",
          "-end_date",
          "job_title_name",
          "-job_title_name"
        ]
      }
    },
    "skills_input_body_param": {
      "name": "skills_body_param",
      "in": "body",
      "description": "The skills object param",
      "schema": {
        "$ref": "#/definitions/skills_payload_def"
      }
    },
    "skills_name_filter": {
      "name": "name",
      "in": "query",
      "description": "The skills name filter",
      "required": false,
      "type": "string"
    },
    "skills_status_filter": {
      "name": "status",
      "in": "query",
      "description": "The skills status filter",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "active",
          "inactive",
          "removed"
        ]
      },
      "default": [
        "active",
        "inactive"
      ]
    },
    "skills_position_types_filter": {
      "name": "position_types",
      "in": "query",
      "description": "The position types filter",
      "required": false,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "skills_sorting": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `name`, `-name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "-name"
        ]
      }
    },
    "skills_id_filter": {
      "name": "_id",
      "in": "query",
      "description": "The skills id filter",
      "type": "array",
      "required": false,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "pattern": "^[0-9a-fA-F]{24}$"
      }
    },
    "position_type_id": {
      "name": "position_type_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The position types id",
      "type": "string"
    },
    "position_types_country_code_filter": {
      "name": "country_code",
      "in": "query",
      "description": "The country code filter",
      "required": false,
      "type": "string"
    },
    "position_types_code_filter": {
      "name": "code",
      "in": "query",
      "description": "The code filter",
      "required": false,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "position_types_sorting": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `code`, `-code`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "code",
          "-code",
          "name",
          "-name"
        ]
      }
    },
    "industry_id_filter": {
      "name": "industry_id",
      "in": "query",
      "description": "The industry id filter",
      "required": false,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "country_code_filter": {
      "name": "country_code",
      "in": "query",
      "description": "The country code filter",
      "required": false,
      "type": "string"
    },
    "position_types_filter": {
      "name": "position_types",
      "in": "query",
      "description": "The position types filter",
      "required": false,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "job_family_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `name`, `-name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "-name",
          "_id",
          "-_id"
        ]
      }
    },
    "job_title_id": {
      "name": "job_title_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The job title id",
      "type": "string"
    },
    "job_family_id_filter": {
      "name": "job_family_id",
      "in": "query",
      "required": false,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The job family id filter",
      "type": "string"
    },
    "short_name_filter": {
      "name": "short_name",
      "in": "query",
      "description": "The short name filter",
      "required": false,
      "type": "string"
    },
    "entry_status_filter": {
      "name": "status",
      "in": "query",
      "description": "The status filter",
      "type": "string"
    },
    "job_family_name_filter": {
      "name": "job_family_name",
      "in": "query",
      "description": "The job family name filter",
      "required": false,
      "type": "string"
    },
    "job_title_disabled_filter": {
      "name": "disabled",
      "in": "query",
      "required": false,
      "description": "Filter on disabled",
      "type": "boolean"
    },
    "job_title_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `name`, `-name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "-name",
          "short_name",
          "-short_name",
          "_id",
          "-_id",
          "job_family_name",
          "-job_family_name"
        ]
      }
    },
    "skill_name_filter": {
      "name": "skill_name",
      "in": "query",
      "description": "The skill_name filter",
      "required": false,
      "type": "string"
    },
    "stated_duration_filter": {
      "name": "stated_duration",
      "in": "query",
      "description": "Filter on the skills stated duration",
      "required": false,
      "type": "integer"
    },
    "stated_status_filter": {
      "name": "stated_status",
      "in": "query",
      "description": "Filter on the skills stated status",
      "required": false,
      "type": "string"
    },
    "stated_skills_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `skill_name`, `-skill_name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "skill_name",
          "-skill_name"
        ]
      }
    },
    "computed_duration_filter": {
      "name": "computed_duration",
      "in": "query",
      "description": "Filter on the skills computed duration",
      "required": false,
      "type": "integer"
    },
    "computed_status_filter": {
      "name": "computed_status",
      "in": "query",
      "description": "Filter on the skills computed status",
      "required": false,
      "type": "string"
    },
    "agency_group_candidate_stated_skill_action_payload": {
      "name": "action_payload",
      "in": "body",
      "description": "The agency group candidate stated skill action payload",
      "required": true,
      "schema": {
        "$ref": "#/definitions/agency_group_candidate_stated_skill_action_payload_def"
      }
    },
    "position_type_name_update_body_param": {
      "name": "action_payload",
      "in": "body",
      "description": "The position types name update payload",
      "required": true,
      "schema": {
        "$ref": "#/definitions/position_type_name_update_body_def"
      }
    },
    "candidate_stated_skill_input_body_param": {
      "name": "candidate_stated_skill",
      "in": "body",
      "description": "The candidate skill object param",
      "schema": {
        "$ref": "#/definitions/candidate_stated_skill_payload_def"
      }
    },
    "position_types_exists_filter": {
      "name": "position_types_exists",
      "in": "query",
      "description": "The position types exists filter",
      "required": false,
      "type": "boolean"
    },
    "obtained_at_filter": {
      "name": "obtained_at",
      "in": "query",
      "description": "The obtained_at filter",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "expires_at_filter": {
      "name": "expires_at",
      "in": "query",
      "description": "The expires_at filter",
      "required": false,
      "type": "string",
      "format": "date-time"
    },
    "qualification_id_filter": {
      "name": "qualification_id",
      "in": "query",
      "required": false,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The qualification id filter",
      "type": "string"
    },
    "candidate_qualification_name_filter": {
      "name": "qualification_name",
      "in": "query",
      "description": "The qualification name filter",
      "required": false,
      "type": "string"
    },
    "institution_filter": {
      "name": "institution",
      "in": "query",
      "description": "The institution filter",
      "required": false,
      "type": "string"
    },
    "candidate_qualifications_status_filter": {
      "name": "status",
      "in": "query",
      "description": "The status filter",
      "required": false,
      "type": "string"
    },
    "candidate_qualification_sorting": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `status`, `-status`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "qualification_name",
          "-qualification_name",
          "status",
          "-status"
        ]
      }
    },
    "candidate_qualification_id": {
      "name": "candidate_qualification_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The candidate qualification id",
      "type": "string"
    },
    "candidate_qualifications_body_param": {
      "name": "candidate_qualifications",
      "in": "body",
      "description": "The candidate qualifications object param",
      "schema": {
        "$ref": "#/definitions/candidate_qualifications_payload_def"
      }
    },
    "candidate_qualifications_action_body_param": {
      "name": "qualification_action",
      "in": "body",
      "description": "The candidate qualification object param",
      "schema": {
        "$ref": "#/definitions/candidate_qualification_action_payload_def"
      }
    },
    "qualification_id": {
      "name": "qualification_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The qualification id",
      "type": "string"
    },
    "qualifications_body_param": {
      "name": "qualifications_body_param",
      "in": "body",
      "description": "The qualifications object param",
      "schema": {
        "$ref": "#/definitions/qualifications_payload_def"
      }
    },
    "qualification_name_filter": {
      "name": "name",
      "in": "query",
      "description": "The qualification name filter",
      "required": false,
      "type": "string"
    },
    "qualification_status_filter": {
      "name": "status",
      "in": "query",
      "description": "The status filter",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "active",
          "inactive",
          "removed"
        ]
      },
      "default": [
        "active",
        "inactive"
      ]
    },
    "qualification_sorting": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `code`, `-code`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "-name",
          "status",
          "-status"
        ]
      }
    },
    "qualifications_id_filter": {
      "name": "_id",
      "in": "query",
      "description": "The qualifications id filter",
      "type": "array",
      "required": false,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "pattern": "^[0-9a-fA-F]{24}$"
      }
    },
    "firebase_custom_token_body_param": {
      "name": "firebase_custom_token_body",
      "in": "body",
      "description": "The firebase custom token body payload",
      "schema": {
        "$ref": "#/definitions/firebase_custom_token_body_def"
      }
    },
    "registration_body_entry_input_body_param": {
      "name": "registration_body_entry_param",
      "in": "body",
      "required": true,
      "description": "The registration body entry object param",
      "schema": {
        "$ref": "#/definitions/registration_body_entry_payload_def"
      }
    },
    "registration_body_id": {
      "name": "registration_body_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The registration body id",
      "type": "string"
    },
    "entry_id": {
      "name": "entry_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The entry id",
      "type": "string"
    },
    "candidate_registration_body_id": {
      "name": "candidate_registration_body_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The candidate registration body id",
      "type": "string"
    },
    "candidate_registration_body_put_input_param": {
      "name": "candidate_registration_body_put_param",
      "in": "body",
      "required": true,
      "description": "The candidate registration body object param",
      "schema": {
        "$ref": "#/definitions/candidate_registration_body_put_payload_def"
      }
    },
    "agency_group_candidate_registration_body_put_input_param": {
      "name": "agency_group_candidate_registration_body_put_param",
      "in": "body",
      "required": true,
      "description": "The agency group candidate registration body object param",
      "schema": {
        "$ref": "#/definitions/agency_group_candidate_body_put_payload_def"
      }
    },
    "candidate_registration_body_input_param": {
      "name": "candidate_registration_body_param",
      "in": "body",
      "required": true,
      "description": "The candidate registration body object param",
      "schema": {
        "$ref": "#/definitions/candidate_registration_body_payload_def"
      }
    },
    "type_sort_by_query": {
      "name": "sortBy",
      "description": "A comma separated list of fields indicating sort order `type`, a negative sign reverses direction `-type`",
      "required": false,
      "in": "query",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "type",
          "-type"
        ]
      }
    },
    "type_filter": {
      "name": "type",
      "description": "Filter the agency contact numbers based on type",
      "in": "query",
      "required": false,
      "type": "string"
    },
    "registration_input_body_param": {
      "name": "registration_body_param",
      "in": "body",
      "required": true,
      "description": "The registration body object param",
      "schema": {
        "$ref": "#/definitions/registration_payload_def"
      }
    },
    "registration_body_status_filter": {
      "name": "status",
      "in": "query",
      "description": "The registration body status filter",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "active",
          "inactive",
          "removed"
        ]
      },
      "default": [
        "active",
        "inactive"
      ]
    },
    "registration_body_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `name`, `-name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "-name",
          "short_name",
          "-short_name",
          "status",
          "-status",
          "country_code",
          "-country_code"
        ]
      }
    },
    "registration_body_entry_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `name`, `-name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "-name",
          "short_name",
          "-short_name"
        ]
      }
    },
    "registration_body_entry_status_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `name`, `-name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "-name"
        ]
      }
    },
    "entry_status_id": {
      "name": "entry_status_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The entry status id",
      "type": "string"
    },
    "registration_body_entry_status_input_body_param": {
      "name": "registration_body_entry_status_param",
      "in": "body",
      "required": true,
      "description": "The registration body entry status object param",
      "schema": {
        "$ref": "#/definitions/registration_body_entry_status_payload_def"
      }
    },
    "registration_body_status_input_body_param": {
      "name": "registration_body_status_param",
      "in": "body",
      "required": true,
      "description": "The registration body status object param",
      "schema": {
        "$ref": "#/definitions/registration_body_status_payload_def"
      }
    },
    "registration_body_status_sort_param": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `name`, `-name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "-name"
        ]
      }
    },
    "registration_body_position_types_filter": {
      "name": "registration_body_position_types",
      "in": "query",
      "description": "The registration body position types filter",
      "required": false,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "registration_body_country_code_filter": {
      "name": "registration_body_country_code",
      "in": "query",
      "description": "The registration body country code filter",
      "required": false,
      "type": "string"
    },
    "candidate_registration_body_sort_param": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `registration_body_name`, `-registration_body_name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "registration_body_name",
          "-registration_body_name",
          "registration_body_short_name",
          "-registration_body_short_name"
        ]
      }
    },
    "agency_group_candidate_registration_body_entry_input_param": {
      "name": "registration_body_entry_payload",
      "in": "body",
      "required": true,
      "description": "The candidate registration body entry object param",
      "schema": {
        "$ref": "#/definitions/agency_group_candidate_registration_body_entry_payload_def"
      }
    },
    "candidate_entry_id": {
      "name": "candidate_entry_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The candidate entry id",
      "type": "string"
    },
    "candidate_employment_dismissal_body_param": {
      "name": "candidate_employment_dismissal",
      "in": "body",
      "description": "The candidate employment dismissal object param",
      "schema": {
        "$ref": "#/definitions/candidate_employment_dismissal_payload_def"
      }
    },
    "candidate_dismissal_id": {
      "name": "candidate_dismissal_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The candidate dismissal id",
      "type": "string"
    },
    "plugin_setting_request_body": {
      "name": "plugin_setting",
      "in": "body",
      "description": "The plugin setting details",
      "required": true,
      "schema": {
        "$ref": "#/definitions/plugin_setting_request"
      }
    },
    "system_activity_type_body_param": {
      "name": "activity_type_body",
      "in": "body",
      "required": true,
      "description": "System Activity type body param",
      "schema": {
        "$ref": "#/definitions/system_activity_type_body_param_def"
      }
    },
    "notification_type_id": {
      "name": "notification_type_id",
      "in": "path",
      "description": "The notification type id",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "agency_group_notification_type_body_param": {
      "name": "notification_type_body",
      "in": "body",
      "required": true,
      "description": "Notification type body to be created",
      "schema": {
        "$ref": "#/definitions/agency_group_notification_type_body_param_def"
      }
    },
    "chatterbox_token_body_param": {
      "name": "chatterbox_token_body_param",
      "in": "body",
      "description": "The chatterbox details required to generate a token",
      "schema": {
        "type": "object"
      }
    },
    "inbox_token_body_param": {
      "name": "token_payload",
      "in": "body",
      "description": "The inbox token object param",
      "schema": {
        "$ref": "#/definitions/inbox_token_body_param_def"
      }
    },
    "map_id": {
      "name": "map_id",
      "in": "path",
      "required": true,
      "type": "string",
      "description": "The id of the sync map"
    },
    "online_user_map_config": {
      "name": "online_user_map_config",
      "in": "body",
      "description": "The request body for online user map configuration",
      "schema": {
        "$ref": "#/definitions/online_user_map_config_def"
      }
    },
    "conversation_config": {
      "name": "conversation_config",
      "in": "body",
      "description": "The request body for conversation configuration",
      "schema": {
        "$ref": "#/definitions/conversation_config_def"
      }
    },
    "conversation_create_body_param": {
      "name": "conversation_create_body_param",
      "in": "body",
      "description": "The payload used to create the conversations",
      "schema": {
        "$ref": "#/definitions/conversation_create_body_param_def"
      }
    },
    "conversation_member_create_body_param": {
      "name": "conversation_member_create_body_param",
      "in": "body",
      "description": "The payload used to create a member for a conversation",
      "schema": {
        "$ref": "#/definitions/conversation_member_create_body_param_def"
      }
    },
    "conversation_status_change_body_param": {
      "name": "conversation_status_change_body",
      "in": "body",
      "description": "The payload used to change the status of a conversation",
      "schema": {
        "$ref": "#/definitions/conversation_status_change_body_param_def"
      }
    },
    "conversation_id": {
      "name": "conversation_id",
      "in": "path",
      "required": true,
      "type": "string",
      "description": "The id of the conversation",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "conversation_owner_change_param": {
      "name": "conversation_owner_change_param",
      "in": "body",
      "description": "The request body for conversation owner chnage",
      "schema": {
        "$ref": "#/definitions/conversation_owner_change_body_def"
      }
    },
    "job_title_id_filter": {
      "name": "job_title_id",
      "in": "query",
      "required": false,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The job title id filter",
      "type": "string"
    },
    "work_suggestion_status_filter": {
      "name": "work_suggestion_status",
      "in": "query",
      "required": false,
      "description": "The work_suggestion_status filter, used by candidate to indicate if he/she wants to work this position again",
      "type": "string",
      "enum": [
        "active",
        "inactive"
      ]
    },
    "employment_position_held_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `overall_duration`, `-overall_duration`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "overall_duration",
          "-overall_duration",
          "work_suggestion_status",
          "-work_suggestion_status"
        ]
      }
    },
    "all_access_user_post_body_param": {
      "name": "all_access_user_body",
      "in": "body",
      "required": true,
      "description": "The ip whitelist all access user payload object param",
      "schema": {
        "$ref": "#/definitions/all_access_user_post_model_def"
      }
    },
    "all_access_user_sort_params": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `user_id`, `-user_id`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "user_id",
          "-user_id"
        ]
      }
    },
    "user_id_filter": {
      "name": "user_id",
      "in": "query",
      "description": "The user id",
      "pattern": "^[0-9a-fA-F]{24}$",
      "type": "string",
      "required": false
    },
    "ip_whitelist_user_id": {
      "name": "user_id",
      "in": "path",
      "description": "The user id",
      "pattern": "^[0-9a-fA-F]{24}$",
      "type": "string",
      "required": true
    },
    "ip_address": {
      "name": "ip",
      "in": "path",
      "required": true,
      "type": "string",
      "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
      "description": "The ip address"
    },
    "ip_whitelist_body_param": {
      "name": "ip_whitelist_body_param",
      "in": "body",
      "required": true,
      "description": "The ip whitelist object param",
      "schema": {
        "$ref": "#/definitions/ip_whitelist_model_def"
      }
    },
    "ip_whitelist_body_param_for_put": {
      "name": "ip_whitelist_body_param_for_put",
      "in": "body",
      "required": true,
      "description": "The ip whitelist object param",
      "schema": {
        "$ref": "#/definitions/ip_whitelist_model_def_for_put"
      }
    },
    "filter_whitelist_ip": {
      "name": "ip",
      "in": "query",
      "description": "The whitelist ip to filter",
      "required": false,
      "type": "string",
      "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
    },
    "social_link_type_body_param": {
      "name": "social_link_type",
      "in": "body",
      "required": true,
      "description": "The social link type object",
      "schema": {
        "$ref": "#/definitions/social_link_type_def"
      }
    },
    "social_link_type_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `name`, `-name`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "_id",
          "-_id",
          "name",
          "-name",
          "disabled",
          "-disabled"
        ]
      }
    },
    "social_link_disabled_filter": {
      "name": "disabled",
      "in": "query",
      "description": "disabled status of the social link",
      "required": false,
      "type": "boolean"
    },
    "type_id": {
      "name": "type_id",
      "in": "path",
      "required": true,
      "minLength": 3,
      "maxLength": 200,
      "description": "The social link type id",
      "type": "string",
      "pattern": "^[a-zA-Z0-9-_]+$"
    },
    "put_social_link_type_body_param": {
      "name": "social_link_type",
      "in": "body",
      "required": true,
      "description": "The social link type object",
      "schema": {
        "$ref": "#/definitions/put_social_link_type_def"
      }
    },
    "social_link_body_param": {
      "name": "social_link",
      "in": "body",
      "description": "The candidate social link object",
      "schema": {
        "$ref": "#/definitions/social_link_def"
      }
    },
    "social_link_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `type`, `-type`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "type",
          "-type"
        ]
      }
    },
    "social_link_id": {
      "name": "social_link_id",
      "in": "path",
      "required": true,
      "pattern": "^[0-9a-fA-F]{24}$",
      "description": "The social link id",
      "type": "string"
    },
    "social_link_type_filter": {
      "name": "type",
      "description": "Filter the social link based on type",
      "in": "query",
      "required": false,
      "type": "string"
    },
    "user_avatar_user_id": {
      "name": "user_id",
      "in": "path",
      "description": "The id of the user",
      "required": true,
      "type": "string",
      "pattern": "^[0-9a-fA-F]{24}$"
    },
    "avatar_user_id_filter": {
      "name": "user_id",
      "in": "query",
      "description": "A comma separated list of user ids",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-fA-F]{24}$"
      }
    },
    "user_avatar_body_param": {
      "name": "user_avatar",
      "in": "body",
      "description": "The user avatar object",
      "schema": {
        "$ref": "#/definitions/user_avatar_def"
      }
    },
    "conversation_type_filter": {
      "name": "type",
      "in": "query",
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The type of the conversation to be retrieved"
    },
    "conversation_status_filter": {
      "name": "status",
      "in": "query",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "open",
          "closing",
          "closed",
          "orphan",
          "archived"
        ]
      },
      "description": "The status of the conversation to be retrieved"
    },
    "conversation_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `updated_at`, `-updated_at`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "updated_at",
          "created_at",
          "type",
          "status",
          "-updated_at",
          "-created_at",
          "-type",
          "-status"
        ]
      }
    },
    "name_query_filter": {
      "name": "name",
      "x-downstream-name": "sName",
      "in": "query",
      "description": "The contract name",
      "required": false,
      "type": "string"
    },
    "standard_filter": {
      "name": "standard",
      "x-downstream-name": "bStandard",
      "in": "query",
      "description": "Filter contract based on standard",
      "required": false,
      "type": "boolean"
    },
    "breakdownTimeRateAllocationType_filter": {
      "name": "breakdown_time_rate_allocation_type",
      "x-downstream-name": "sBreakdownTimeRateAllocationType",
      "in": "query",
      "description": "The contract breakdown time rate allocation type",
      "required": false,
      "type": "string"
    },
    "contract_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `sName`, `-sName`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "sName",
          "-sName",
          "bStandard",
          "-bStandard",
          "sBreakdownTimeRateAllocationType",
          "-sBreakdownTimeRateAllocationType"
        ]
      }
    },
    "sOrganisationName_filter": {
      "name": "sOrganisationName",
      "in": "query",
      "description": "The organisation name",
      "required": false,
      "type": "string"
    },
    "organisation_sort": {
      "name": "sortBy",
      "in": "query",
      "description": "The field to sort by together with sorting order example `sOrganisationName`, `-sOrganisationName`",
      "required": false,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "sOrganisationName",
          "-sOrganisationName"
        ]
      }
    }
  },
  "responses": {
    "twilio_webhook_model": {
      "description": "Twilio webhook response",
      "schema": {
        "type": "object",
        "required": [
          "status"
        ],
        "properties": {
          "status": {
            "type": "string"
          }
        }
      }
    },
    "webhook_conversation_validation_error_model": {
      "description": "conversations webhooks validation error",
      "schema": {
        "$ref": "#/definitions/webhook_conversation_validation_error_model"
      }
    },
    "chatterbox_tokens_validation_error_model": {
      "description": "Chatterbox token generation validation error",
      "schema": {
        "$ref": "#/definitions/chatterbox_tokens_validation_error_model"
      }
    },
    "get_agency_group_candidate_basic_info_validation_error_model": {
      "description": "Validation error on get",
      "schema": {
        "$ref": "#/definitions/get_agency_group_candidate_basic_info_validation_error_model"
      }
    },
    "put_agency_group_candidate_basic_info_validation_error_model": {
      "description": "Validation error on get",
      "schema": {
        "$ref": "#/definitions/put_agency_group_candidate_basic_info_validation_error_model"
      }
    },
    "resource_not_found": {
      "description": "Resource not found",
      "schema": {
        "$ref": "#/definitions/resource_not_found"
      }
    },
    "validation_error_model": {
      "description": "Validation error on put",
      "schema": {
        "$ref": "#/definitions/validation_error_model"
      }
    },
    "server_error_model": {
      "description": "Server error occurred",
      "schema": {
        "$ref": "#/definitions/server_error_model"
      }
    },
    "method_not_supported": {
      "description": "Method not supported. Returned if an unsupported http method is used.",
      "schema": {
        "$ref": "#/definitions/method_not_supported"
      }
    },
    "get_list_validation_error_model": {
      "description": "Validation error on get list",
      "schema": {
        "$ref": "#/definitions/get_list_validation_error_model"
      }
    },
    "get_validation_error_model": {
      "description": "Validation error on get",
      "schema": {
        "$ref": "#/definitions/get_validation_error_model"
      }
    },
    "get_agency_candidate_basic_info_validation_error_model": {
      "description": "Validation error on get",
      "schema": {
        "$ref": "#/definitions/get_agency_candidate_basic_info_validation_error_model"
      }
    },
    "put_agency_candidate_basic_info_validation_error_model": {
      "description": "Validation error on get",
      "schema": {
        "$ref": "#/definitions/put_agency_candidate_basic_info_validation_error_model"
      }
    },
    "unauthorize_error_model": {
      "description": "Failed to authenticate the user making the request",
      "schema": {
        "$ref": "#/definitions/unauthorize_error_model"
      }
    },
    "auth_error": {
      "description": "Authorization Error. Thrown if the user does not have access to resource.",
      "schema": {
        "$ref": "#/definitions/unauthorize_error_model"
      }
    },
    "pattern_error": {
      "description": "Values passed do not match the expected pattern",
      "schema": {
        "$ref": "#/definitions/pattern_error"
      }
    },
    "pattern_enum_error": {
      "description": "Values passed do not match the expected pattern",
      "schema": {
        "$ref": "#/definitions/pattern_enum_error"
      }
    },
    "pattern_required_error": {
      "description": "Values passed do not match the expected pattern",
      "schema": {
        "$ref": "#/definitions/pattern_required_error"
      }
    },
    "not_found": {
      "description": "No such record",
      "schema": {
        "$ref": "#/definitions/resource_not_found_error"
      }
    },
    "no_content": {
      "description": "No Content. There were no records to return based on your query.",
      "headers": {
        "link": {
          "type": "string"
        },
        "x-result-count": {
          "type": "integer"
        }
      }
    },
    "default_response": {
      "description": "unexpected error",
      "schema": {
        "$ref": "#/definitions/serverErrorModel"
      }
    },
    "permission_denied_error_model": {
      "description": "Permission denied error",
      "schema": {
        "$ref": "#/definitions/permission_denied_error_model"
      }
    },
    "policy_action_return_validation_errors": {
      "description": "validation error for policy action",
      "schema": {
        "$ref": "#/definitions/policy_action_return_validation_errors"
      }
    },
    "pre_condition_fail_model": {
      "description": "Failed some pre condition on business logic",
      "schema": {
        "$ref": "#/definitions/pre_condition_fail_model"
      }
    },
    "system_activity_type_error_model": {
      "description": "System activity type validation definition",
      "schema": {
        "$ref": "#/definitions/system_activity_type_error_model"
      }
    },
    "client_error_model": {
      "description": "Client error validation definition",
      "schema": {
        "$ref": "#/definitions/clientErrorModel"
      }
    },
    "policies_resource_html_pdf_validation_errors": {
      "description": "Policies resource html/pdf validation definition",
      "schema": {
        "$ref": "#/definitions/policies_resource_html_pdf_validation_errors"
      }
    },
    "agency_group_candidate_meta_get_validation_error": {
      "description": "Agency group candidate metadata validation errors",
      "schema": {
        "$ref": "#/definitions/get_agency_group_candidate_meta_validation_error"
      }
    },
    "agency_group_candidate_meta_payload_validation_error": {
      "description": "Agency group candidate metadata validation errors during upsert",
      "schema": {
        "$ref": "#/definitions/put_agency_group_candidate_meta_validation_error"
      }
    },
    "agency_group_candidate_meta_response": {
      "description": "Agency Group Candidate metadata response",
      "schema": {
        "$ref": "#/definitions/agency_group_candidate_meta_retrieval"
      }
    },
    "agency_candidate_meta_response": {
      "description": "Agency Candidate metadata response",
      "schema": {
        "$ref": "#/definitions/agency_candidate_meta_retrieval"
      }
    },
    "agency_candidate_meta_get_validation_error": {
      "description": "Agency candidate metadata validation errors",
      "schema": {
        "$ref": "#/definitions/get_agency_candidate_meta_validation_error"
      }
    },
    "job_routes_validation_error": {
      "description": "Validation error due to some missing or incorrect values",
      "schema": {
        "$ref": "#/definitions/job_routes_validation_error"
      }
    },
    "agency_site_validation_error": {
      "description": "Validation error due to some missing or incorrect values",
      "schema": {
        "$ref": "#/definitions/agency_site_validation_error"
      }
    },
    "lookups_response": {
      "description": "The list of lookup objects",
      "headers": {
        "link": {
          "type": "string"
        },
        "x-result-count": {
          "type": "integer"
        }
      },
      "schema": {
        "$ref": "#/definitions/lookups"
      }
    },
    "lookup_response": {
      "description": "The lookup object",
      "schema": {
        "$ref": "#/definitions/lookup"
      }
    },
    "widget_validation_error_model": {
      "description": "Validation error on get",
      "schema": {
        "$ref": "#/definitions/widget_validation_error_model"
      }
    },
    "make_webhook_call_validation_error": {
      "description": "Validation error on making a wehbook cal",
      "schema": {
        "$ref": "#/definitions/make_webhook_call_validation_error"
      }
    },
    "lookup_validation_error_model": {
      "description": "Validation error model for lookup",
      "schema": {
        "$ref": "#/definitions/lookup_validation_error_model"
      }
    },
    "skills_delete_validation_error_model": {
      "description": "Validation error on delete",
      "schema": {
        "$ref": "#/definitions/skills_delete_validation_error_model"
      }
    },
    "delete_validation_error_model": {
      "description": "Validation error on delete",
      "schema": {
        "$ref": "#/definitions/delete_validation_error_model"
      }
    },
    "virtual_property_get_list_validation_error_model": {
      "description": "Validation error on get list that has virtual property filter",
      "schema": {
        "$ref": "#/definitions/virtual_property_get_list_validation_error_model"
      }
    },
    "qualifications_get_list_validation_error_model": {
      "description": "Validation error on get qualifications list with virtual property filter",
      "schema": {
        "$ref": "#/definitions/skills_qualifications_get_list_validation_error_model"
      }
    },
    "skills_get_list_validation_error_model": {
      "description": "Validation error on get skills list with virtual property filter",
      "schema": {
        "$ref": "#/definitions/skills_qualifications_get_list_validation_error_model"
      }
    },
    "skills_post_validation_error_model": {
      "description": "Validation error on skills post",
      "schema": {
        "$ref": "#/definitions/skills_post_validation_error_model"
      }
    },
    "qualification_post_validation_error_model": {
      "description": "Validation error on qualification post",
      "schema": {
        "$ref": "#/definitions/qualification_post_validation_error_model"
      }
    },
    "enum_validation_error": {
      "description": "A validation error occurred",
      "schema": {
        "$ref": "#/definitions/enum_validation_error_model"
      }
    },
    "registration_body_validation_error_model": {
      "description": "Validation error on post",
      "schema": {
        "$ref": "#/definitions/registration_body_validation_error_model"
      }
    },
    "conflict_error_model": {
      "description": "Failed when some conflicts occurred with the data",
      "schema": {
        "$ref": "#/definitions/conflict_error"
      }
    },
    "sync_map_item_validation_error_model": {
      "description": "Sync Map item validation error",
      "schema": {
        "$ref": "#/definitions/sync_map_item_validation_error_model"
      }
    },
    "conversation_validation_error_model": {
      "description": "Conversation Member validation response definition",
      "schema": {
        "$ref": "#/definitions/conversation_validation_error_model"
      }
    },
    "conversation_status_validation_error_model": {
      "description": "Conversation status validation response definition",
      "schema": {
        "$ref": "#/definitions/conversation_status_validation_error_model"
      }
    },
    "not_modified": {
      "description": "No modified. No records were modified based on your query."
    },
    "conversation_member_validation_error_model": {
      "description": "Conversation Member validation response definition",
      "schema": {
        "$ref": "#/definitions/conversation_member_validation_error_model"
      }
    },
    "status_not_open_pre_condition_fail_model": {
      "description": "Failed some pre condition on business logic",
      "schema": {
        "$ref": "#/definitions/status_not_open_pre_condition_fail_model"
      }
    },
    "conversation_creation_pre_condition_fail_model": {
      "description": "Failed some pre condition on business logic while creating conversation",
      "schema": {
        "$ref": "#/definitions/conversation_creation_pre_condition_fail_model"
      }
    },
    "client_conversation_get_validation_error_model": {
      "description": "Validation error on get",
      "schema": {
        "$ref": "#/definitions/client_conversation_get_validation_error_model"
      }
    },
    "message_status_updates_validation_error_model": {
      "description": "Message status update validation error response definition",
      "schema": {
        "$ref": "#/definitions/message_status_updates_validation_error_def"
      }
    }
  },
  "definitions": {
    "webhook_conversation_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/webhook_conversation_validation_error_model_item"
          }
        }
      }
    },
    "webhook_conversation_validation_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "INVALID_TYPE",
                "OBJECT_MISSING_REQUIRED_PROPERTY"
              ]
            }
          }
        }
      ]
    },
    "access_tokens_item": {
      "type": "object",
      "required": [
        "type",
        "value"
      ],
      "properties": {
        "type": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      }
    },
    "chatterbox_token_response_def": {
      "type": "object",
      "required": [
        "access_tokens"
      ],
      "properties": {
        "access_tokens": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/access_tokens_item"
          }
        }
      }
    },
    "chatterbox_tokens_validation_error_item": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "chatterbox_tokens_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/chatterbox_tokens_validation_error_item"
          }
        }
      }
    },
    "conversation_status_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/conversation_status_validation_error_model_item"
          }
        }
      }
    },
    "conversation_status_validation_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "ENUM_MISMATCH",
                "INVALID_TYPE",
                "MIN_LENGTH",
                "ARRAY_LENGTH_SHORT",
                "INVALID_ACTIVITY_TYPE",
                "ACTIVITY_TYPE_DISABLED",
                "CONVERSATION_MEDIA_NOT_ADDRESSED"
              ]
            }
          }
        }
      ]
    },
    "policies_resource_html_pdf_validation_errors": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/policies_resource_html_pdf_validation_error_item"
          }
        }
      }
    },
    "policies_resource_html_pdf_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "INVALID_FORMAT",
                "INVALID_HEADER_VALUE_SPECIFIED"
              ]
            }
          }
        }
      ]
    },
    "permission_denied_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PERMISSION_DENIED"
          ]
        },
        "message": {
          "type": "string"
        },
        "exceptionCode": {
          "type": "string",
          "enum": [
            "IP_ADDRESS_NOT_WHITELISTED",
            "OWNER_MISMATCH"
          ]
        }
      }
    },
    "conversation_permission_denied_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PERMISSION_DENIED"
          ]
        },
        "message": {
          "type": "string"
        },
        "exceptionCode": {
          "type": "string",
          "enum": [
            "OWNER_MISMATCH"
          ]
        }
      }
    },
    "conversation_status_change_body_param_def": {
      "type": "object",
      "required": [
        "operation"
      ],
      "properties": {
        "operation": {
          "type": "string",
          "enum": [
            "close",
            "reopen"
          ]
        },
        "operation_data": {
          "type": "object",
          "properties": {
            "activity": {
              "type": "object",
              "properties": {
                "activity_type": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "comment": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "additionalProperties": false
    },
    "agency_candidate_basic_info_put_body_def": {
      "type": "object",
      "required": [
        "first_name",
        "last_name"
      ],
      "properties": {
        "first_name": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "last_name": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "gender": {
          "type": "string",
          "enum": [
            "male",
            "female",
            "other"
          ]
        },
        "candidate_type_id": {
          "type": "string",
          "minLength": 3
        },
        "date_of_birth": {
          "type": "string",
          "format": "date"
        },
        "id_number": {
          "type": "string",
          "minLength": 1,
          "maxLength": 30
        },
        "title": {
          "type": "string"
        }
      }
    },
    "get_agency_group_candidate_basic_info_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "candidate_email_address_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "email",
            "label",
            "status"
          ],
          "properties": {
            "email": {
              "type": "string"
            },
            "label": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "agency_candidate_email_address_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_id",
            "email",
            "label",
            "status"
          ],
          "properties": {
            "email": {
              "type": "string"
            },
            "label": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "agency_group_candidate_email_address_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_group_id",
            "email",
            "label",
            "status"
          ],
          "properties": {
            "email": {
              "type": "string"
            },
            "label": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "candidate_email_address_with_verified_at_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/candidate_email_address_response_def"
        },
        {
          "type": "object",
          "required": [
            "verified_at"
          ],
          "properties": {
            "verified_at": {
              "type": "string",
              "format": "date-time"
            }
          }
        }
      ]
    },
    "verify_candidate_email_address_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/verify_candidate_email_address_error_item"
              }
            }
          }
        }
      ]
    },
    "verify_candidate_email_address_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "HASH_VALUE_MISMATCHED",
                "MAX_LENGTH",
                "ALREADY_REGISTERED",
                "ALREADY_VERIFIED"
              ]
            }
          }
        }
      ]
    },
    "candidate_email_address_delete_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_email_address_delete_error_item"
              }
            }
          }
        }
      ]
    },
    "candidate_email_address_delete_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "EMAIL_DELETE_FORBIDDEN"
              ]
            }
          }
        }
      ]
    },
    "candidate_email_address_def": {
      "type": "object",
      "required": [
        "email",
        "label"
      ],
      "properties": {
        "email": {
          "type": "string",
          "pattern": "^(([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$",
          "maxLength": 255
        },
        "label": {
          "type": "string",
          "enum": [
            "work",
            "home",
            "other"
          ]
        }
      },
      "additionalProperties": false
    },
    "candidate_email_address_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "ENUM_MISMATCH",
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_email_address_error_item"
              }
            }
          }
        }
      ]
    },
    "candidate_email_address_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "PATTERN",
                "ENUM_MISMATCH",
                "MAX_LENGTH",
                "INVALID_TYPE",
                "ALREADY_EXISTS"
              ]
            }
          }
        }
      ]
    },
    "get_misc_details_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "put_agency_group_candidate_basic_info_validation_error_model": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "CONTENT_TYPE_NOT_SUPPORTED",
                "SCHEMA_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/put_agency_group_candidate_basic_info_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "put_misc_details_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "ENUM_MISMATCH",
                "INVALID_TYPE"
              ]
            }
          }
        }
      ]
    },
    "put_misc_details_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "CONTENT_TYPE_NOT_SUPPORTED",
                "SCHEMA_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/put_misc_details_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "put_agency_group_candidate_basic_info_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "ENUM_MISMATCH",
                "REQUIRED",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "INVALID_CANDIDATE_ID",
                "INVALID_AGENCY_GROUP_ID",
                "INVALID_AGENCY_ID",
                "INVALID_VALUE_SPECIFIED"
              ]
            }
          }
        }
      ]
    },
    "agency_group_candidate_basic_info_put_body_def": {
      "type": "object",
      "required": [
        "first_name",
        "last_name"
      ],
      "properties": {
        "first_name": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "last_name": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "gender": {
          "type": "string",
          "enum": [
            "male",
            "female",
            "other"
          ]
        },
        "candidate_type_id": {
          "type": "string",
          "minLength": 3
        },
        "date_of_birth": {
          "type": "string",
          "format": "date"
        },
        "id_number": {
          "type": "string",
          "minLength": 1,
          "maxLength": 30
        },
        "title": {
          "type": "string"
        }
      }
    },
    "agency_candidate_basic_info_response_body_def": {
      "type": "object",
      "required": [
        "first_name",
        "last_name",
        "candidate_id",
        "agency_id",
        "_id",
        "created_at",
        "updated_at",
        "__v"
      ],
      "properties": {
        "first_name": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "last_name": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "gender": {
          "type": "string",
          "enum": [
            "male",
            "female",
            "other"
          ]
        },
        "candidate_type_id": {
          "type": "string",
          "minLength": 3
        },
        "date_of_birth": {
          "type": "string",
          "format": "date"
        },
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "__v": {
          "type": "integer"
        },
        "id_number": {
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_basic_info_response_body_def": {
      "type": "object",
      "required": [
        "first_name",
        "last_name",
        "candidate_id",
        "agency_group_id",
        "_id",
        "created_at",
        "updated_at",
        "__v"
      ],
      "properties": {
        "first_name": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "last_name": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "gender": {
          "type": "string",
          "enum": [
            "male",
            "female",
            "other"
          ]
        },
        "candidate_type_id": {
          "type": "string",
          "minLength": 3
        },
        "date_of_birth": {
          "type": "string",
          "format": "date"
        },
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_group_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "__v": {
          "type": "integer"
        },
        "id_number": {
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "get_agency_candidate_basic_info_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "put_agency_candidate_basic_info_validation_error_model": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "CONTENT_TYPE_NOT_SUPPORTED",
                "SCHEMA_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/put_agency_candidate_basic_info_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "put_agency_candidate_basic_info_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "ENUM_MISMATCH",
                "REQUIRED",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "INVALID_CANDIDATE_ID",
                "INVALID_AGENCY_GROUP_ID",
                "INVALID_AGENCY_ID",
                "INVALID_VALUE_SPECIFIED"
              ]
            }
          }
        }
      ]
    },
    "misc_details_put_body_def": {
      "type": "object",
      "properties": {
        "transport_type": {
          "type": "string",
          "enum": [
            "own",
            "public"
          ]
        }
      }
    },
    "get_list_subscription_notification_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "$ref": "#/definitions/get_list_validation_error_base"
        }
      ]
    },
    "list_subscription_notification": {
      "type": "object",
      "required": [
        "__v",
        "updated_at",
        "created_at",
        "topic",
        "data",
        "notification_id",
        "subscription_id",
        "_id"
      ],
      "properties": {
        "__v": {
          "type": "integer",
          "description": "The document version"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "_id": {
          "type": "string",
          "description": "the id of the notification"
        },
        "topic": {
          "type": "string",
          "description": "name of the topic"
        },
        "status": {
          "type": "string",
          "description": "status of this notification"
        },
        "next_run_time": {
          "type": "integer",
          "description": "unix timestamp of the next time it will retry"
        },
        "data": {
          "type": "object",
          "description": "Free form object for the notification to be send out"
        },
        "notification_id": {
          "type": "string",
          "description": "the notification id",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "subscription_id": {
          "type": "string",
          "description": "the subscription id",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "requests": {
          "type": "array",
          "description": "the requests data",
          "items": {
            "type": "object",
            "description": "Free form object for the requests data"
          }
        },
        "routing_keys": {
          "type": "array",
          "description": "the routing keys",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "server_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "stack": {
          "type": "string"
        }
      }
    },
    "put_post_next_of_kin_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "CONTENT_TYPE_NOT_SUPPORTED",
                "SCHEMA_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/put_post_next_of_kin_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "put_post_next_of_kin_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "MIN_LENGTH",
                "MAX_LENGTH",
                "PATTERN",
                "ENUM_MISMATCH",
                "INVALID_TYPE",
                "INVALID_HEADER_VALUE_SPECIFIED"
              ]
            }
          }
        }
      ]
    },
    "get_delete_next_of_kin_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "resource_not_found": {
      "description": "No resource found",
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "RESOURCE_NOT_FOUND"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "next_of_kin_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/next_of_kin_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "address": {
              "$ref": "#/definitions/next_of_kin_response_address"
            }
          }
        }
      ]
    },
    "agency_next_of_kin_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/next_of_kin_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "address": {
              "$ref": "#/definitions/next_of_kin_response_address"
            }
          }
        }
      ]
    },
    "agency_group_next_of_kin_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/next_of_kin_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_group_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "address": {
              "$ref": "#/definitions/next_of_kin_response_address"
            }
          }
        }
      ]
    },
    "next_of_kin_def": {
      "description": "next of kin details",
      "type": "object",
      "required": [
        "relationship",
        "name",
        "contact_number"
      ],
      "properties": {
        "relationship": {
          "type": "string",
          "minLength": 2,
          "maxLength": 100
        },
        "name": {
          "type": "string",
          "minLength": 2,
          "maxLength": 100
        },
        "contact_number": {
          "type": "string",
          "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
        },
        "comment": {
          "type": "string",
          "minLength": 2,
          "maxLength": 100
        },
        "address": {
          "$ref": "#/definitions/next_of_kin_address"
        }
      }
    },
    "next_of_kin_response_address": {
      "description": "The next of kin address schema",
      "type": "object",
      "required": [
        "type",
        "address_line1",
        "country_code",
        "post_code"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "physical_address",
            "postal_address",
            "alternative_address"
          ]
        },
        "address_line1": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "address_line2": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "province": {
          "type": "string",
          "minLength": 2,
          "maxLength": 100
        },
        "country_code": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        },
        "post_code": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "co_ords": {
          "$ref": "#/definitions/co_ords"
        }
      }
    },
    "next_of_kin_address": {
      "description": "The next of kin address schema",
      "type": "object",
      "required": [
        "type",
        "address_line1",
        "country_code",
        "post_code"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "physical_address",
            "postal_address",
            "alternative_address"
          ]
        },
        "address_line1": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "address_line2": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "province": {
          "type": "string",
          "minLength": 2,
          "maxLength": 100
        },
        "country_code": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        },
        "post_code": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        }
      }
    },
    "post_webhook_topic_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "DUPLICATE_TOPIC_NAME_NOT_ALLOWED",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "INVALID_HEADER_VALUE_SPECIFIED"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "post_webhook_topic_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "ENUM_MISMATCH",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/post_webhook_topic_validation_error_single_model"
          }
        }
      }
    },
    "put_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MODEL_VALIDATION_FAILED",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/put_validation_error_single_model"
          }
        }
      }
    },
    "webhook_subscription_post_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MODEL_VALIDATION_FAILED",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/webhook_subscription_post_validation_error_single_model"
          }
        }
      }
    },
    "webhook_subscription_post_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "INVALID_TYPE",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OAUTH_CLIENT_ID_NOT_FOUND",
            "INVALID_AGENCY_GROUP_TOPIC",
            "INVALID_HEADER_VALUE_SPECIFIED"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "put_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "INVALID_TYPE",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "OAUTH_CLIENT_ID_NOT_FOUND",
            "INVALID_HEADER_VALUE_SPECIFIED",
            "MIN_LENGTH",
            "MAX_LENGTH"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "put_settings_webhook_response": {
      "allOf": [
        {
          "$ref": "#/definitions/settings_webhook"
        },
        {
          "type": "object",
          "required": [
            "__v",
            "_id",
            "updated_at",
            "created_at",
            "agency_group_id"
          ],
          "properties": {
            "__v": {
              "type": "integer",
              "description": "The document version"
            },
            "_id": {
              "type": "string",
              "description": "the id of the webhook setting"
            },
            "created_at": {
              "type": "string",
              "format": "date-time"
            },
            "updated_at": {
              "type": "string",
              "format": "date-time"
            },
            "agency_group_id": {
              "type": "string",
              "description": "The id of the agency group"
            }
          }
        }
      ]
    },
    "settings_webhook": {
      "type": "object",
      "required": [
        "oauth_client_id",
        "notify_same_oauth_client"
      ],
      "properties": {
        "oauth_client_id": {
          "type": "string",
          "description": "the OAuth Client Id to use for the Agency Group",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "notify_same_oauth_client": {
          "type": "boolean",
          "description": "If true, we always try to send the notifcation on subscription;\nif false, we first check if the action was performed by the OAuth client\nfor this subscription and if so we do not send that notification.\n"
        }
      }
    },
    "post_subscription_webhook_response": {
      "allOf": [
        {
          "$ref": "#/definitions/webhook_subscription"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        }
      ]
    },
    "webhook_subscription": {
      "type": "object",
      "required": [
        "url",
        "topic"
      ],
      "properties": {
        "url": {
          "type": "string",
          "description": "The callback url that has been registered",
          "pattern": "^((https:\\/\\/)([A-z0-9._-]+[A-z0-9]+)*\\/)(.)*$"
        },
        "topic": {
          "type": "string",
          "description": "name of the topic",
          "pattern": "^[a-z0-9.]+$"
        }
      }
    },
    "new_webhook_topic": {
      "type": "object",
      "required": [
        "name",
        "description",
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "AgencyGroup"
          ]
        },
        "name": {
          "type": "string",
          "description": "name of the topic",
          "pattern": "^[a-z0-9.]+$"
        },
        "description": {
          "type": "string",
          "description": "the description of the topic"
        },
        "routing_strategy": {
          "type": "string",
          "enum": [
            "none",
            "type_id"
          ],
          "description": "defines the routing strategy that will be used with this topic"
        }
      }
    },
    "webhook_topic": {
      "type": "object",
      "required": [
        "name",
        "description",
        "__v",
        "_id",
        "created_at",
        "updated_at"
      ],
      "properties": {
        "__v": {
          "type": "integer",
          "description": "The document version"
        },
        "_id": {
          "type": "string",
          "description": "the id of the webhook topic"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "name": {
          "type": "string",
          "description": "name of the topic",
          "pattern": "^[a-z0-9.]+$"
        },
        "description": {
          "type": "string",
          "description": "the description of the topic"
        },
        "routing_strategy": {
          "type": "string",
          "enum": [
            "none",
            "type_id"
          ],
          "description": "defines the routing strategy that will be used with this topic"
        }
      }
    },
    "role_id": {
      "type": "string",
      "enum": [
        "admin",
        "booker",
        "reporter",
        "manager",
        "account",
        "vacancy_manager",
        "compliance",
        "data_processor"
      ]
    },
    "get_role_id": {
      "type": "string",
      "enum": [
        "owner",
        "admin",
        "booker",
        "reporter",
        "manager",
        "account",
        "vacancy_manager",
        "compliance",
        "data_processor"
      ]
    },
    "unauthorize_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "UNAUTHORIZED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "get_list_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "INVALID_TYPE",
            "MINIMUM",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "get_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "INVALID_TYPE",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "REQUIRED",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "INVALID_HEADER_VALUE_SPECIFIED",
            "INVALID_TYPE"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/validation_error_single_model"
          }
        }
      }
    },
    "language_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/language_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "agency_language_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/language_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "agency_group_language_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/language_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_group_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "language_def": {
      "description": "language details",
      "type": "object",
      "required": [
        "code",
        "proficiency"
      ],
      "properties": {
        "code": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "proficiency": {
          "type": "string",
          "enum": [
            "native",
            "limited",
            "read_write_speak"
          ]
        }
      }
    },
    "agency_contact_number_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/agency_contact_number_def"
        }
      ]
    },
    "agency_contact_number_def": {
      "description": "agency contact numbers details",
      "type": "object",
      "required": [
        "type",
        "number"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "compliance",
            "staffing"
          ]
        },
        "number": {
          "type": "string",
          "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
        }
      },
      "additionalProperties": false
    },
    "candidate_basic_info_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_basic_info_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "properties": {
            "id_number": {
              "type": "string"
            }
          }
        }
      ]
    },
    "candidate_basic_info_def": {
      "type": "object",
      "required": [
        "first_name",
        "last_name"
      ],
      "properties": {
        "first_name": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "last_name": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "gender": {
          "type": "string",
          "enum": [
            "male",
            "female",
            "other"
          ]
        },
        "date_of_birth": {
          "type": "string",
          "format": "date"
        },
        "title": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "candidate_misc_details_put_body_def": {
      "type": "object",
      "properties": {
        "transport_type": {
          "type": "string",
          "enum": [
            "own",
            "public"
          ]
        }
      }
    },
    "candidate_misc_details_response_body_def": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_misc_details_put_body_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "agency_candidate_misc_details_response_body_def": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_misc_details_put_body_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "agency_group_candidate_misc_details_response_body_def": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_misc_details_put_body_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_group_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "other_names_def": {
      "type": "object",
      "properties": {
        "known_as": {
          "type": "string"
        },
        "middle_name": {
          "type": "string"
        },
        "maiden_name": {
          "type": "string"
        }
      }
    },
    "other_names_response_body_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/other_names_def"
        },
        {
          "type": "object",
          "required": [
            "candidate_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "agency_other_names_response_body_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/other_names_def"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "agency_group_other_names_response_body_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/other_names_def"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_group_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "other_names_put_body_def": {
      "type": "object",
      "properties": {
        "known_as": {
          "type": "string"
        },
        "middle_name": {
          "type": "string"
        },
        "maiden_name": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "contact_number_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/contact_number_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "agency_candidate_contact_number_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/contact_number_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "agency_group_contact_number_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/contact_number_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_group_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "contact_number_def": {
      "description": "contact number",
      "type": "object",
      "required": [
        "type",
        "number"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "mobile",
            "home",
            "work",
            "work_fax",
            "home_fax",
            "additional",
            "whatsapp"
          ]
        },
        "number": {
          "type": "string",
          "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
        }
      },
      "additionalProperties": false
    },
    "get_delete_contact_numbers_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "put_post_contact_number_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "CONTENT_TYPE_NOT_SUPPORTED",
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/put_post_contact_number_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "put_post_contact_number_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "PATTERN",
                "ENUM_MISMATCH",
                "INVALID_VALUE_SPECIFIED"
              ]
            }
          }
        }
      ]
    },
    "candidate_availability_upsert_return": {
      "type": "object",
      "required": [
        "arrAvailability"
      ],
      "properties": {
        "arrAvailability": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_availability_return"
          }
        },
        "arrWarnings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_availability_upsert_warning_return"
          }
        }
      }
    },
    "candidate_availability_upsert_warning_return": {
      "type": "object",
      "properties": {
        "dAvailabilityDate": {
          "type": "string",
          "format": "date"
        },
        "sProperty": {
          "type": "string",
          "enum": [
            "sEarly",
            "sLate",
            "sNight",
            "arrAvailabilityDate"
          ]
        },
        "arrMessages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_availability_upsert_property_message_item"
          }
        }
      }
    },
    "candidate_availability_upsert_property_message_item": {
      "type": "object",
      "properties": {
        "sMessage": {
          "type": "string"
        },
        "sCode": {
          "type": "string",
          "enum": [
            "INVALID_STATE_TRANSITION_FROM_UNKNOWN_TO_BOOKED",
            "INVALID_STATE_TRANSITION_FROM_AVAILABLE_TO_BOOKED",
            "INVALID_STATE_TRANSITION_FROM_UNAVAILABLE_TO_BOOKED",
            "INVALID_STATE_TRANSITION_FROM_BOOKED_TO_UNKNOWN",
            "INVALID_STATE_TRANSITION_FROM_BOOKED_TO_AVAILABLE",
            "INVALID_STATE_TRANSITION_FROM_BOOKED_TO_UNAVAILABLE",
            "PAST_UPDATES_NOT_ALLOWED"
          ]
        }
      }
    },
    "candidate_availability_upsert": {
      "type": "object",
      "required": [
        "arrAvailability"
      ],
      "properties": {
        "arrAvailability": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_availability_payload_item"
          },
          "minItems": 1
        }
      }
    },
    "candidate_availability_return": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_availability_item"
        },
        {
          "type": "object",
          "required": [
            "dtCreated",
            "dtModified",
            "id"
          ],
          "properties": {
            "dtCreated": {
              "type": "string",
              "format": "date-time"
            },
            "dtModified": {
              "type": "string",
              "format": "date-time"
            },
            "id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "job_title_return": {
      "type": "object",
      "required": [
        "sJobFamilyId",
        "sShortTitleName",
        "sTitleName",
        "id"
      ],
      "properties": {
        "sJobFamilyId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sShortTitleName": {
          "type": "string"
        },
        "sTitleName": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "job_family_return": {
      "type": "object",
      "required": [
        "sJobFamilyName",
        "id"
      ],
      "properties": {
        "sJobFamilyName": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "agency_site_return": {
      "type": "object",
      "required": [
        "sOrganisationName",
        "sOrganisationId",
        "sSiteId",
        "sSiteName",
        "sSiteTypeName",
        "sSiteTypeId",
        "sSiteAddress",
        "sSitePostCode",
        "sAgencyName",
        "sAgencyId",
        "bAgencyLinked",
        "sAgencyOrgType",
        "dtCreated",
        "dtModified",
        "id"
      ],
      "properties": {
        "sOrganisationName": {
          "type": "string"
        },
        "sOrganisationId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sSiteId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sSiteName": {
          "type": "string"
        },
        "sSiteTypeName": {
          "type": "string"
        },
        "sSiteTypeId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sSiteAddress": {
          "type": "string"
        },
        "sSitePostCode": {
          "type": "string"
        },
        "sAgencyName": {
          "type": "string"
        },
        "sAgencyId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "bAgencyLinked": {
          "type": "boolean"
        },
        "sAgencyOrgType": {
          "type": "string"
        },
        "dtCreated": {
          "type": "string",
          "format": "date-time"
        },
        "dtModified": {
          "type": "string",
          "format": "date-time"
        },
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "objSiteGeoLocation": {
          "$ref": "#/definitions/objSiteGeoLocation"
        },
        "sSiteProvince": {
          "type": "string"
        }
      }
    },
    "candidate_availability_payload_item": {
      "type": "object",
      "required": [
        "sEarly",
        "sLate",
        "sNight",
        "dAvailabilityDate"
      ],
      "properties": {
        "sEarly": {
          "type": "string",
          "enum": [
            "Unknown",
            "Available",
            "Unavailable",
            "Booked"
          ]
        },
        "sLate": {
          "type": "string",
          "enum": [
            "Unknown",
            "Available",
            "Unavailable",
            "Booked"
          ]
        },
        "sNight": {
          "type": "string",
          "enum": [
            "Unknown",
            "Available",
            "Unavailable",
            "Booked"
          ]
        },
        "dAvailabilityDate": {
          "type": "string",
          "format": "date"
        }
      }
    },
    "candidate_availability_item": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_availability_payload_item"
        },
        {
          "type": "object",
          "required": [
            "sCandidateId"
          ],
          "properties": {
            "sCandidateId": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "timesheet_email": {
      "type": "object",
      "required": [
        "sEmailAddress",
        "sShiftId"
      ],
      "properties": {
        "sEmailAddress": {
          "type": "string",
          "pattern": "^(([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$"
        },
        "sShiftId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "server_status_response": {
      "type": "object",
      "required": [
        "up_time"
      ],
      "properties": {
        "up_time": {
          "type": "integer"
        }
      }
    },
    "policy_preview": {
      "type": "object",
      "required": [
        "content"
      ],
      "properties": {
        "content": {
          "type": "string",
          "maxLength": 800000
        },
        "prompt": {
          "type": "string",
          "maxLength": 800000
        },
        "content_css": {
          "type": "string"
        },
        "prompt_css": {
          "type": "string"
        },
        "effective_at": {
          "type": "string",
          "format": "date-time"
        },
        "tokens": {
          "type": "object",
          "required": [
            "candidate_full_name",
            "candidate_email",
            "actioned_at",
            "effective_at"
          ],
          "properties": {
            "effective_at": {
              "type": "string",
              "format": "date-time"
            },
            "actioned_at": {
              "type": "string",
              "format": "date-time"
            },
            "candidate_full_name": {
              "type": "string",
              "maxLength": 250
            },
            "candidate_email": {
              "type": "string",
              "pattern": "^(([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$"
            }
          }
        }
      }
    },
    "equality_put_body": {
      "type": "object",
      "required": [
        "religion",
        "ethnic_origin",
        "sexual_orientation",
        "gender_identity"
      ],
      "properties": {
        "religion": {
          "$ref": "#/definitions/religion_param"
        },
        "sexual_orientation": {
          "$ref": "#/definitions/sexual_orientation_param"
        },
        "ethnic_origin": {
          "$ref": "#/definitions/ethnic_origin"
        },
        "gender_identity": {
          "$ref": "#/definitions/gender_identity_param"
        },
        "disabled": {
          "type": "boolean"
        }
      }
    },
    "equality_response_body": {
      "allOf": [
        {
          "$ref": "#/definitions/equality_res"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        }
      ],
      "type": "object",
      "required": [
        "candidate_id"
      ],
      "properties": {
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "agency_group_equality_response_body": {
      "allOf": [
        {
          "$ref": "#/definitions/equality_res"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        }
      ],
      "type": "object",
      "required": [
        "candidate_id",
        "agency_group_id"
      ],
      "properties": {
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_group_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "agency_equality_response_body": {
      "allOf": [
        {
          "$ref": "#/definitions/equality_res"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        }
      ],
      "type": "object",
      "required": [
        "candidate_id",
        "agency_id"
      ],
      "properties": {
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "religion_param": {
      "description": "The religious status of the candidate",
      "type": "string",
      "enum": [
        "bahai",
        "buddhist",
        "christian",
        "hindu",
        "jain",
        "jewish",
        "muslim",
        "no_religion",
        "other",
        "protestant",
        "roman_catholic",
        "sikh",
        "prefer_not_to_say"
      ]
    },
    "sexual_orientation_param": {
      "description": "The sexual orientation of the candidate",
      "type": "string",
      "enum": [
        "bisexual",
        "gay_man",
        "gay_women",
        "straight",
        "prefer_not_to_say"
      ]
    },
    "ethnic_origin": {
      "description": "The ethnic origin of the candidate",
      "type": "string",
      "enum": [
        "asian_british",
        "asian_indian",
        "asian_pakistani",
        "asian_bangladeshi",
        "asian_other",
        "black_european",
        "black_british",
        "black_caribbean",
        "black_african",
        "black_other",
        "chinese",
        "mixed_white_and_black_caribbean",
        "mixed_white_and_black_african",
        "mixed_white_and_asian",
        "mixed_other",
        "other",
        "tamil",
        "white_british",
        "white_irish",
        "white_other",
        "prefer_not_to_say"
      ]
    },
    "gender_identity_param": {
      "description": "The gender identity of the candidate",
      "type": "string",
      "enum": [
        "female",
        "intersex",
        "male",
        "transgender",
        "transsexual",
        "prefer_not_to_say"
      ]
    },
    "agency_group_users_return": {
      "type": "object",
      "required": [
        "sFirstName",
        "sLastName",
        "sEmailAddress",
        "dtCreated",
        "id"
      ],
      "properties": {
        "sFirstName": {
          "type": "string"
        },
        "sLastName": {
          "type": "string"
        },
        "sEmailAddress": {
          "type": "string"
        },
        "dtCreated": {
          "type": "string",
          "format": "date-time"
        },
        "dtModified": {
          "type": "string",
          "format": "date-time"
        },
        "arrAgencyGroups": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/array_agency_groups_item"
          }
        },
        "sStatus": {
          "type": "string",
          "enum": [
            "active",
            "inactive",
            "awaiting_verification"
          ]
        },
        "sUsername": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "dDateOfBirth": {
          "type": "string",
          "format": "date"
        },
        "sAgencyGroupUserStatus": {
          "type": "string"
        }
      }
    },
    "array_agency_groups_item": {
      "type": "object",
      "required": [
        "sStatus"
      ],
      "properties": {
        "sStatus": {
          "type": "string",
          "enum": [
            "enabled",
            "disabled"
          ]
        },
        "sAgencyGroupId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "user_create": {
      "type": "object",
      "required": [
        "sFirstName",
        "sLastName",
        "sEmailAddress"
      ],
      "properties": {
        "sFirstName": {
          "type": "string",
          "minLength": 2,
          "maxLength": 100
        },
        "sLastName": {
          "type": "string",
          "minLength": 2,
          "maxLength": 100
        },
        "sEmailAddress": {
          "type": "string",
          "pattern": "^(([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$"
        },
        "dDateOfBirth": {
          "type": "string",
          "format": "date"
        }
      }
    },
    "user_return": {
      "allOf": [
        {
          "$ref": "#/definitions/user_create"
        },
        {
          "type": "object",
          "required": [
            "id"
          ],
          "properties": {
            "sStatus": {
              "type": "string"
            },
            "sUsername": {
              "type": "string"
            },
            "dtCreated": {
              "type": "string",
              "format": "date-time"
            },
            "dtModified": {
              "type": "string",
              "format": "date-time"
            },
            "id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}"
            }
          }
        }
      ]
    },
    "agency_users_return": {
      "type": "object",
      "required": [
        "sFirstName",
        "sLastName",
        "sEmailAddress",
        "dtCreated",
        "id"
      ],
      "properties": {
        "sFirstName": {
          "type": "string"
        },
        "sLastName": {
          "type": "string"
        },
        "sEmailAddress": {
          "type": "string"
        },
        "dtCreated": {
          "type": "string",
          "format": "date-time"
        },
        "dtModified": {
          "type": "string",
          "format": "date-time"
        },
        "arrLinkedAgencies": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/array_agency_item"
          }
        },
        "sStatus": {
          "type": "string",
          "enum": [
            "active",
            "inactive",
            "awaiting_verification"
          ]
        },
        "sUsername": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "dDateOfBirth": {
          "type": "string",
          "format": "date"
        },
        "sAgencyUserStatus": {
          "type": "string"
        }
      }
    },
    "array_agency_item": {
      "type": "object",
      "required": [
        "sStatus"
      ],
      "properties": {
        "sStatus": {
          "type": "string",
          "enum": [
            "enabled",
            "disabled"
          ]
        },
        "sAgencyId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "candidate_booked_shifts_return": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_booked_shifts_item"
        },
        {
          "$ref": "#/definitions/candidate_booked_shifts_extra_data_item"
        },
        {
          "type": "object",
          "required": [
            "id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "candidate_booked_shifts_item": {
      "type": "object",
      "required": [
        "dtStart",
        "dtEnd",
        "sStaffingOrderId",
        "sSiteId",
        "sSiteName",
        "sBookedAgencyId",
        "sBookedAgencyName",
        "sStatusCode",
        "sBookedCandidateId",
        "sBookedCandidateName"
      ],
      "properties": {
        "dtStart": {
          "type": "string",
          "format": "date-time"
        },
        "dtEnd": {
          "type": "string",
          "format": "date-time"
        },
        "sStaffingOrderId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sTimeSheetId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sSiteId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sSiteName": {
          "type": "string"
        },
        "sBookedAgencyId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sBookedAgencyName": {
          "type": "string"
        },
        "sStatusCode": {
          "type": "string"
        },
        "sBookedCandidateId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sBookedCandidateName": {
          "type": "string"
        },
        "sWardName": {
          "type": "string"
        },
        "sWardId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sJobTitleName": {
          "type": "string"
        }
      }
    },
    "candidate_booked_shifts_extra_data_item": {
      "type": "object",
      "properties": {
        "arrClientAddress": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/array_client_address_item"
          }
        },
        "sAgencyAvatarUrl": {
          "type": "string"
        },
        "sPositionDescription": {
          "type": "string"
        },
        "sStaffingInstruction": {
          "type": "string"
        },
        "sReportsToName": {
          "type": "string"
        }
      }
    },
    "array_client_address_item": {
      "type": "object",
      "required": [
        "sAddressType",
        "sCountryCode",
        "sAddressLine1",
        "sPostalCode"
      ],
      "properties": {
        "sAddressType": {
          "type": "string"
        },
        "sCountryCode": {
          "type": "string"
        },
        "sProvince": {
          "type": "string"
        },
        "sAddressLine1": {
          "type": "string"
        },
        "sAddressLine2": {
          "type": "string"
        },
        "sCityTown": {
          "type": "string"
        },
        "sPostalCode": {
          "type": "string"
        },
        "objGeoLocation": {
          "$ref": "#/definitions/client_address_geo_location_item"
        }
      }
    },
    "client_address_geo_location_item": {
      "type": "object",
      "required": [
        "fLatitude",
        "fLongitude"
      ],
      "properties": {
        "fLatitude": {
          "type": "number"
        },
        "fLongitude": {
          "type": "number"
        }
      }
    },
    "user_integrations_return": {
      "type": "object",
      "required": [
        "sUserId",
        "sIntegration",
        "sIntegrationType",
        "sIntegrationAppId",
        "sToken",
        "id"
      ],
      "properties": {
        "sUserId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sIntegration": {
          "type": "string",
          "enum": [
            "intercom"
          ]
        },
        "sIntegrationType": {
          "type": "string",
          "enum": [
            "web",
            "ios",
            "android"
          ]
        },
        "sIntegrationAppId": {
          "type": "string"
        },
        "sToken": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "candidate_basic_info_return": {
      "type": "object",
      "required": [
        "dtModified",
        "dtCreated",
        "id",
        "sFirstName",
        "sLastName"
      ],
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "dtCreated": {
          "type": "string",
          "format": "date-time"
        },
        "dtModified": {
          "type": "string",
          "format": "date-time"
        },
        "sFirstName": {
          "type": "string"
        },
        "sLastName": {
          "type": "string"
        },
        "sGender": {
          "type": "string"
        },
        "dDateOfBirth": {
          "type": "string",
          "format": "date"
        },
        "sTitle": {
          "type": "string",
          "enum": [
            "mr",
            "mrs",
            "ms",
            "miss",
            "dr",
            "professor",
            "baron",
            "baroness",
            "brigadier",
            "canon",
            "captain",
            "duchess",
            "duke",
            "esq",
            "father",
            "hon",
            "inspector",
            "lady",
            "lord",
            "lt_col",
            "major",
            "most_rever",
            "pastor",
            "rabbi",
            "rev_dr",
            "reverend",
            "rt_reveren",
            "sir",
            "sister",
            "squadron_l",
            "wg_cdr"
          ]
        }
      }
    },
    "acl_groups_post_return": {
      "type": "object",
      "required": [
        "sName",
        "sRoleId",
        "objTopLevelResource",
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sName": {
          "type": "string"
        },
        "sRoleId": {
          "$ref": "#/definitions/role_id"
        },
        "arrResources": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/resource_item"
          }
        },
        "objTopLevelResource": {
          "$ref": "#/definitions/resource_item"
        },
        "bSystemGroup": {
          "type": "boolean"
        }
      }
    },
    "acl_groups_get_return": {
      "type": "object",
      "required": [
        "sName",
        "sRoleId",
        "objTopLevelResource",
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sName": {
          "type": "string"
        },
        "sRoleId": {
          "$ref": "#/definitions/get_role_id"
        },
        "arrResources": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/resource_item"
          }
        },
        "objTopLevelResource": {
          "$ref": "#/definitions/resource_item"
        },
        "bSystemGroup": {
          "type": "boolean"
        }
      }
    },
    "resource_item": {
      "type": "object",
      "required": [
        "mId",
        "sResource"
      ],
      "properties": {
        "mId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sResource": {
          "type": "string"
        }
      }
    },
    "acl_group_create": {
      "type": "object",
      "required": [
        "sName",
        "sRoleId",
        "arrResources"
      ],
      "properties": {
        "sName": {
          "type": "string",
          "minLength": 3,
          "maxLength": 50
        },
        "sRoleId": {
          "$ref": "#/definitions/role_id"
        },
        "arrResources": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/resource_item"
          },
          "minItems": 1
        }
      }
    },
    "acl_group_id_create": {
      "type": "object",
      "required": [
        "arrResources"
      ],
      "properties": {
        "sName": {
          "type": "string",
          "minLength": 3,
          "maxLength": 50
        },
        "sRoleId": {
          "$ref": "#/definitions/role_id"
        },
        "arrResources": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/resource_item"
          },
          "minItems": 1
        }
      }
    },
    "registration_policy_return": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "effective_at",
            "policy_type_id"
          ],
          "properties": {
            "_id": {
              "type": "string"
            },
            "policy_type": {
              "$ref": "#/definitions/policy_type_base"
            },
            "version": {
              "type": "integer",
              "minimum": 1
            },
            "display_version": {
              "type": "string"
            },
            "active": {
              "type": "boolean"
            },
            "status": {
              "type": "string",
              "enum": [
                "published"
              ]
            },
            "latest": {
              "type": "boolean"
            },
            "policy_type_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "effective_at": {
              "type": "string",
              "format": "date-time"
            }
          }
        }
      ]
    },
    "policy_return": {
      "allOf": [
        {
          "$ref": "#/definitions/policy_create"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "properties": {
            "_id": {
              "type": "string"
            },
            "policy_type": {
              "$ref": "#/definitions/policy_type_base"
            },
            "version": {
              "type": "integer",
              "minimum": 1
            },
            "display_version": {
              "type": "string"
            },
            "active": {
              "type": "boolean"
            },
            "status": {
              "type": "string",
              "enum": [
                "published"
              ]
            },
            "latest": {
              "type": "boolean"
            }
          }
        }
      ]
    },
    "policy_create": {
      "type": "object",
      "required": [
        "content",
        "effective_at",
        "policy_type_id"
      ],
      "properties": {
        "policy_type_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "content": {
          "$ref": "#/definitions/policy_content"
        },
        "prompt": {
          "$ref": "#/definitions/policy_prompt"
        },
        "effective_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "policy_content": {
      "type": "object",
      "required": [
        "html"
      ],
      "properties": {
        "html": {
          "type": "string",
          "maxLength": 800000,
          "minLength": 1
        },
        "css": {
          "type": "string",
          "minLength": 3
        }
      }
    },
    "policy_prompt": {
      "type": "object",
      "required": [
        "html"
      ],
      "properties": {
        "html": {
          "type": "string",
          "maxLength": 800000,
          "minLength": 1
        },
        "css": {
          "type": "string",
          "minLength": 3
        }
      }
    },
    "policy_type_return": {
      "allOf": [
        {
          "$ref": "#/definitions/policy_type_response"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        }
      ],
      "required": [
        "title",
        "description",
        "classification",
        "options"
      ]
    },
    "policy_type_create": {
      "allOf": [
        {
          "$ref": "#/definitions/policy_type_base"
        }
      ],
      "required": [
        "title",
        "description"
      ]
    },
    "policy_type_update": {
      "type": "object",
      "required": [
        "title",
        "description"
      ],
      "properties": {
        "title": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1
        },
        "description": {
          "type": "string",
          "maxLength": 1000,
          "minLength": 1
        },
        "classification": {
          "type": "string",
          "default": "acknowledgeable",
          "enum": [
            "viewable",
            "acknowledgeable"
          ]
        },
        "options": {
          "type": "object",
          "properties": {
            "public_policy": {
              "type": "boolean",
              "default": false
            },
            "registration_policy": {
              "type": "boolean",
              "default": false
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "policy_action_return": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/policy_action_create"
        },
        {
          "type": "object",
          "properties": {
            "resource_type": {
              "type": "string"
            },
            "resource_id": {
              "type": "string"
            },
            "policy_type_id": {
              "type": "string"
            },
            "policy_version": {
              "type": "integer"
            },
            "policy_effective_at": {
              "type": "string",
              "format": "date-time"
            },
            "actioned_at": {
              "type": "string",
              "format": "date-time"
            }
          }
        }
      ]
    },
    "policy_action_create": {
      "type": "object",
      "required": [
        "action_type"
      ],
      "properties": {
        "action_type": {
          "type": "string",
          "enum": [
            "acknowledged"
          ]
        },
        "tokens": {
          "type": "object",
          "required": [
            "candidate_full_name",
            "candidate_email"
          ],
          "properties": {
            "candidate_full_name": {
              "type": "string"
            },
            "candidate_email": {
              "type": "string"
            },
            "ip_address": {
              "type": "string",
              "format": "ipv4"
            }
          }
        }
      }
    },
    "processed_policy_return": {
      "type": "object",
      "required": [
        "policy_id",
        "policy_type_id",
        "content",
        "display_version",
        "version",
        "effective_at",
        "latest",
        "action"
      ],
      "properties": {
        "version": {
          "type": "integer"
        },
        "display_version": {
          "type": "string"
        },
        "effective_at": {
          "type": "string",
          "format": "date-time"
        },
        "latest": {
          "type": "boolean"
        },
        "status": {
          "type": "string",
          "enum": [
            "published"
          ]
        },
        "policy_id": {
          "type": "string"
        },
        "policy_type_id": {
          "type": "string"
        },
        "content": {
          "type": "string"
        },
        "prompt": {
          "type": "string"
        },
        "content_css": {
          "type": "string"
        },
        "prompt_css": {
          "type": "string"
        },
        "policy_type": {
          "$ref": "#/definitions/policy_type_base"
        },
        "action": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/policy_action_return"
          }
        }
      }
    },
    "policy_type_response": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1
        },
        "description": {
          "type": "string",
          "maxLength": 1000,
          "minLength": 1
        },
        "classification": {
          "type": "string",
          "default": "acknowledgeable",
          "enum": [
            "viewable",
            "acknowledgeable"
          ]
        },
        "options": {
          "type": "object",
          "properties": {
            "public_policy": {
              "type": "boolean",
              "default": false
            },
            "registration_policy": {
              "type": "boolean",
              "default": false
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "policy_type_base": {
      "type": "object",
      "required": [
        "title",
        "description"
      ],
      "properties": {
        "title": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1
        },
        "description": {
          "type": "string",
          "maxLength": 1000,
          "minLength": 1
        },
        "classification": {
          "type": "string",
          "default": "acknowledgeable",
          "enum": [
            "viewable",
            "acknowledgeable"
          ]
        },
        "options": {
          "type": "object",
          "properties": {
            "public_policy": {
              "type": "boolean",
              "default": false
            },
            "registration_policy": {
              "type": "boolean",
              "default": false
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "candidate_or_user_policy_return": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "properties": {
            "latest_policy": {
              "$ref": "#/definitions/embedded_policy"
            },
            "acknowledged_policy": {
              "$ref": "#/definitions/embedded_policy"
            },
            "resource_type": {
              "type": "string"
            },
            "resource_id": {
              "type": "string"
            },
            "policy_type_id": {
              "type": "string"
            },
            "policy_type_title": {
              "type": "string"
            },
            "policy_type_description": {
              "type": "string"
            },
            "policy_type_classification": {
              "type": "string",
              "default": "acknowledgeable",
              "enum": [
                "viewable",
                "acknowledgeable"
              ]
            }
          },
          "required": [
            "resource_type",
            "resource_id",
            "policy_type_id",
            "policy_type_title",
            "policy_type_description"
          ]
        }
      ]
    },
    "embedded_policy": {
      "type": "object",
      "properties": {
        "version": {
          "type": "integer",
          "minimum": 1
        },
        "effective_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "acl_user_details_return": {
      "type": "object",
      "required": [
        "sFirstName",
        "sLastName",
        "id"
      ],
      "properties": {
        "sFirstName": {
          "type": "string"
        },
        "sLastName": {
          "type": "string"
        },
        "sUsername": {
          "type": "string"
        },
        "id": {
          "type": "string"
        }
      }
    },
    "acl_group_user_create": {
      "type": "object"
    },
    "acl_group_user_return": {
      "type": "object",
      "required": [
        "sUserId",
        "arrGroup",
        "id",
        "dtModified",
        "dtCreated"
      ],
      "properties": {
        "sUserId": {
          "type": "string"
        },
        "arrGroup": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "dtCreated": {
          "type": "string"
        },
        "dtModified": {
          "type": "string"
        },
        "id": {
          "type": "string"
        }
      }
    },
    "acl_user_details_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "MODEL_VALIDATION_FAILED",
            "ENUM_MISMATCH",
            "MIN_LENGTH"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/validation_error_item_base"
          }
        }
      }
    },
    "acl_group_delete_validation_errors": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/acl_group_delete_validation_errors_item"
          }
        }
      }
    },
    "acl_group_delete_validation_errors_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "NO_REQUIRED_RESOURCES",
                "GROUP_DOES_NOT_EXIST",
                "NO_USER_FOUND",
                "USER_ALREADY_LINKED_TO_GROUP",
                "SOME_GROUPS_DOES_NOT_EXIST"
              ]
            }
          }
        }
      ]
    },
    "acl_group_update_validation_errors": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/acl_group_update_validation_errors_item"
          }
        }
      }
    },
    "acl_group_update_validation_errors_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "GROUP_DOES_NOT_EXIST",
                "NO_USER_FOUND",
                "USER_ALREADY_LINKED_TO_GROUP",
                "SOME_GROUPS_DOES_NOT_EXIST",
                "NO_REQUIRED_RESOURCES",
                "INVALID_HEADER_VALUE_SPECIFIED"
              ]
            }
          }
        }
      ]
    },
    "mongoose_default_fields": {
      "type": "object",
      "required": [
        "_id",
        "updated_at",
        "created_at",
        "__v"
      ],
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "__v": {
          "type": "integer"
        }
      }
    },
    "InvitationSendType": {
      "type": "object",
      "properties": {
        "resend": {
          "type": "boolean",
          "description": "If true resend of invitation is expected."
        }
      },
      "required": [
        "resend"
      ]
    },
    "SuccessResponse": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "true on success"
        }
      }
    },
    "MiscDetailsWithIdPost": {
      "type": "object",
      "required": [
        "objMiscDetails",
        "dtModified",
        "id"
      ],
      "properties": {
        "objMiscDetails": {
          "type": "object",
          "properties": {
            "sTransportType": {
              "type": "string"
            }
          }
        },
        "dtModified": {
          "type": "string"
        },
        "dtCreated": {
          "type": "string"
        },
        "id": {
          "type": "string"
        }
      }
    },
    "MiscDetailsWithIdGet": {
      "type": "object",
      "required": [
        "objMiscDetails",
        "dtModified",
        "dtCreated",
        "id"
      ],
      "properties": {
        "objMiscDetails": {
          "type": "object",
          "properties": {
            "sTransportType": {
              "type": "string"
            }
          }
        },
        "dtModified": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "dtCreated": {
          "type": "string"
        }
      }
    },
    "MiscDetailsWithoutId": {
      "type": "object",
      "required": [
        "objMiscDetails"
      ],
      "properties": {
        "objMiscDetails": {
          "type": "object",
          "properties": {
            "sTransportType": {
              "type": "string"
            }
          }
        }
      }
    },
    "NextOfKinDetailsWithIdGet": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "sNextOfKinId": {
          "type": "string"
        },
        "sName": {
          "type": "string"
        },
        "sRelationship": {
          "type": "string"
        },
        "sContactNumber": {
          "type": "string"
        },
        "sComment": {
          "type": "string"
        },
        "objAddress": {
          "type": "object",
          "properties": {
            "sAddressType": {
              "type": "string"
            },
            "sCountryCode": {
              "type": "string"
            },
            "sProvince": {
              "type": "string"
            },
            "sAddressLine1": {
              "type": "string"
            },
            "sAddressLine2": {
              "type": "string"
            },
            "sCityTown": {
              "type": "string"
            },
            "sPostalCode": {
              "type": "string"
            },
            "co_ords": {
              "$ref": "#/definitions/co_ords"
            }
          }
        },
        "id": {
          "type": "string"
        }
      }
    },
    "PluginDisplay": {
      "type": "object",
      "required": [
        "dtCreated",
        "dtModified",
        "objPluginAsset",
        "objSetting",
        "sPluginSettingId",
        "sPluginType",
        "sResourceType"
      ],
      "properties": {
        "sPluginSettingId": {
          "type": "string",
          "description": "The id of the setting that will be used for this plugin"
        },
        "objPluginAsset": {
          "$ref": "#/definitions/objPluginAsset"
        },
        "dtModified": {
          "type": "string",
          "description": "Date the document was last updated",
          "format": "date-time"
        },
        "dtCreated": {
          "type": "string",
          "description": "Date the document was created",
          "format": "date-time"
        },
        "objSetting": {
          "$ref": "#/definitions/objSetting"
        },
        "sPluginType": {
          "type": "string",
          "description": "The type of plugin"
        },
        "sResourceType": {
          "type": "string",
          "description": "The type of resource for which the plugin was created"
        }
      }
    },
    "objPluginAsset": {
      "type": "object",
      "required": [
        "objOwner",
        "sResourceId"
      ],
      "properties": {
        "objOwner": {
          "$ref": "#/definitions/objOwner"
        },
        "sResourceId": {
          "type": "string",
          "description": "The id of the resource thatthe plugin will be created for"
        }
      }
    },
    "objOwner": {
      "type": "object",
      "required": [
        "sOwnerId",
        "sOwnerType"
      ],
      "properties": {
        "sOwnerId": {
          "type": "string",
          "description": "The id of the resource that creates the plugin setting"
        },
        "sOwnerType": {
          "type": "string",
          "description": "The name of the resource that creates the plugin setting"
        }
      }
    },
    "objSetting": {
      "type": "object",
      "required": [
        "sFormUrl",
        "sMenuIcon",
        "sMenuIconSelected",
        "sMenuLabel",
        "sOverviewUrl",
        "sPluginName"
      ],
      "properties": {
        "sPluginName": {
          "type": "string",
          "description": "The name of the plugin for which the setting is being created"
        },
        "sMenuIcon": {
          "type": "string",
          "description": "The icon that will be displayed for the plugin menu item"
        },
        "sMenuIconSelected": {
          "type": "string",
          "description": "The icon that will be displayed for the plugin menu item when it is selected"
        },
        "sMenuLabel": {
          "type": "string",
          "description": "The label for them plugin menu item"
        },
        "sOverviewUrl": {
          "type": "string",
          "description": "The url pointing to the Overview resource of the plugin"
        },
        "sFormUrl": {
          "type": "string",
          "description": "The url pointing to the Form resource of the plugin"
        }
      }
    },
    "policy_create_validation_errors": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/policy_create_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "policy_create_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "POLICY_TYPE_ID_NOT_LINKED",
                "POLICY_TYPE_ID_DOES_NOT_EXIST",
                "EFFECTIVE_AT_IN_THE_PAST",
                "MIN_LENGTH",
                "MAX_LENGTH",
                "PATTERN",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "OBJECT_ADDITIONAL_PROPERTIES",
                "INVALID_HEADER_VALUE_SPECIFIED",
                "ENUM_MISMATCH"
              ]
            }
          }
        }
      ]
    },
    "policy_type_create_validation_errors": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED",
                "PATTERN",
                "REQUIRED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/policy_type_create_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "policy_type_create_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "MIN_LENGTH",
                "MAX_LENGTH",
                "INVALID_HEADER_VALUE_SPECIFIED",
                "OBJECT_ADDITIONAL_PROPERTIES"
              ]
            }
          }
        }
      ]
    },
    "policy_type_update_validation_errors": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED",
                "PATTERN",
                "ENUM_MISMATCH",
                "REQUIRED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/policy_type_update_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "policy_type_update_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "MIN_LENGTH",
                "MAX_LENGTH",
                "INVALID_HEADER_VALUE_SPECIFIED",
                "ENUM_MISMATCH",
                "POLICY_TYPE_ALREADY_IN_USE",
                "OBJECT_ADDITIONAL_PROPERTIES"
              ]
            }
          }
        }
      ]
    },
    "policy_action_create_validation_errors": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED",
                "PATTERN",
                "INVALID_TYPE",
                "ENUM_MISMATCH"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/policy_action_create_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "policy_action_create_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "ENUM_MISMATCH",
                "INVALID_FORMAT",
                "POLICY_VERSION_NOT_LATEST",
                "POLICY_ALREADY_ACKNOWLEDGED",
                "ACTION_NOT_PERMITTED_ON_POLICY_VERSION",
                "INVALID_HEADER_VALUE_SPECIFIED",
                "OBJECT_MISSING_REQUIRED_PROPERTY"
              ]
            }
          }
        }
      ]
    },
    "policy_action_return_validation_errors": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "INVALID_TYPE",
            "ENUM_MISMATCH"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "policy_type_version_get_acknowledgement_validation_errors": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "MODEL_VALIDATION_FAILED",
                "PATTERN",
                "INVALID_TYPE"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/policy_type_version_get_acknowledgement_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "policy_type_version_get_acknowledgement_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "INVALID_TYPE"
              ]
            }
          }
        }
      ]
    },
    "policy_pdf_download_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "INVALID_TYPE"
              ]
            }
          }
        }
      ]
    },
    "policy_pdf_download_validation_errors": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "MODEL_VALIDATION_FAILED",
                "PATTERN",
                "INVALID_TYPE",
                "ENUM_MISMATCH"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/policy_pdf_download_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "policy_pdf_preview_validation_errors": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/policy_pdf_preview_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "policy_pdf_preview_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "MAX_LENGTH",
                "INVALID_TYPE",
                "PATTERN",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "INVALID_FORMAT",
                "INVALID_HEADER_VALUE_SPECIFIED"
              ]
            }
          }
        }
      ]
    },
    "candidate_availability_upsert_validation_errors": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED",
                "PATTERN",
                "REQUIRED",
                "ENUM_MISMATCH"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_availability_upsert_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "candidate_availability_upsert_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "ARRAY_LENGTH_SHORT",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "ENUM_MISMATCH",
                "INVALID_FORMAT",
                "DUPLICATE_AVAILABILITY_DATE_FOUND",
                "INVALID_HEADER_VALUE_SPECIFIED"
              ]
            }
          }
        }
      ]
    },
    "equality_get_validation_errors": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED"
              ]
            }
          }
        }
      ]
    },
    "equality_update_validation_errors": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "SCHEMA_VALIDATION_FAILED",
                "PATTERN",
                "REQUIRED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/equality_update_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "equality_update_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "ENUM_MISMATCH",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "INVALID_TYPE",
                "INVALID_HEADER_VALUE_SPECIFIED"
              ]
            }
          }
        }
      ]
    },
    "candidate_booked_shifts_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "REQUIRED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_booked_shifts_validation_error_item"
          }
        }
      }
    },
    "candidate_booked_shifts_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "CAST_FOR_DATA_TYPE_DATETIME_FAILED"
              ]
            }
          }
        }
      ]
    },
    "users_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "REQUIRED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/users_validation_error_item"
          }
        }
      }
    },
    "users_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "CAST_FOR_DATA_TYPE_DATETIME_FAILED"
              ]
            }
          }
        }
      ]
    },
    "user_validation_errors": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "INVALID_TYPE",
            "PATTERN",
            "ENUM_MISMATCH",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_user_validation_error_item"
          }
        }
      }
    },
    "agency_group_user_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "CAST_FOR_DATA_TYPE_DATETIME_FAILED",
                "NON_EXISTENT_PROPERTY",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "REQUIRED",
                "TOO_YOUNG",
                "TOO_OLD",
                "MIN_LENGTH",
                "MAX_LENGTH",
                "REGEX_NAME_NO_MATCH",
                "INVALID_HEADER_VALUE_SPECIFIED"
              ]
            }
          }
        }
      ]
    },
    "user_integrations_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "get_agency_candidate_basic_info_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "ENUM_MISMATCH"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "put_candidate_basic_info_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validationErrorModel"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/put_candidate_basic_info_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "put_candidate_basic_info_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validationErrorModel"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "MIN_LENGTH",
                "MAX_LENGTH",
                "PATTERN",
                "ENUM_MISMATCH",
                "REQUIRED",
                "OBJECT_ADDITIONAL_PROPERTIES"
              ]
            }
          }
        }
      ]
    },
    "get_candidate_basic_info_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "get_candidate_misc_details_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "put_candidate_misc_details_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validationErrorModel"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "CONTENT_TYPE_NOT_SUPPORTED",
                "SCHEMA_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/put_candidate_misc_details_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "put_candidate_misc_details_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "ENUM_MISMATCH",
                "INVALID_TYPE"
              ]
            }
          }
        }
      ]
    },
    "acl_groups_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "MIN_LENGTH",
            "MAX_LENGTH",
            "ENUM_MISMATCH",
            "MINIMUM",
            "INVALID_TYPE"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "job_routes_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "ENUM_MISMATCH",
            "INVALID_TYPE"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "agency_site_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "ENUM_MISMATCH",
            "INVALID_TYPE"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "objSiteGeoLocation": {
      "type": "object",
      "required": [
        "fLongitude",
        "fLatitude"
      ],
      "properties": {
        "fLongitude": {
          "type": "number"
        },
        "fLatitude": {
          "type": "number"
        }
      }
    },
    "acl_group_post_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "ENUM_MISMATCH",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/acl_group_post_error"
          }
        }
      }
    },
    "acl_group_post_error": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "MIN_LENGTH",
            "MAX_LENGTH",
            "ENUM_MISMATCH",
            "INVALID_TYPE",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "ARRAY_LENGTH_SHORT",
            "INVALID_RESOURCE_REFERENCE_REFERENCE_VALUE",
            "INVALID_HEADER_VALUE_SPECIFIED"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "acl_group_id_post_error": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "MIN_LENGTH",
            "MAX_LENGTH",
            "ENUM_MISMATCH",
            "INVALID_TYPE",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "ARRAY_LENGTH_SHORT",
            "INVALID_RESOURCE_ID",
            "INVALID_HEADER_VALUE_SPECIFIED"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "acl_group_id_get_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "acl_group_id_post_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "ENUM_MISMATCH",
            "PATTERN",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/acl_group_id_post_error"
          }
        }
      }
    },
    "conflict_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "CONFLICT_ERROR"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "get_list_validation_error_base": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "INVALID_TYPE",
            "ENUM_MISMATCH",
            "MINIMUM",
            "MODEL_VALIDATION_FAILED",
            "PATTERN"
          ]
        }
      }
    },
    "validation_error_base": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED",
            "ENUM_MISMATCH"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "validation_error_item_base": {
      "type": "object",
      "required": [
        "message",
        "path"
      ],
      "properties": {
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "languages": {
      "type": "object",
      "required": [
        "name",
        "code"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "code": {
          "type": "string"
        }
      }
    },
    "resource_not_found_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "RESOURCE_NOT_FOUND"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "pattern_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "pattern_enum_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "pattern_required_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "serverErrorModel": {
      "type": "object",
      "required": [
        "message"
      ],
      "properties": {
        "message": {
          "type": "string"
        },
        "exception": {
          "$ref": "#/definitions/exceptionModel"
        }
      }
    },
    "exceptionModel": {
      "type": "object"
    },
    "clientErrorModel": {
      "type": "object",
      "required": [
        "message"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "validationErrorSchemaPostMisc": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/validationErrorSingleSchemaPostMisc"
          }
        }
      }
    },
    "validationErrorSingleSchemaPostMisc": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "AT_LEAST_ONE_MUST_BE_SET",
            "NOT_IN_SET",
            "NON_EXISTENT_PROPERTY",
            "INVALID_TYPE",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "INVALID_HEADER_VALUE_SPECIFIED"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "validationErrorModel": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/validationErrorSingleModel"
          }
        }
      }
    },
    "candidate_plugin_get_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED",
            "PATTERN",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/validationErrorSingleModel"
          }
        }
      }
    },
    "validationErrorSingleModel": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "getValidationErrorCandidateEqualityModel": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "validationErrorCandidateEqualityModel": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "VALIDATION_ERROR",
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/validationErrorCandidateEqualitySingleModel"
          }
        }
      }
    },
    "validationErrorCandidateEqualitySingleModel": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "ENUM_MISMATCH",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "INVALID_TYPE",
            "INVALID_HEADER_VALUE_SPECIFIED"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "validationErrorSchemaPostRecruitment": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/validationErrorSingleSchemaPostRecruitment"
          }
        }
      }
    },
    "validationErrorSingleSchemaPostRecruitment": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "NOT_IN_SET",
            "AT_LEAST_ONE_MUST_BE_SET",
            "INVALID_FORMAT",
            "NON_EXISTENT_PROPERTY",
            "INVALID_DECIMAL_POINT",
            "MIN_LIMIT",
            "MAX_LIMIT",
            "MINIMUM",
            "MAXIMUM",
            "INVALID_TYPE",
            "INVALID_HEADER_VALUE_SPECIFIED"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "arrLanguagesModel": {
      "type": "object",
      "required": [
        "sLanguageId",
        "sLanguageProficiency"
      ],
      "properties": {
        "sLanguageId": {
          "type": "string",
          "description": "The id of the specific language"
        },
        "sLanguageProficiency": {
          "type": "string",
          "description": "The language proficiency"
        }
      }
    },
    "arrLanguagesPostModel": {
      "type": "object",
      "required": [
        "arrLanguages"
      ],
      "properties": {
        "arrLanguages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/arrLanguagesModel"
          }
        }
      }
    },
    "recruitmentPreference": {
      "type": "object",
      "required": [
        "bIsSeekingWork",
        "arrPreferedWorkTypes",
        "fPreferredWorkDistance",
        "dtModified",
        "id"
      ],
      "properties": {
        "bIsSeekingWork": {
          "type": "boolean",
          "description": "Whether the candidate is looking for a job or not"
        },
        "arrPreferedWorkTypes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "fPreferredWorkDistance": {
          "type": "string",
          "description": "The perefered distance of the work place"
        },
        "dtModified": {
          "type": "string",
          "description": "Date the document was last updated"
        },
        "id": {
          "type": "string",
          "description": "The id of the candidate whose recruitment details will be returned"
        }
      }
    },
    "arrRecruitmenPostModel": {
      "type": "object",
      "properties": {
        "bIsSeekingWork": {
          "type": "boolean",
          "description": "Whether the candidate is looking for job"
        },
        "arrPreferedWorkTypes": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "Type of the work requested , permanent or contract"
          }
        },
        "fPreferredWorkDistance": {
          "minimum": 1,
          "maximum": 99999999999999,
          "type": "number",
          "description": "prefered distance of the work from the living place"
        }
      }
    },
    "CandidateEqualityProfile": {
      "type": "object",
      "required": [
        "objEqualityMonitoring",
        "dtModified",
        "id"
      ],
      "properties": {
        "objEqualityMonitoring": {
          "type": "object",
          "properties": {
            "sMaritalStatus": {
              "type": "string",
              "description": "The marital status"
            },
            "sReligion": {
              "type": "string",
              "description": "The religion group"
            },
            "sEthnicOrigin": {
              "type": "string",
              "description": "The Ethnic"
            },
            "sSexualOrientation": {
              "type": "string",
              "description": "The Sexual Orientation"
            },
            "sGenderIdentity": {
              "type": "string",
              "description": "The Gender Identity"
            },
            "bDisabled": {
              "type": "boolean",
              "description": "Disability status"
            },
            "sAgeGroup": {
              "type": "string",
              "description": "The age group"
            }
          }
        },
        "dtCreated": {
          "type": "string",
          "description": "Date the document was created"
        },
        "dtModified": {
          "type": "string",
          "description": "Date the document was last updated"
        },
        "id": {
          "type": "string",
          "description": "Candidate id"
        }
      }
    },
    "timesheet_email_success": {
      "type": "object",
      "required": [
        "sStatus"
      ],
      "properties": {
        "sStatus": {
          "type": "string",
          "enum": [
            "success"
          ]
        }
      }
    },
    "equality_res": {
      "type": "object",
      "required": [
        "religion",
        "ethnic_origin",
        "sexual_orientation",
        "gender_identity"
      ],
      "properties": {
        "religion": {
          "$ref": "#/definitions/religion_param"
        },
        "sexual_orientation": {
          "$ref": "#/definitions/sexual_orientation_param"
        },
        "ethnic_origin": {
          "$ref": "#/definitions/ethnic_origin"
        },
        "gender_identity": {
          "$ref": "#/definitions/gender_identity_param"
        },
        "disabled": {
          "type": "boolean"
        }
      }
    },
    "timesheet_email_validation_errors": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED",
            "REQUIRED",
            "ENUM_MISMATCH",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/timesheet_email_validation_error_item"
          }
        }
      }
    },
    "timesheet_pdf_validation_errors": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "ENUM_MISMATCH",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "timesheet_email_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "INVALID_HEADER_VALUE_SPECIFIED"
              ]
            }
          }
        }
      ]
    },
    "availability_validation_errors": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED",
            "REQUIRED",
            "ENUM_MISMATCH",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/availability_validation_error_item"
          }
        }
      }
    },
    "availability_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string"
            }
          }
        }
      ]
    },
    "user_or_candidate_policy_validation_errors": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "ENUM_MISMATCH",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "method_not_supported": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "METHOD_NOT_SUPPORTED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "get_delete_language_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "put_post_language_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "CONTENT_TYPE_NOT_SUPPORTED",
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/put_post_language_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "put_post_language_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "MIN_LENGTH",
                "MAX_LENGTH",
                "ENUM_MISMATCH",
                "INVALID_VALUE_SPECIFIED",
                "INVALID_HEADER_VALUE_SPECIFIED"
              ]
            }
          }
        }
      ]
    },
    "get_agency_contact_number_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "ENUM_MISMATCH",
            "MODEL_VALIDATION_FAILED",
            "INVALID_TYPE"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "agency_contact_number_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/agency_contact_number_validation_error_item"
        }
      ]
    },
    "agency_contact_number_validation_error_item": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "ENUM_MISMATCH",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_contact_number_error_single_model"
          }
        }
      }
    },
    "agency_contact_number_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "REQUIRED",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "MIN_LENGTH",
            "INVALID_TYPE",
            "INVALID_VALUE_SPECIFIED",
            "DUPLICATE_TYPE"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "candidate_type_response_def": {
      "description": "The Candidate type",
      "type": "object",
      "required": [
        "name",
        "country"
      ],
      "properties": {
        "_id": {
          "type": "string",
          "description": "Combination of the country code added to the name lower cased and spaces replaced with underscores"
        },
        "name": {
          "type": "string",
          "description": "The displayable candidate type name"
        },
        "country": {
          "type": "string",
          "description": "the country code"
        }
      }
    },
    "co_ords": {
      "type": "object",
      "description": "The geo-location information, co-ordinates",
      "additionalProperties": false,
      "properties": {
        "longitude": {
          "type": "number"
        },
        "latitude": {
          "type": "number"
        }
      }
    },
    "candidate_address_item_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_address_item_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "co_ords": {
              "$ref": "#/definitions/co_ords"
            },
            "geo_location_last_checked_at": {
              "type": "string",
              "format": "date-time"
            },
            "geo_location_details": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "manual",
                    "lookup",
                    "lookup_failed"
                  ]
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      ]
    },
    "agency_candidate_address_item_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_address_item_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "co_ords": {
              "$ref": "#/definitions/co_ords"
            },
            "geo_location_last_checked_at": {
              "type": "string",
              "format": "date-time"
            },
            "geo_location_details": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "manual",
                    "lookup",
                    "lookup_failed"
                  ]
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      ]
    },
    "agency_group_candidate_address_item_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_address_item_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "agency_group_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "co_ords": {
              "$ref": "#/definitions/co_ords"
            },
            "geo_location_last_checked_at": {
              "type": "string",
              "format": "date-time"
            },
            "geo_location_details": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "manual",
                    "lookup",
                    "lookup_failed"
                  ]
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      ]
    },
    "candidate_address_item_def": {
      "description": "address details item",
      "type": "object",
      "required": [
        "type",
        "address_line1",
        "country_code",
        "post_code"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "physical_address",
            "postal_address",
            "alternative_address"
          ]
        },
        "address_line1": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "address_line2": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "province": {
          "type": "string",
          "minLength": 2,
          "maxLength": 100
        },
        "country_code": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        },
        "post_code": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        }
      },
      "additionalProperties": false
    },
    "get_delete_address_details_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/get_delete_address_details_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "get_delete_address_details_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "ENUM_MISMATCH",
                "INVALID_VALUE_SPECIFIED",
                "TYPE_DELETE_FORBIDDEN"
              ]
            }
          }
        }
      ]
    },
    "put_post_address_details_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "CONTENT_TYPE_NOT_SUPPORTED",
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/put_post_address_details_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "put_post_address_details_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "MIN_LENGTH",
                "MAX_LENGTH",
                "PATTERN",
                "ENUM_MISMATCH",
                "INVALID_VALUE_SPECIFIED",
                "OBJECT_ADDITIONAL_PROPERTIES",
                "MAX_ITEMS_ALLOWED",
                "TYPE_UPDATE_FORBIDDEN",
                "INVALID_COUNTRY_CODE"
              ]
            }
          }
        }
      ]
    },
    "emails_def": {
      "type": "object",
      "required": [
        "email",
        "label",
        "status"
      ],
      "properties": {
        "email": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      }
    },
    "contact_numbers_def": {
      "type": "object",
      "required": [
        "type",
        "number"
      ],
      "properties": {
        "type": {
          "type": "string"
        },
        "number": {
          "type": "string"
        }
      }
    },
    "languages_def": {
      "type": "object",
      "required": [
        "code",
        "proficiency",
        "name"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "proficiency": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "employment_held": {
      "type": "object",
      "required": [
        "job_family_id",
        "job_family_name",
        "job_title_id",
        "job_title_name",
        "total_time",
        "last_employed_at"
      ],
      "properties": {
        "job_family_id": {
          "type": "string"
        },
        "job_family_name": {
          "type": "string"
        },
        "job_title_id": {
          "type": "string"
        },
        "job_title_name": {
          "type": "string"
        },
        "total_time": {
          "type": "integer"
        },
        "last_employed_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "activity_type_def": {
      "type": "object",
      "required": [
        "activity_type",
        "total",
        "last_activity_at"
      ],
      "properties": {
        "activity_type": {
          "type": "string"
        },
        "total": {
          "type": "integer"
        },
        "last_activity_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "document_model_def": {
      "type": "object",
      "required": [
        "status",
        "system_document_type_id",
        "uploaded_at"
      ],
      "properties": {
        "status": {
          "type": "string"
        },
        "system_document_type_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "uploaded_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "external_documents_def": {
      "type": "object",
      "required": [
        "name",
        "type_id",
        "date"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "type_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "date": {
          "type": "string",
          "format": "date-time"
        },
        "expiry_date": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "physical_address_geo_location_def": {
      "type": "object",
      "required": [
        "type",
        "coordinates"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "Point"
          ]
        },
        "coordinates": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "minItems": 2,
          "maxItems": 2,
          "example": [
            18.577658,
            -33.907298
          ]
        }
      }
    },
    "user_processed_policy_return": {
      "type": "object",
      "required": [
        "policy_id",
        "policy_type_id",
        "content",
        "display_version",
        "version",
        "effective_at",
        "latest",
        "action"
      ],
      "properties": {
        "version": {
          "type": "integer"
        },
        "display_version": {
          "type": "string"
        },
        "effective_at": {
          "type": "string",
          "format": "date-time"
        },
        "latest": {
          "type": "boolean"
        },
        "status": {
          "type": "string",
          "enum": [
            "published"
          ]
        },
        "policy_id": {
          "type": "string"
        },
        "policy_type_id": {
          "type": "string"
        },
        "content": {
          "type": "string"
        },
        "prompt": {
          "type": "string"
        },
        "content_css": {
          "type": "string"
        },
        "prompt_css": {
          "type": "string"
        },
        "policy_type": {
          "$ref": "#/definitions/policy_type_base"
        },
        "action": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/user_policy_action_return"
          }
        }
      }
    },
    "user_policy_action_return": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/user_policy_action_create"
        },
        {
          "type": "object",
          "properties": {
            "resource_type": {
              "type": "string"
            },
            "resource_id": {
              "type": "string"
            },
            "policy_type_id": {
              "type": "string"
            },
            "policy_version": {
              "type": "integer"
            },
            "policy_effective_at": {
              "type": "string",
              "format": "date-time"
            },
            "actioned_at": {
              "type": "string",
              "format": "date-time"
            }
          }
        }
      ]
    },
    "user_policy_action_create": {
      "type": "object",
      "required": [
        "action_type"
      ],
      "properties": {
        "action_type": {
          "type": "string",
          "enum": [
            "acknowledged"
          ]
        },
        "tokens": {
          "type": "object",
          "required": [
            "user_full_name",
            "user_email"
          ],
          "properties": {
            "user_full_name": {
              "type": "string"
            },
            "user_email": {
              "type": "string"
            },
            "ip_address": {
              "type": "string",
              "format": "ipv4"
            }
          }
        }
      }
    },
    "settings_registration_content_payload": {
      "type": "object",
      "required": [
        "logo_url",
        "display_name",
        "vanity_name",
        "candidate_types",
        "country_code"
      ],
      "properties": {
        "logo_url": {
          "type": "string",
          "description": "The url to the logo",
          "pattern": "^(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]\\.[^\\s]{2,})$"
        },
        "display_name": {
          "type": "string",
          "description": "The display name for the agency group"
        },
        "email_content": {
          "type": "string",
          "description": "This will be HTML blob to be added to the registration email, send out on behalf of the Agency group.",
          "minLength": 1,
          "maxLength": 3000
        },
        "vanity_name": {
          "type": "string",
          "description": "The name to use to look up the id",
          "pattern": "^[0-9a-zA-Z]+$",
          "minLength": 3,
          "maxLength": 50
        },
        "candidate_types": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_type_payload"
          },
          "minItems": 1
        },
        "email_contact": {
          "type": "string",
          "description": "The email contact address of the agency group",
          "format": "email"
        },
        "country_code": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2,
          "description": "The country code"
        }
      }
    },
    "settings_registration_content_response": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "logo_url",
            "display_name",
            "vanity_name",
            "candidate_types",
            "country_code"
          ],
          "properties": {
            "agency_group_id": {
              "type": "string",
              "description": "The id of the agency group"
            },
            "logo_url": {
              "type": "string",
              "description": "The url to the logo",
              "pattern": "^(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]\\.[^\\s]{2,})$"
            },
            "display_name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 300,
              "description": "The display name for the agency group"
            },
            "email_content": {
              "type": "string",
              "description": "This will be HTML blob to be added to the registration email, send out on behalf of the Agency group.",
              "minLength": 1,
              "maxLength": 300
            },
            "vanity_name": {
              "type": "string",
              "description": "The name to use to look up the id",
              "pattern": "^[0-9a-zA-Z]+$",
              "minLength": 3,
              "maxLength": 50
            },
            "candidate_types": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_type_response"
              }
            },
            "email_contact": {
              "type": "string",
              "description": "The email contact address of the agency group",
              "format": "email"
            },
            "country_code": {
              "type": "string",
              "minLength": 2,
              "maxLength": 2,
              "description": "The country code"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "vanity_settings_registration_content_response": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "logo_url",
            "display_name",
            "vanity_name",
            "candidate_types",
            "country_code"
          ],
          "properties": {
            "agency_group_id": {
              "type": "string",
              "description": "The id of the agency group"
            },
            "logo_url": {
              "type": "string",
              "description": "The url to the logo",
              "pattern": "^(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]\\.[^\\s]{2,})$"
            },
            "display_name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 300,
              "description": "The display name for the agency group"
            },
            "email_content": {
              "type": "string",
              "description": "This will be HTML blob to be added to the registration email, send out on behalf of the Agency group.",
              "minLength": 1,
              "maxLength": 300
            },
            "vanity_name": {
              "type": "string",
              "description": "The name to use to look up the id",
              "pattern": "^[0-9a-zA-Z]+$",
              "minLength": 3,
              "maxLength": 50
            },
            "candidate_types": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/vanity_candidate_type_response"
              }
            },
            "email_contact": {
              "type": "string",
              "description": "The email contact address of the agency group",
              "format": "email"
            },
            "country_code": {
              "type": "string",
              "minLength": 2,
              "maxLength": 2,
              "description": "The country code"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "candidate_type_response": {
      "type": "object",
      "required": [
        "name",
        "country",
        "candidate_type_id"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of candidate type"
        },
        "country": {
          "type": "string",
          "description": "The country name of candidate type"
        },
        "candidate_type_id": {
          "type": "string",
          "description": "The id of candidate type"
        },
        "attachments": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          "description": "The attachments related to the candidate type"
        }
      },
      "additionalProperties": false
    },
    "vanity_candidate_type_response": {
      "type": "object",
      "required": [
        "name",
        "country",
        "candidate_type_id"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of candidate type"
        },
        "country": {
          "type": "string",
          "description": "The country name of candidate type"
        },
        "candidate_type_id": {
          "type": "string",
          "description": "The id of candidate type"
        }
      },
      "additionalProperties": false
    },
    "candidate_type_payload": {
      "type": "object",
      "required": [
        "candidate_type_id"
      ],
      "properties": {
        "candidate_type_id": {
          "type": "string"
        },
        "attachments": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          "uniqueItems": true
        }
      },
      "additionalProperties": false
    },
    "get_vanity_name_settings_validation": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MODEL_VALIDATION_FAILED",
            "SCHEMA_VALIDATION_FAILED",
            "REQUIRED",
            "PATTERN",
            "MIN_LENGTH",
            "MAX_LENGTH",
            "INVALID_TYPE"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "agency_group_candidate_registration_create": {
      "type": "object",
      "required": [
        "sFirstName",
        "sLastName",
        "sCandidateType",
        "sUsername",
        "sPassword",
        "sMobileNumber",
        "dDateOfBirth",
        "sEmailAddress"
      ],
      "properties": {
        "sFirstName": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "sLastName": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "sCandidateType": {
          "type": "string",
          "minLength": 3
        },
        "dDateOfBirth": {
          "type": "string",
          "format": "date"
        },
        "sEmailAddress": {
          "type": "string",
          "pattern": "^(([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$"
        },
        "sPassword": {
          "type": "string"
        },
        "sUsername": {
          "type": "string",
          "pattern": "^[A-Za-z0-9]+(\\.|[_A-Za-z0-9-]+)*$",
          "minLength": 3,
          "maxLength": 100
        },
        "sMobileNumber": {
          "type": "string",
          "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
        },
        "sTimezone": {
          "type": "string"
        },
        "arrSignedPolicies": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/signed_policies_item"
          }
        }
      }
    },
    "signed_policies_item": {
      "type": "object",
      "required": [
        "sPolicyTypeId",
        "iPolicyVersion",
        "sResource",
        "sResourceId"
      ],
      "properties": {
        "sPolicyTypeId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{1,}$"
        },
        "iPolicyVersion": {
          "type": "integer",
          "minimum": 1
        },
        "sResource": {
          "type": "string",
          "minLength": 3,
          "maxLength": 100
        },
        "sResourceId": {
          "type": "string"
        }
      }
    },
    "agency_group_candidate_registration_return": {
      "type": "object",
      "properties": {
        "dtCreated": {
          "type": "string",
          "format": "date-time"
        },
        "dtModified": {
          "type": "string",
          "format": "date-time"
        },
        "sFirstName": {
          "type": "string"
        },
        "sLastName": {
          "type": "string"
        },
        "dDateOfBirth": {
          "type": "string",
          "format": "date"
        },
        "sEmailAddress": {
          "type": "string"
        },
        "sCandidateId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sAgencyGroupId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sAgencyGroupName": {
          "type": "string"
        },
        "sCandidateType": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "agency_group_candidate_registration_validation_errors": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED",
                "PATTERN",
                "ENUM_MISMATCH"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_candidate_registration_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "agency_group_candidate_registration_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "INVALID_FORMAT",
                "INVALID_CANDIDATE_TYPE",
                "CANDIDATE_ALREADY_LINKED_TO_USER",
                "USER_DOES_NOT_HAVE_INVITATION",
                "MIN_LENGTH",
                "MAX_LENGTH",
                "PATTERN"
              ]
            }
          }
        }
      ]
    },
    "agency_group_candidate_registration_conflict_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "CONFLICT_ERROR"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_candidate_registration_conflict_error_item"
          }
        }
      }
    },
    "agency_group_candidate_registration_conflict_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code",
            "path",
            "message"
          ],
          "properties": {
            "message": {
              "type": "string"
            },
            "path": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": {
              "type": "string"
            },
            "code": {
              "type": "string",
              "enum": [
                "DUPLICATE_USERNAME",
                "DUPLICATE_EMAIL"
              ]
            }
          }
        }
      ]
    },
    "username_suggestion_payload": {
      "type": "object",
      "properties": {
        "sFirstName": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "sLastName": {
          "type": "string",
          "pattern": "^[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]+([A-Z a-z\\'àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð\\-`]*[A-Za-zàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð]){0,}$",
          "minLength": 2,
          "maxLength": 100
        },
        "sUsername": {
          "type": "string",
          "minLength": 3,
          "maxLength": 100
        }
      }
    },
    "username_suggestion_response": {
      "type": "object",
      "required": [
        "available",
        "username"
      ],
      "properties": {
        "available": {
          "type": "boolean",
          "description": "Whether or not the username is available on the system"
        },
        "username": {
          "type": "string",
          "description": "The username the user selected"
        },
        "suggestions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "username_suggestion_validation_errors": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "SCHEMA_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/username_suggestion_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "username_suggestion_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "MIN_LENGTH",
                "MAX_LENGTH",
                "PATTERN"
              ]
            }
          }
        }
      ]
    },
    "user_check_email_create": {
      "type": "object",
      "required": [
        "sEmailAddress",
        "sResponseToken"
      ],
      "properties": {
        "sEmailAddress": {
          "type": "string",
          "pattern": "^(([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$"
        },
        "sResponseToken": {
          "type": "string",
          "minLength": 1
        },
        "sType": {
          "type": "string",
          "enum": [
            "agency_group_registration"
          ]
        },
        "sTypeId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "user_check_email_return": {
      "type": "object",
      "required": [
        "status"
      ],
      "properties": {
        "status": {
          "type": "string",
          "example": "success"
        }
      }
    },
    "user_email_check_validation_errors": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED",
                "PATTERN",
                "REQUIRED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/user_email_check_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "user_email_check_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "INVALID_FORMAT",
                "MIN_LENGTH",
                "MAX_LENGTH",
                "PATTERN",
                "INVALID_RECAPTCHA_TOKEN"
              ]
            }
          }
        }
      ]
    },
    "user_email_check_conflict_errors": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "CONFLICT_ERROR"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/user_email_check_conflict_error_item"
          }
        }
      }
    },
    "user_email_check_conflict_error_item": {
      "type": "object",
      "required": [
        "code",
        "path",
        "message"
      ],
      "properties": {
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        },
        "code": {
          "type": "string",
          "enum": [
            "DUPLICATE_EMAIL_TRY_LOGIN",
            "DUPLICATE_EMAIL_WITH_USED_INVITATION",
            "DUPLICATE_EMAIL_NO_LOGIN",
            "DUPLICATE_EMAIL_INVITATION_SENT",
            "DUPLICATE_EMAIL_INVITATION_RESENT",
            "DUPLICATE_EMAIL_TRY_LOGIN_LINKED",
            "DUPLICATE_EMAIL_TRY_LOGIN_NOT_LINKED"
          ]
        }
      }
    },
    "success_response": {
      "type": "object",
      "required": [
        "status"
      ],
      "properties": {
        "status": {
          "type": "string"
        }
      }
    },
    "candidate_email_action_body_def": {
      "type": "object",
      "required": [
        "action"
      ],
      "properties": {
        "action": {
          "type": "string",
          "enum": [
            "make_primary",
            "resend_verification"
          ]
        }
      },
      "additionalProperties": false
    },
    "candidate_email_action_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "ENUM_MISMATCH",
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_email_action_error_item"
              }
            }
          }
        }
      ]
    },
    "candidate_email_action_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "PATTERN",
                "ENUM_MISMATCH",
                "MAX_LENGTH",
                "INVALID_TYPE",
                "ALREADY_PRIMARY",
                "NEEDS_VERIFICATION",
                "ALREADY_VERIFIED"
              ]
            }
          }
        }
      ]
    },
    "get_agency_group_status_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MODEL_VALIDATION_FAILED",
            "SCHEMA_VALIDATION_FAILED",
            "REQUIRED",
            "PATTERN",
            "ENUM_MISMATCH"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "agency_group_agency_listing": {
      "type": "object",
      "required": [
        "_id",
        "agency_group_id",
        "agency_id",
        "agency_group_details",
        "agency_details"
      ],
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_group_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_group_details": {
          "$ref": "#/definitions/agency_group_context_details"
        },
        "agency_details": {
          "$ref": "#/definitions/context_details"
        }
      }
    },
    "context_details": {
      "type": "object",
      "required": [
        "display_name"
      ],
      "properties": {
        "display_name": {
          "type": "string"
        },
        "avatar_url": {
          "type": "string"
        }
      }
    },
    "agency_group_context_details": {
      "type": "object",
      "required": [
        "display_name"
      ],
      "properties": {
        "display_name": {
          "type": "string"
        },
        "avatar_url": {
          "type": "string"
        },
        "country_code": {
          "type": "string",
          "description": "The country code",
          "minLength": 2,
          "maxLength": 2
        }
      }
    },
    "get_agency_group_agency_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MODEL_VALIDATION_FAILED",
            "SCHEMA_VALIDATION_FAILED",
            "REQUIRED",
            "PATTERN",
            "INVALID_TYPE"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "agency_group_status_reason_body_def": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "disabled": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "agency_group_status_reason_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "_id",
            "name",
            "agency_group_id",
            "status_id",
            "disabled"
          ],
          "properties": {
            "_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "status_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "disabled": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "post_put_agency_group_status_reason_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MODEL_VALIDATION_FAILED",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/post_put_agency_group_status_reason_validation_error_single_model"
          }
        }
      }
    },
    "post_put_agency_group_status_reason_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "INVALID_TYPE",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "DUPLICATE_REASON_NAME",
            "UPDATE_NOT_ALLOWED"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "get_status_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "agency_group_status_response_def": {
      "type": "object",
      "required": [
        "_id",
        "updated_at",
        "created_at",
        "__v",
        "name",
        "agency_group_id"
      ],
      "properties": {
        "_id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "agency_group_id": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "disabled": {
          "type": "boolean"
        },
        "order": {
          "type": "number"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "__v": {
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "get_agency_group_status_action_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MODEL_VALIDATION_FAILED",
            "SCHEMA_VALIDATION_FAILED",
            "REQUIRED",
            "PATTERN",
            "ENUM_MISMATCH"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "agency_group_status_body_def": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "disabled": {
          "type": "boolean",
          "default": false
        },
        "order": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "post_put_agency_group_status_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MODEL_VALIDATION_FAILED",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/post_put_agency_group_status_validation_error_single_model"
          }
        }
      }
    },
    "post_put_agency_group_status_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "INVALID_TYPE",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "DUPLICATE_STATUS_NAME_NOT_ALLOWED",
            "UPDATING_STATUS_NAME_NOT_ALLOWED"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "put_registration_settings_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MODEL_VALIDATION_FAILED",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/put_registration_settings_validation_error_single_model"
          }
        }
      }
    },
    "put_registration_settings_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "INVALID_TYPE",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "OAUTH_CLIENT_ID_NOT_FOUND",
            "DUPLICATE_VANITY_NAME",
            "INVALID_CANDIDATE_TYPE",
            "DUPLICATE_CANDIDATE_TYPE",
            "INVALID_ATTACHMENT",
            "ARRAY_UNIQUE",
            "ARRAY_LENGTH_SHORT",
            "MIN_LENGTH",
            "MAX_LENGTH",
            "INVALID_FORMAT",
            "INVALID_COUNTRY_CODE"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "settings_status_content_response": {
      "allOf": [
        {
          "$ref": "#/definitions/settings_status_content"
        },
        {
          "type": "object",
          "required": [
            "agency_group_id"
          ],
          "properties": {
            "agency_group_id": {
              "type": "string"
            }
          }
        }
      ]
    },
    "agency_settings_status_content_response": {
      "allOf": [
        {
          "$ref": "#/definitions/settings_status_content"
        },
        {
          "type": "object",
          "required": [
            "agency_id"
          ],
          "properties": {
            "agency_id": {
              "type": "string"
            }
          }
        }
      ]
    },
    "settings_status_content": {
      "type": "object",
      "required": [
        "statuses_enabled"
      ],
      "properties": {
        "statuses_enabled": {
          "type": "boolean",
          "description": "Check if the status is enabled or disabled for the agency group"
        },
        "default_status": {
          "type": "string",
          "description": "Detect if the status is default or not"
        }
      },
      "additionalProperties": false
    },
    "get_agency_group_status_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MODEL_VALIDATION_FAILED",
            "SCHEMA_VALIDATION_FAILED",
            "REQUIRED",
            "PATTERN",
            "ENUM_MISMATCH"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "agency_group_consultant_body_def": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "The role name",
          "minLength": 3
        }
      },
      "additionalProperties": false
    },
    "agency_group_consultant_create_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MODEL_VALIDATION_FAILED",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_consultant_create_validation_error_single_model"
          }
        }
      }
    },
    "agency_group_consultant_create_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "INVALID_TYPE",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "MIN_LENGTH"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "get_agency_group_consultant_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MODEL_VALIDATION_FAILED",
            "SCHEMA_VALIDATION_FAILED",
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "agency_group_consultant_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "agency_group_id",
            "name"
          ],
          "properties": {
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "name": {
              "type": "string"
            }
          }
        }
      ]
    },
    "agency_group_candidate_consultant_def": {
      "type": "object",
      "required": [
        "assigned_user",
        "consultant_role"
      ],
      "properties": {
        "consultant_role": {
          "type": "string"
        },
        "assigned_user": {
          "$ref": "#/definitions/assigned_user_def"
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_consultant_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "agency_group_id",
            "candidate_id",
            "consultant_role",
            "assigned_user"
          ],
          "properties": {
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "consultant_role": {
              "type": "string"
            },
            "assigned_user": {
              "$ref": "#/definitions/assigned_user_def"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "assigned_user_def": {
      "type": "object",
      "required": [
        "_id"
      ],
      "properties": {
        "_id": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "This is a deprecated property, any value passed on this property will be ignored and will be removed in the future"
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_consultant_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_candidate_consultant_validation_error_single_model"
          }
        }
      }
    },
    "agency_group_candidate_consultant_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "CONSULTANT_ROLE_NOT_MATCHED",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "ALREADY_EXISTS",
            "DO_NOT_EXIST"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_group_candidate_current_status_def": {
      "type": "object",
      "required": [
        "status"
      ],
      "properties": {
        "status": {
          "type": "string"
        },
        "comment": {
          "type": "string"
        },
        "reason": {
          "type": "string"
        }
      }
    },
    "candidate_status_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "agency_group_id",
            "candidate_id",
            "status",
            "status_id",
            "changed_at",
            "changed_by"
          ],
          "properties": {
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "status": {
              "type": "string"
            },
            "status_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "changed_at": {
              "type": "string",
              "format": "date-time"
            },
            "comment": {
              "type": "string"
            },
            "reason": {
              "type": "string"
            },
            "changed_by": {
              "$ref": "#/definitions/changed_by_def"
            },
            "historical_status": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "changed_by_def": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "system": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_status_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "AGENCY_GROUP_STATUS_DISABLED",
            "ALREADY_EXISTS",
            "INVALID_TYPE"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_group_candidate_status_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_candidate_status_validation_error_single_model"
          }
        }
      }
    },
    "agency_candidate_status_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "agency_id",
            "candidate_id",
            "status",
            "changed_at",
            "changed_by"
          ],
          "properties": {
            "agency_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "status": {
              "type": "string"
            },
            "changed_at": {
              "type": "string",
              "format": "date-time"
            },
            "comment": {
              "type": "string"
            },
            "reason": {
              "type": "string"
            },
            "changed_by": {
              "$ref": "#/definitions/changed_by_def"
            },
            "historical_status": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "agency_group_candidate_additional_note_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "agency_group_id",
            "candidate_id",
            "note"
          ],
          "properties": {
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "note": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "agency_group_candidate_additional_note_def": {
      "type": "object",
      "required": [
        "note"
      ],
      "properties": {
        "note": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_additional_note_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_candidate_additional_note_validation_error_single_model"
          }
        }
      }
    },
    "agency_group_candidate_additional_note_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "MIN_LENGTH",
            "INVALID_TYPE"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_candidate_additional_note_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "agency_id",
            "candidate_id",
            "note"
          ],
          "properties": {
            "agency_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "note": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "pre_condition_fail_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PRECONDITION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "candidate_activity_body_param_def": {
      "type": "object",
      "required": [
        "activity_type"
      ],
      "properties": {
        "activity_type": {
          "type": "string"
        },
        "description": {
          "type": "string",
          "minLength": 3
        },
        "subject_candidate_name": {
          "type": "string",
          "minLength": 3,
          "description": "This is a deprecated property, any value passed on this property will be ignored and will be removed in the future"
        },
        "created_by_user": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "This is a deprecated property, any value passed on this property will be ignored and will be removed in the future"
        },
        "created_by_user_name": {
          "type": "string",
          "minLength": 3,
          "description": "This is a deprecated property, any value passed on this property will be ignored and will be removed in the future"
        },
        "comment": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "entity_object": {
      "type": "object",
      "description": "Represents a dynamic link to an entity that exists in other services",
      "required": [
        "entity_type"
      ],
      "properties": {
        "entity_id": {
          "type": "string",
          "description": "The id of the entity, note this doesn't have pattern matching as user don't have mongo object ids as ids"
        },
        "entity_type": {
          "type": "string",
          "description": "The type of the entity this object represents"
        },
        "name": {
          "type": "string",
          "description": "The name of the entity"
        }
      },
      "additionalProperties": false
    },
    "candidate_activity_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_activity_body_param_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "activity_date"
          ],
          "properties": {
            "activity_date": {
              "type": "string",
              "format": "date-time"
            },
            "linked_entities": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/entity_object"
              }
            }
          }
        }
      ]
    },
    "user_context_activity_response_def": {
      "allOf": [
        {
          "type": "object",
          "required": [
            "activity_type"
          ],
          "properties": {
            "activity_type": {
              "type": "string",
              "minLength": 3,
              "example": "REGISTRATION_CALL_MADE"
            },
            "description": {
              "type": "string",
              "minLength": 3
            },
            "comment": {
              "type": "string"
            },
            "linked_entities": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/entity_object"
              }
            },
            "subject_type": {
              "type": "string",
              "enum": [
                "candidate",
                "client"
              ]
            },
            "subject_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "subject_name": {
              "type": "string"
            },
            "created_by_user": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "created_by_user_name": {
              "type": "string",
              "minLength": 3
            }
          },
          "additionalProperties": false
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "activity_date"
          ],
          "properties": {
            "activity_date": {
              "type": "string",
              "format": "date-time"
            },
            "created_by_context_id": {
              "type": "string"
            },
            "created_by_context_type": {
              "type": "string"
            }
          }
        }
      ]
    },
    "candidate_activity_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "ENUM_MISMATCH",
            "ARRAY_UNIQUE"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_activity_single_error_model"
          }
        }
      }
    },
    "candidate_activity_single_error_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "REQUIRED",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "INVALID_TYPE",
            "MIN_LENGTH",
            "ARRAY_LENGTH_SHORT"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_candidate_activity_body_param_def": {
      "type": "object",
      "required": [
        "activity_type"
      ],
      "properties": {
        "activity_type": {
          "type": "string",
          "minLength": 3,
          "example": "REGISTRATION_CALL_MADE"
        },
        "description": {
          "type": "string",
          "minLength": 3
        },
        "comment": {
          "type": "string"
        },
        "linked_entities": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/definitions/entity_object"
          }
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_meta_retrieval": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "agency_group_id",
            "candidate_id"
          ],
          "properties": {
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "username": {
              "type": "string"
            },
            "last_contacted_at": {
              "type": "string",
              "format": "date-time"
            },
            "dbs_status": {
              "type": "string"
            },
            "external_documents": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/external_documents_item"
              }
            },
            "external_portfolios": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/external_portfolios_item"
              }
            },
            "external_verifications": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/external_verifications_item"
              }
            },
            "external_days_to_expiry": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/external_days_to_expiry_item"
              }
            },
            "external_workforce": {
              "type": "string"
            }
          }
        }
      ]
    },
    "agency_group_candidate_meta_upsert_def": {
      "type": "object",
      "properties": {
        "last_contacted_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "example": "2018-09-21T06:13:44.201Z"
        },
        "dbs_status": {
          "type": "string"
        },
        "external_documents": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/external_documents_item"
          }
        },
        "external_portfolios": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/external_portfolios_item"
          }
        },
        "external_verifications": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/external_verifications_item"
          }
        },
        "external_days_to_expiry": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/external_days_to_expiry_item"
          }
        },
        "external_workforce": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "get_agency_group_candidate_meta_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "put_agency_group_candidate_meta_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MIN_LENGTH",
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_candidate_meta_payload_validation_error_single_model"
          }
        }
      }
    },
    "agency_group_candidate_meta_payload_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "INVALID_TYPE",
            "INVALID_FORMAT",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_candidate_meta_retrieval": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "agency_id",
            "candidate_id"
          ],
          "properties": {
            "agency_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "username": {
              "type": "string"
            },
            "user_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "external_documents": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/external_documents_item"
              }
            },
            "external_portfolios": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_external_portfolios_item"
              }
            },
            "external_verifications": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/external_verifications_item"
              }
            },
            "external_days_to_expiry": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/external_days_to_expiry_item"
              }
            },
            "external_workforce": {
              "type": "string"
            }
          }
        }
      ]
    },
    "get_agency_candidate_meta_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "agency_status_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "agency_id"
          ],
          "properties": {
            "name": {
              "type": "string"
            },
            "agency_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "description": {
              "type": "string"
            },
            "disabled": {
              "type": "boolean"
            },
            "order": {
              "type": "number"
            }
          }
        }
      ]
    },
    "get_agency_status_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MODEL_VALIDATION_FAILED",
            "SCHEMA_VALIDATION_FAILED",
            "REQUIRED",
            "PATTERN",
            "ENUM_MISMATCH"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "policies": {
      "type": "object",
      "required": [
        "type_id",
        "version"
      ],
      "properties": {
        "type_id": {
          "type": "string"
        },
        "version": {
          "type": "integer"
        }
      }
    },
    "bulk_agency_group_candidate_consultant_def": {
      "type": "object",
      "required": [
        "candidates_ids",
        "consultant_role",
        "assigned_user_id"
      ],
      "properties": {
        "candidates_ids": {
          "type": "array",
          "minItems": 1,
          "maxItems": 25,
          "items": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          }
        },
        "consultant_role": {
          "type": "string"
        },
        "assigned_user_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      },
      "additionalProperties": false
    },
    "bulk_200_agency_group_candidate_consultant_response_def": {
      "type": "object",
      "required": [
        "successful_candidate_ids"
      ],
      "properties": {
        "successful_candidate_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "The candidate Ids that were processed successfully"
          }
        }
      }
    },
    "bulk_202_agency_group_candidate_consultant_response_def": {
      "type": "object",
      "required": [
        "successful_candidate_ids",
        "failed_candidate_ids"
      ],
      "properties": {
        "successful_candidate_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "The candidate Ids that were processed successfully"
          }
        },
        "failed_candidate_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "The candidate Ids that failed in processing"
          }
        }
      }
    },
    "bulk_agency_group_candidate_consultant_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/bulk_agency_group_candidate_consultant_validation_error_single_model"
          }
        }
      }
    },
    "bulk_agency_group_candidate_consultant_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "CONSULTANT_ROLE_NOT_MATCHED",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "ARRAY_LENGTH_SHORT",
            "ARRAY_LENGTH_LONG",
            "DO_NOT_EXIST"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_group_candidate_historical_status_def": {
      "type": "object",
      "required": [
        "status",
        "changed_by"
      ],
      "properties": {
        "status": {
          "type": "string"
        },
        "comment": {
          "type": "string"
        },
        "reason": {
          "type": "string"
        },
        "changed_at": {
          "type": "string",
          "format": "date-time"
        },
        "changed_by": {
          "type": "object",
          "required": [
            "name"
          ],
          "properties": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "status_and_date_def": {
      "type": "object",
      "required": [
        "status",
        "date"
      ],
      "properties": {
        "status": {
          "type": "string"
        },
        "date": {
          "type": "string",
          "format": "date-time"
        }
      },
      "additionalProperties": false
    },
    "extended_status_def": {
      "type": "object",
      "required": [
        "status",
        "status_id",
        "date"
      ],
      "properties": {
        "status": {
          "type": "string"
        },
        "status_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "date": {
          "type": "string",
          "format": "date-time"
        },
        "reason": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "status_summary_common_response_def": {
      "type": "object",
      "required": [
        "candidate_id"
      ],
      "properties": {
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "first_status_date": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/status_and_date_def"
          }
        },
        "last_status_date": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/status_and_date_def"
          }
        },
        "current_status": {
          "$ref": "#/definitions/extended_status_def"
        },
        "first_status": {
          "$ref": "#/definitions/extended_status_def"
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_status_summary_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/status_summary_common_response_def"
        },
        {
          "type": "object",
          "required": [
            "agency_group_id",
            "linked_to_agency_group_at"
          ],
          "properties": {
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "linked_to_agency_group_at": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "agency_candidate_status_summary_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/status_summary_common_response_def"
        },
        {
          "type": "object",
          "required": [
            "agency_id",
            "linked_to_agency_at"
          ],
          "properties": {
            "agency_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "linked_to_agency_at": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "candidate_settings_response": {
      "type": "object",
      "required": [
        "profile_editable",
        "candidate_id",
        "employment_history_editable",
        "employment_skills_editable",
        "professional_registration_editable",
        "professional_reference_editable"
      ],
      "properties": {
        "candidate_id": {
          "type": "string",
          "description": "The id of the candidate"
        },
        "profile_editable": {
          "type": "boolean",
          "description": "Set profile editable or not for candidate"
        },
        "user_status": {
          "type": "string",
          "enum": [
            "active",
            "inactive",
            "awaiting_verification",
            "gdpr_revoked"
          ]
        },
        "invitation_status": {
          "type": "string",
          "enum": [
            "used",
            "not_used"
          ]
        },
        "employment_history_editable": {
          "type": "boolean"
        },
        "employment_skills_editable": {
          "type": "boolean"
        },
        "professional_registration_editable": {
          "type": "boolean"
        },
        "professional_reference_editable": {
          "type": "boolean"
        },
        "available_shifts_enabled": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "candidate_settings_response_with_agency_groups_and_agencies": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_settings_response"
        },
        {
          "type": "object",
          "properties": {
            "agency_groups": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "agency_group_id",
                  "candidate_type"
                ],
                "properties": {
                  "agency_group_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "candidate_type": {
                    "type": "string"
                  },
                  "candidate_status": {
                    "type": "string"
                  },
                  "display_name": {
                    "type": "string"
                  },
                  "avatar_url": {
                    "type": "string"
                  },
                  "country_code": {
                    "type": "string",
                    "description": "The country code",
                    "minLength": 2,
                    "maxLength": 2
                  }
                }
              }
            },
            "agencies": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "display_name",
                  "agency_id"
                ],
                "properties": {
                  "display_name": {
                    "type": "string"
                  },
                  "avatar_url": {
                    "type": "string"
                  },
                  "agency_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "candidate_settings_response_with_agency_groups": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_settings_response"
        },
        {
          "type": "object",
          "properties": {
            "agency_groups": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "agency_group_id",
                  "candidate_type"
                ],
                "properties": {
                  "agency_group_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "candidate_type": {
                    "type": "string"
                  },
                  "candidate_status": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "linked_job_title_response": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/linked_job_title_response_item"
      }
    },
    "linked_job_title_response_item": {
      "type": "object",
      "required": [
        "sJobFamilyId",
        "sJobFamilyName",
        "sShortTitleName",
        "sTitleName",
        "id"
      ],
      "properties": {
        "sJobFamilyId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sJobFamilyName": {
          "type": "string"
        },
        "sShortTitleName": {
          "type": "string"
        },
        "sTitleName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "verification_invitation_response": {
      "type": "object",
      "required": [
        "status"
      ],
      "properties": {
        "status": {
          "type": "string",
          "description": "Whether the invitation or verification email is sent.",
          "enum": [
            "invite_sent",
            "invite_resent",
            "verification_sent",
            "nothing_sent"
          ]
        }
      },
      "additionalProperties": false
    },
    "candidate_settings_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "linked_job_titles_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "INVALID_TYPE",
            "ENUM_MISMATCH"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "invitation_verification_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/invitation_verification_validation_error_item"
          }
        }
      }
    },
    "invitation_verification_validation_error_item": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "profile_settings_def": {
      "type": "object",
      "required": [
        "profile_editable"
      ],
      "properties": {
        "profile_editable": {
          "type": "boolean"
        },
        "employment_history_editable": {
          "type": "boolean"
        },
        "employment_skills_editable": {
          "type": "boolean"
        },
        "professional_registration_editable": {
          "type": "boolean"
        },
        "professional_reference_editable": {
          "type": "boolean"
        }
      }
    },
    "candidate_profile_settings_def": {
      "allOf": [
        {
          "$ref": "#/definitions/profile_settings_def"
        },
        {
          "type": "object",
          "properties": {
            "available_shifts_enabled": {
              "type": "boolean"
            }
          }
        }
      ]
    },
    "available_shifts_def": {
      "type": "object",
      "required": [
        "position_type_code",
        "enabled"
      ],
      "properties": {
        "position_type_code": {
          "type": "string",
          "minLength": 1
        },
        "enabled": {
          "type": "boolean"
        }
      }
    },
    "agency_group_profile_settings_def": {
      "allOf": [
        {
          "$ref": "#/definitions/profile_settings_def"
        },
        {
          "type": "object",
          "properties": {
            "available_shifts": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/available_shifts_def"
              }
            }
          }
        }
      ]
    },
    "candidate_default_setting_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "profile_editable",
            "type",
            "employment_history_editable",
            "employment_skills_editable",
            "professional_registration_editable",
            "professional_reference_editable"
          ],
          "properties": {
            "profile_editable": {
              "type": "boolean"
            },
            "type": {
              "type": "string"
            },
            "employment_history_editable": {
              "type": "boolean"
            },
            "employment_skills_editable": {
              "type": "boolean"
            },
            "professional_registration_editable": {
              "type": "boolean"
            },
            "professional_reference_editable": {
              "type": "boolean"
            }
          }
        }
      ]
    },
    "agency_group_candidate_default_setting_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "profile_editable",
            "type",
            "type_id",
            "employment_history_editable",
            "employment_skills_editable",
            "professional_registration_editable",
            "professional_reference_editable"
          ],
          "properties": {
            "profile_editable": {
              "type": "boolean"
            },
            "type": {
              "type": "string"
            },
            "type_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "employment_history_editable": {
              "type": "boolean"
            },
            "employment_skills_editable": {
              "type": "boolean"
            },
            "professional_registration_editable": {
              "type": "boolean"
            },
            "professional_reference_editable": {
              "type": "boolean"
            },
            "available_shifts": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/available_shifts_def"
              }
            }
          }
        }
      ]
    },
    "put_candidate_settings_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "CONTENT_TYPE_NOT_SUPPORTED",
                "SCHEMA_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/put_candidate_settings_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "put_candidate_settings_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "OBJECT_ADDITIONAL_PROPERTIES",
                "INVALID_TYPE"
              ]
            }
          }
        }
      ]
    },
    "external_documents_item": {
      "type": "object",
      "required": [
        "name",
        "type_id",
        "date"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "type_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "date": {
          "type": "string",
          "format": "date-time",
          "example": "2018-09-21T06:13:44.201Z"
        },
        "expiry_date": {
          "type": "string",
          "format": "date-time",
          "example": "2018-09-22T06:13:44.201Z"
        }
      }
    },
    "external_verifications_item": {
      "type": "object",
      "required": [
        "name",
        "type_id",
        "value"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "type_id": {
          "type": "string",
          "minLength": 1
        },
        "value": {
          "type": "string",
          "enum": [
            "Yes",
            "No"
          ]
        }
      }
    },
    "external_days_to_expiry_item": {
      "type": "object",
      "required": [
        "name",
        "type_id"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "type_id": {
          "type": "string"
        },
        "value": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "candidate_settings_put_response": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/candidate_settings_response"
        }
      ]
    },
    "put_settings_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "CONTENT_TYPE_NOT_SUPPORTED",
                "SCHEMA_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/put_settings_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "put_settings_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "OBJECT_ADDITIONAL_PROPERTIES",
                "INVALID_TYPE",
                "MIN_LENGTH"
              ]
            }
          }
        }
      ]
    },
    "document_base_response_def": {
      "type": "object",
      "required": [
        "name",
        "metadata",
        "entity",
        "uploaded_by",
        "status"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "metadata": {
          "type": "object",
          "required": [
            "file_size",
            "file_type",
            "etag",
            "md5_digest"
          ],
          "properties": {
            "file_size": {
              "type": "integer"
            },
            "file_type": {
              "type": "string"
            },
            "etag": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            },
            "md5_digest": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24
            },
            "original_file_name": {
              "type": "string"
            }
          }
        },
        "entity": {
          "type": "object",
          "required": [
            "entity_id",
            "entity_type"
          ],
          "properties": {
            "entity_id": {
              "type": "string"
            },
            "entity_type": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "uploaded_by": {
          "type": "object",
          "required": [
            "entity_id",
            "entity_type",
            "name"
          ],
          "properties": {
            "entity_id": {
              "type": "string"
            },
            "entity_type": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "verified_by": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "entity_id",
            "entity_type"
          ],
          "properties": {
            "entity_id": {
              "type": "string"
            },
            "entity_type": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "comment": {
              "type": "string"
            }
          }
        },
        "rejected_by": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "entity_id",
            "entity_type",
            "comment"
          ],
          "properties": {
            "entity_id": {
              "type": "string"
            },
            "entity_type": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "comment": {
              "type": "string"
            }
          }
        },
        "system_document_type_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "document_response_model_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/document_base_response_def"
        }
      ]
    },
    "document_response_model_def_with_signed_url": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/document_base_response_def"
        },
        {
          "type": "object",
          "properties": {
            "signed_download_url": {
              "type": "string"
            }
          }
        }
      ]
    },
    "document_upload_result": {
      "type": "object",
      "required": [
        "_id"
      ],
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "signed_upload_url": {
          "type": "string"
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "value": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "document_input_body_param": {
      "description": "Candidate document details",
      "type": "object",
      "required": [
        "type_id",
        "metadata"
      ],
      "properties": {
        "type_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "metadata": {
          "type": "object",
          "required": [
            "file_size",
            "file_type",
            "etag",
            "md5_digest",
            "original_file_name"
          ],
          "properties": {
            "file_size": {
              "type": "integer",
              "minimum": 1
            },
            "file_type": {
              "type": "string",
              "minLength": 1
            },
            "etag": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            },
            "md5_digest": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24
            },
            "original_file_name": {
              "type": "string",
              "minLength": 1
            }
          }
        }
      },
      "additionalProperties": false
    },
    "document_upload_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/document_upload_validation_error_item"
          }
        }
      }
    },
    "document_upload_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "MAXIMUM",
                "MINIMUM",
                "NO_TYPE_FOUND",
                "MIN_LENGTH",
                "PATTERN",
                "FILE_TYPE_DOES_NOT_SUPPORT"
              ]
            }
          }
        }
      ]
    },
    "document_action_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/document_action_validation_error_item"
          }
        }
      }
    },
    "document_action_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "INVALID_TYPE",
                "PATTERN",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "OBJECT_ADDITIONAL_PROPERTIES",
                "ENUM_MISMATCH",
                "MIN_LENGTH",
                "SYSTEM_DOCUMENT_TYPE_DOES_NOT_EXIST"
              ]
            }
          }
        }
      ]
    },
    "document_action_payload": {
      "type": "object",
      "required": [
        "action"
      ],
      "properties": {
        "action": {
          "type": "string",
          "enum": [
            "verified",
            "rejected"
          ]
        },
        "comment": {
          "type": "string",
          "minLength": 2,
          "description": "The reason for rejecting the document, only required when action is `rejected`"
        },
        "verified_system_document_type_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "Use this field if the system document type should be changed along with the verify"
        }
      },
      "additionalProperties": false
    },
    "agency_group_document_type_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "resource_id",
            "resource_type",
            "name",
            "description",
            "allowed_extensions",
            "system_document_type_id",
            "allowed_mime_types"
          ],
          "properties": {
            "resource_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "resource_type": {
              "type": "string"
            },
            "name": {
              "type": "string",
              "minLength": 1
            },
            "description": {
              "type": "string",
              "minLength": 1
            },
            "system_document_type_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "allowed_extensions": {
              "type": "array",
              "minItems": 1,
              "uniqueItems": true,
              "items": {
                "type": "string",
                "minLength": 1
              }
            },
            "max_size_bytes": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "allowed_mime_types": {
              "type": "array",
              "uniqueItems": true,
              "items": {
                "type": "string",
                "minLength": 1
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "document_type_get_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "INVALID_TYPE",
            "MINIMUM",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "agency_group_document_type_validation_error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_document_validation_error_item"
          }
        }
      }
    },
    "agency_group_document_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "MAXIMUM",
                "MINIMUM",
                "INVALID_TYPE",
                "INVALID_DOCUMENT_TYPE_EXTENSION",
                "SYSTEM_DOCUMENT_TYPE_DOES_NOT_EXIST",
                "ARRAY_LENGTH_SHORT",
                "MIN_LENGTH",
                "ARRAY_UNIQUE",
                "PATTERN"
              ]
            }
          }
        }
      ]
    },
    "agency_group_document_type_body_def": {
      "description": "agency group document type details",
      "type": "object",
      "required": [
        "system_document_type_id"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "minLength": 1
        },
        "system_document_type_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "allowed_extensions": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "max_size_bytes": {
          "type": "integer",
          "default": 1,
          "minimum": 1
        }
      },
      "additionalProperties": false
    },
    "system_document_type_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "name",
            "description",
            "allowed_extensions",
            "max_size_bytes",
            "allowed_mime_types"
          ],
          "properties": {
            "name": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "allowed_extensions": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "max_size_bytes": {
              "type": "integer"
            },
            "allowed_mime_types": {
              "type": "array",
              "uniqueItems": true,
              "items": {
                "type": "string",
                "minLength": 1
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "system_document_type_validation_error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/system_document_validation_error_item"
          }
        }
      }
    },
    "system_document_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "MAXIMUM",
                "MINIMUM",
                "INVALID_TYPE",
                "ARRAY_LENGTH_SHORT",
                "MIN_LENGTH",
                "ARRAY_UNIQUE",
                "PATTERN",
                "SYSTEM_MIME_TYPE_NOT_FOUND"
              ]
            }
          }
        }
      ]
    },
    "system_document_type_body_def": {
      "description": "system document type details",
      "type": "object",
      "required": [
        "name",
        "description",
        "allowed_extensions"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "minLength": 1
        },
        "allowed_extensions": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "max_size_bytes": {
          "type": "integer",
          "default": 1,
          "minimum": 1
        }
      },
      "additionalProperties": false
    },
    "document_type_body_def": {
      "description": "document type details",
      "type": "object",
      "required": [
        "system_document_type_id"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "minLength": 1
        },
        "system_document_type_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "allowed_extensions": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "max_size_bytes": {
          "type": "integer",
          "default": 1,
          "minimum": 1
        }
      },
      "additionalProperties": false
    },
    "resource_body_def": {
      "type": "object",
      "required": [
        "resource_id",
        "resource_type"
      ],
      "properties": {
        "resource_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "resource_type": {
          "type": "string"
        }
      }
    },
    "document_type_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/resource_body_def"
        },
        {
          "$ref": "#/definitions/document_type_body_def"
        },
        {
          "type": "object",
          "required": [
            "allowed_mime_types"
          ],
          "properties": {
            "allowed_mime_types": {
              "type": "array",
              "uniqueItems": true,
              "items": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        }
      ]
    },
    "recipient_def": {
      "type": "object",
      "required": [
        "name",
        "email"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "email": {
          "type": "string",
          "pattern": "^(([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$",
          "maxLength": 255
        }
      },
      "additionalProperties": false
    },
    "email_message_def": {
      "type": "object",
      "required": [
        "request_notification_id",
        "to_recipient",
        "sender",
        "reply_to",
        "subject",
        "body_html",
        "body_text"
      ],
      "properties": {
        "request_notification_id": {
          "type": "string",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
        },
        "to_recipient": {
          "$ref": "#/definitions/recipient_def"
        },
        "sender": {
          "$ref": "#/definitions/recipient_def"
        },
        "cc_recipients": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/recipient_def"
          }
        },
        "bcc_recipients": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/recipient_def"
          }
        },
        "reply_to": {
          "$ref": "#/definitions/recipient_def"
        },
        "subject": {
          "type": "string",
          "maxLength": 50
        },
        "body_html": {
          "type": "string"
        },
        "body_text": {
          "type": "string"
        },
        "smtp_id": {
          "type": "string"
        },
        "delivery_status": {
          "type": "string",
          "enum": [
            "Pending",
            "Delivered",
            "Complained",
            "Unsubscribed",
            "Permanent Failure",
            "Temporary Failure"
          ]
        },
        "delivery_failure_reason": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "sending_failure_def": {
      "type": "object",
      "required": [
        "error_code",
        "error_message",
        "created_at"
      ],
      "properties": {
        "error_code": {
          "type": "number",
          "example": 535
        },
        "error_message": {
          "type": "string"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        }
      },
      "additionalProperties": false
    },
    "email_message_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/email_message_def"
        },
        {
          "type": "object",
          "required": [
            "status"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "sending_failures": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/sending_failure_def"
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "lookups": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/lookup"
      }
    },
    "lookup": {
      "allOf": [
        {
          "$ref": "#/definitions/lookup_without_id"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "properties": {
            "_id": {
              "type": "string"
            }
          },
          "required": [
            "_id"
          ]
        }
      ]
    },
    "lookup_without_id": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "pattern": "^(?!\\s*$).+"
        },
        "parent": {
          "type": "string"
        },
        "metadata": {
          "type": "object"
        },
        "related": {
          "type": "object",
          "required": [
            "entity_type",
            "entity_id"
          ],
          "properties": {
            "entity_type": {
              "type": "string"
            },
            "entity_id": {
              "type": "string",
              "pattern": "^(?!\\s*$).+"
            }
          },
          "additionalProperties": false
        },
        "category": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          },
          "uniqueItems": true
        }
      }
    },
    "lookup_name_parent": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "pattern": "^(?!\\s*$).+"
        },
        "parent": {
          "type": "string"
        }
      }
    },
    "context_activity_types_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "name",
            "code",
            "disabled",
            "order"
          ],
          "properties": {
            "name": {
              "type": "string"
            },
            "code": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "disabled": {
              "type": "boolean"
            },
            "order": {
              "type": "integer"
            },
            "icon": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "candidate_widgets_payload_def": {
      "type": "object",
      "required": [
        "type",
        "content",
        "candidate_types",
        "candidate_statuses",
        "status"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "welcome-widget"
          ]
        },
        "content": {
          "type": "string",
          "minLength": 1
        },
        "candidate_types": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "candidate_statuses": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "pattern": "^(empty|[0-9a-fA-F]{24})$"
          }
        },
        "status": {
          "type": "string",
          "enum": [
            "active",
            "inactive"
          ]
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_widget_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/candidate_widgets_payload_def"
        },
        {
          "type": "object",
          "required": [
            "agency_group_id"
          ],
          "properties": {
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "widget_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/widget_validation_error_single_model"
          }
        }
      }
    },
    "widget_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "REQUIRED",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "ARRAY_LENGTH_SHORT",
            "INVALID_TYPE",
            "MIN_LENGTH",
            "ARRAY_UNIQUE"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "candidate_widgets_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "agency_group_id",
            "type",
            "content"
          ],
          "properties": {
            "type": {
              "type": "string"
            },
            "content": {
              "type": "string"
            },
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "context_notification_types_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/context_notification_type_body_param_def"
        }
      ]
    },
    "context_notification_type_body_param_def": {
      "type": "object",
      "required": [
        "name",
        "activity_type",
        "mail_template",
        "enabled",
        "reply_to",
        "send_by",
        "automatic_notification"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "activity_type": {
          "type": "string",
          "minLength": 1
        },
        "mail_template": {
          "type": "string"
        },
        "notification_medium": {
          "type": "string",
          "enum": [
            "mail"
          ]
        },
        "enabled": {
          "type": "boolean"
        },
        "reply_to": {
          "$ref": "#/definitions/recipient_def"
        },
        "send_by": {
          "$ref": "#/definitions/recipient_def"
        },
        "automatic_notification": {
          "type": "boolean"
        },
        "criteria": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_notification_body_param_def": {
      "type": "object",
      "required": [
        "request_notification_id",
        "to_recipient",
        "sender",
        "reply_to",
        "subject",
        "body_html",
        "body_text"
      ],
      "properties": {
        "request_notification_id": {
          "type": "string",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
        },
        "to_recipient": {
          "$ref": "#/definitions/recipient_def"
        },
        "sender": {
          "$ref": "#/definitions/recipient_def"
        },
        "cc_recipients": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/recipient_def"
          }
        },
        "bcc_recipients": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/recipient_def"
          }
        },
        "reply_to": {
          "$ref": "#/definitions/recipient_def"
        },
        "subject": {
          "type": "string",
          "maxLength": 50
        },
        "body_html": {
          "type": "string"
        },
        "body_text": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_notification_post_error_model": {
      "allOf": [
        {
          "$ref": "#/definitions/notification_post_validation_error_model"
        }
      ]
    },
    "notification_post_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "MODEL_VALIDATION_FAILED",
            "NO_EMAIL",
            "NO_PRIMARY_EMAIL",
            "INVALID_EMAIL_CONFIG"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/notification_post_validation_error_single_model"
          }
        }
      }
    },
    "notification_post_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "INVALID_TYPE",
            "MIN_LENGTH",
            "ARRAY_LENGTH_SHORT",
            "OBJECT_ADDITIONAL_PROPERTIES"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_group_candidate_notification_body_param_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/agency_group_candidate_notification_body_param_def"
        },
        {
          "type": "object",
          "required": [
            "status"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "sending_failures": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/sending_failure_def"
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "agency_group_candidate_notification_preview_body_param_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/agency_group_candidate_notification_preview_body_param_def"
        }
      ]
    },
    "agency_group_candidate_notification_preview_body_param_def": {
      "type": "object",
      "required": [
        "to_recipient",
        "sender",
        "reply_to",
        "subject",
        "body_html",
        "body_text"
      ],
      "properties": {
        "to_recipient": {
          "$ref": "#/definitions/recipient_def"
        },
        "sender": {
          "$ref": "#/definitions/recipient_def"
        },
        "cc_recipients": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/recipient_def"
          }
        },
        "bcc_recipients": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/recipient_def"
          }
        },
        "reply_to": {
          "$ref": "#/definitions/recipient_def"
        },
        "subject": {
          "type": "string",
          "maxLength": 50
        },
        "body_html": {
          "type": "string"
        },
        "body_text": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "lookup_validation_error_single_model": {
      "type": "object",
      "required": [
        "message"
      ],
      "properties": {
        "message": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "webhook_mailgun_def": {
      "type": "object",
      "required": [
        "signature",
        "event-data"
      ],
      "properties": {
        "signature": {
          "$ref": "#/definitions/signature_def"
        },
        "event-data": {
          "$ref": "#/definitions/event_data_def"
        }
      }
    },
    "signature_def": {
      "type": "object",
      "required": [
        "timestamp",
        "token",
        "signature"
      ],
      "properties": {
        "timestamp": {
          "type": "string"
        },
        "token": {
          "type": "string"
        },
        "signature": {
          "type": "string"
        }
      }
    },
    "event_data_def": {
      "type": "object",
      "required": [
        "event",
        "message"
      ],
      "properties": {
        "geolocation": {
          "$ref": "#/definitions/event_data_geo_location_def"
        },
        "client-info": {
          "$ref": "#/definitions/event_data_client_info_def"
        },
        "event": {
          "type": "string"
        },
        "severity": {
          "type": "string"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "timestamp": {
          "type": "number"
        },
        "storage": {
          "$ref": "#/definitions/event_data_storage_def"
        },
        "log-level": {
          "type": "string"
        },
        "campaigns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "reason": {
          "type": "string"
        },
        "user-variables": {
          "$ref": "#/definitions/event_data_user_variables_def"
        },
        "flags": {
          "$ref": "#/definitions/event_data_flags_def"
        },
        "recipient-domain": {
          "type": "string"
        },
        "envelope": {
          "$ref": "#/definitions/event_data_envelope_def"
        },
        "recipient": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "delivery-status": {
          "$ref": "#/definitions/event_data_delivery_status_def"
        },
        "message": {
          "$ref": "#/definitions/event_data_message_def"
        }
      }
    },
    "event_data_geo_location_def": {
      "type": "object",
      "properties": {
        "country": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "city": {
          "type": "string"
        }
      }
    },
    "event_data_client_info_def": {
      "type": "object",
      "properties": {
        "client-name": {
          "type": "string"
        },
        "client-os": {
          "type": "string"
        },
        "user-agent": {
          "type": "string"
        },
        "device-type": {
          "type": "string"
        },
        "client-type": {
          "type": "string"
        }
      }
    },
    "event_data_flags_def": {
      "type": "object",
      "properties": {
        "is-routed": {
          "type": "boolean"
        },
        "is-authenticated": {
          "type": "boolean"
        },
        "is-system-test": {
          "type": "boolean"
        },
        "is-test-mode": {
          "type": "boolean"
        }
      }
    },
    "event_data_delivery_status_def": {
      "type": "object",
      "properties": {
        "tls": {
          "type": "boolean"
        },
        "mx-host": {
          "type": "string"
        },
        "attempt-no": {
          "type": "number"
        },
        "description": {
          "type": "string"
        },
        "session-seconds": {
          "type": "number"
        },
        "utf8": {
          "type": "boolean"
        },
        "code": {
          "type": "number"
        },
        "message": {
          "type": "string"
        },
        "certificate-verified": {
          "type": "boolean"
        }
      }
    },
    "event_data_user_variables_def": {
      "type": "object"
    },
    "event_data_envelope_def": {
      "type": "object",
      "properties": {
        "sending-ip": {
          "type": "string"
        },
        "sender": {
          "type": "string"
        },
        "transport": {
          "type": "string"
        },
        "targets": {
          "type": "string"
        }
      }
    },
    "event_data_storage_def": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "key": {
          "type": "string"
        }
      }
    },
    "event_data_message_def": {
      "type": "object",
      "required": [
        "headers"
      ],
      "properties": {
        "headers": {
          "$ref": "#/definitions/event_data_headers_message_headers_def"
        },
        "attachments": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "size": {
          "type": "number"
        }
      }
    },
    "event_data_headers_message_headers_def": {
      "type": "object",
      "required": [
        "message-id"
      ],
      "properties": {
        "message-id": {
          "type": "string"
        },
        "to": {
          "type": "string"
        },
        "from": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        }
      }
    },
    "webhook_mailgun_response_def": {
      "type": "object",
      "default": {}
    },
    "make_webhook_call_validation_error": {
      "description": "Validation error on making a wehbook call",
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_base"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "REQUIRED",
                "SCHEMA_VALIDATION_FAILED",
                "MODEL_VALIDATION_FAILED"
              ]
            },
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/make_webhook_call_validation_error_item"
              }
            }
          }
        }
      ]
    },
    "make_webhook_call_validation_error_item": {
      "description": "The list of lookup objects",
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "INVALID_TYPE"
              ]
            }
          }
        }
      ]
    },
    "employer_location_model_def": {
      "type": "object",
      "required": [
        "country_code"
      ],
      "properties": {
        "address_line1": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "address_line2": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "province": {
          "type": "string",
          "minLength": 2,
          "maxLength": 100
        },
        "country_code": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        },
        "post_code": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        }
      },
      "additionalProperties": false
    },
    "employer_location_model_def_for_get": {
      "type": "object",
      "properties": {
        "address_line1": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "address_line2": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "province": {
          "type": "string",
          "minLength": 2,
          "maxLength": 100
        },
        "country_code": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        },
        "post_code": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        }
      },
      "additionalProperties": false
    },
    "employment_history_model_def": {
      "type": "object",
      "required": [
        "work_type",
        "start_date"
      ],
      "properties": {
        "work_type": {
          "type": "string",
          "enum": [
            "agency",
            "contract",
            "permanent",
            "self_employed",
            "unknown",
            "student_placement",
            "part_time",
            "not_employed",
            "student_full_time"
          ]
        },
        "employer_name": {
          "type": "string",
          "minLength": 1
        },
        "employer_contact_number": {
          "type": "string",
          "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
        },
        "employer_location": {
          "$ref": "#/definitions/employer_location_model_def"
        },
        "position": {
          "type": "string"
        },
        "position_type": {
          "type": "string"
        },
        "job_family_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_title_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "start_date": {
          "type": "string",
          "format": "date-time"
        },
        "end_date": {
          "type": "string",
          "format": "date-time"
        },
        "responsibilities": {
          "type": "string",
          "minLength": 1
        },
        "leaving_reason": {
          "type": "string"
        },
        "institute_name": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "employment_history_body_model_def": {
      "type": "object",
      "required": [
        "work_type",
        "start_date"
      ],
      "properties": {
        "work_type": {
          "type": "string",
          "enum": [
            "agency",
            "contract",
            "permanent",
            "self_employed",
            "student_placement",
            "part_time",
            "not_employed",
            "student_full_time"
          ]
        },
        "employer_name": {
          "type": "string",
          "minLength": 1
        },
        "employer_contact_number": {
          "type": "string",
          "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
        },
        "employer_location": {
          "$ref": "#/definitions/employer_location_model_def"
        },
        "position": {
          "type": "string"
        },
        "position_type": {
          "type": "string"
        },
        "job_family_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_title_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "start_date": {
          "type": "string",
          "format": "date-time"
        },
        "end_date": {
          "type": "string",
          "format": "date-time"
        },
        "responsibilities": {
          "type": "string",
          "minLength": 1
        },
        "leaving_reason": {
          "type": "string"
        },
        "institute_name": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "employment_history_response_model_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/employment_history_model_def"
        },
        {
          "type": "object",
          "required": [
            "current",
            "status",
            "candidate_id",
            "system_generated"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "current": {
              "type": "boolean"
            },
            "status": {
              "type": "string"
            },
            "job_family_name": {
              "type": "string"
            },
            "job_title_name": {
              "type": "string"
            },
            "system_generated": {
              "type": "boolean"
            }
          }
        }
      ]
    },
    "employment_history_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/employment_history_validation_error_item"
          }
        }
      }
    },
    "employment_history_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "ENUM_MISMATCH",
                "MIN_LENGTH",
                "PATTERN",
                "SHOULD_BE_LESS_THAN_CURRENT_TIME",
                "SHOULD_BE_LESS_THAN_END_DATE",
                "JOB_FAMILY_TITLE_ARE_NOT_LINKED",
                "START_DATE_IN_FUTURE"
              ]
            }
          }
        }
      ]
    },
    "addresses": {
      "type": "object",
      "required": [
        "type",
        "post_code",
        "address_line1",
        "country_code"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "physical_address"
          ]
        },
        "address_line1": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "address_line2": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "province": {
          "type": "string",
          "minLength": 2,
          "maxLength": 100
        },
        "country_code": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        },
        "post_code": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        }
      },
      "additionalProperties": false
    },
    "employment_details": {
      "type": "object",
      "required": [
        "start_date",
        "work_type"
      ],
      "properties": {
        "employer_name": {
          "type": "string"
        },
        "position": {
          "type": "string"
        },
        "job_title_name": {
          "type": "string"
        },
        "start_date": {
          "type": "string",
          "format": "date-time"
        },
        "end_date": {
          "type": "string",
          "format": "date-time"
        },
        "responsibilities": {
          "type": "string"
        },
        "work_type": {
          "type": "string",
          "enum": [
            "agency",
            "contract",
            "permanent",
            "self_employed",
            "unknown",
            "student_placement",
            "part_time",
            "not_employed",
            "student_full_time"
          ]
        },
        "leaving_reason": {
          "type": "string"
        },
        "current": {
          "type": "boolean"
        },
        "institue_name": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "experience_def": {
      "type": "object",
      "required": [
        "type",
        "duration",
        "status"
      ],
      "properties": {
        "type": {
          "type": "string",
          "minLength": 1
        },
        "duration": {
          "type": "integer",
          "minimum": 1,
          "default": 1
        },
        "status": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "skill_details": {
      "type": "object",
      "required": [
        "candidate_id",
        "skill_id",
        "skill_name",
        "experience"
      ],
      "properties": {
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "skill_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "skill_name": {
          "type": "string",
          "minLength": 1
        },
        "experience": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/experience_def"
          }
        }
      },
      "additionalProperties": false
    },
    "qualification_details": {
      "type": "object",
      "required": [
        "candidate_id",
        "qualification_id",
        "qualification_name",
        "status"
      ],
      "properties": {
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "qualification_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "qualification_name": {
          "type": "string",
          "minLength": 1
        },
        "status": {
          "type": "string",
          "minLength": 1
        },
        "obtained_at": {
          "type": "string",
          "format": "date-time"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time"
        },
        "institution": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "registration_body_details": {
      "type": "object",
      "required": [
        "candidate_id",
        "candidate_registration_body_id",
        "registration_body_id",
        "registration_body_name",
        "registration_body_short_name",
        "status_id",
        "status_name",
        "reference"
      ],
      "properties": {
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "candidate_registration_body_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "registration_body_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "registration_body_name": {
          "type": "string",
          "minLength": 1
        },
        "registration_body_short_name": {
          "type": "string",
          "minLength": 1
        },
        "status_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "status_name": {
          "type": "string",
          "minLength": 1
        },
        "reference": {
          "type": "string",
          "minLength": 1
        },
        "obtained_at": {
          "type": "string",
          "format": "date"
        },
        "valid_at": {
          "type": "string",
          "format": "date"
        },
        "expires_at": {
          "type": "string",
          "format": "date"
        },
        "candidate_registration_body_entry_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "registration_body_entry_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "registration_body_entry_name": {
          "type": "string"
        },
        "registration_body_entry_short_name": {
          "type": "string"
        },
        "registration_body_entry_status_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "registration_body_entry_status_name": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "referee_details": {
      "type": "object",
      "required": [
        "name",
        "position",
        "type",
        "email_address",
        "start_at",
        "current"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "position": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "enum": [
            "professional",
            "character"
          ]
        },
        "relationship": {
          "type": "string"
        },
        "employer": {
          "type": "object",
          "required": [
            "name",
            "contact_number",
            "address"
          ],
          "properties": {
            "name": {
              "type": "string"
            },
            "contact_number": {
              "type": "string",
              "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
            },
            "address": {
              "$ref": "#/definitions/employer_location_model_def"
            }
          }
        },
        "work_contact_number": {
          "type": "string",
          "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
        },
        "mobile_contact_number": {
          "type": "string",
          "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
        },
        "email_address": {
          "type": "string",
          "format": "email"
        },
        "fax_number": {
          "type": "string",
          "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
        },
        "start_at": {
          "type": "string",
          "format": "date"
        },
        "end_at": {
          "type": "string",
          "format": "date"
        },
        "current": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "interview_profile_response_data_def": {
      "type": "object",
      "required": [
        "first_name",
        "last_name",
        "date_of_birth",
        "emails",
        "contact_numbers",
        "addresses",
        "employment_details",
        "skill_details",
        "qualification_details",
        "registration_body_details",
        "referee_details"
      ],
      "properties": {
        "title": {
          "type": "string"
        },
        "first_name": {
          "type": "string"
        },
        "last_name": {
          "type": "string"
        },
        "date_of_birth": {
          "type": "string",
          "format": "date"
        },
        "candidate_type": {
          "type": "string"
        },
        "emails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/emails_def"
          }
        },
        "contact_numbers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/contact_numbers_def"
          }
        },
        "addresses": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/addresses"
          }
        },
        "employment_details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/employment_details"
          }
        },
        "skill_details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/skill_details"
          }
        },
        "qualification_details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/qualification_details"
          }
        },
        "registration_body_details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/registration_body_details"
          }
        },
        "referee_details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/referee_details"
          }
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_interview_profile_response_def": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "data": {
          "$ref": "#/definitions/interview_profile_response_data_def"
        }
      },
      "additionalProperties": false
    },
    "skills_post_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/skills_post_validation_error_item"
          }
        }
      }
    },
    "skills_post_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "ENUM_MISMATCH",
                "MIN_LENGTH",
                "PATTERN",
                "INVALID_TYPE",
                "ARRAY_UNIQUE",
                "POSITION_TYPE_NOT_FOUND"
              ]
            }
          }
        }
      ]
    },
    "qualification_post_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/qualification_post_validation_error_model_item"
          }
        }
      }
    },
    "qualification_post_validation_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "ENUM_MISMATCH",
                "MIN_LENGTH",
                "PATTERN",
                "INVALID_TYPE",
                "ARRAY_UNIQUE",
                "POSITION_TYPE_NOT_FOUND"
              ]
            }
          }
        }
      ]
    },
    "skills_payload_def": {
      "type": "object",
      "required": [
        "name",
        "position_types",
        "status"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "description": {
          "type": "string"
        },
        "position_types": {
          "type": "array",
          "minItems": 0,
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        },
        "status": {
          "type": "string",
          "enum": [
            "active",
            "inactive",
            "removed"
          ]
        }
      },
      "additionalProperties": false
    },
    "skills_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/skills_payload_def"
        }
      ]
    },
    "position_types_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "code",
            "name",
            "country_code"
          ],
          "properties": {
            "code": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "country_code": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "virtual_property_get_list_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "INVALID_TYPE",
            "MINIMUM",
            "REQUIRED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/virtual_property_get_list_validation_error_item"
          }
        }
      }
    },
    "virtual_property_get_list_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "VIRTUAL_PROPERTY_MUST_BE_FALSE"
              ]
            }
          }
        }
      ]
    },
    "skills_qualifications_get_list_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "INVALID_TYPE",
            "MINIMUM",
            "REQUIRED",
            "MODEL_VALIDATION_FAILED",
            "ARRAY_UNIQUE"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/virtual_property_get_list_validation_error_item"
          }
        }
      }
    },
    "job_family_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "industry_id",
            "name",
            "country_code",
            "position_types",
            "_etags"
          ],
          "properties": {
            "industry_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "name": {
              "type": "string"
            },
            "country_code": {
              "type": "string"
            },
            "position_types": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "_etags": {
              "type": "object",
              "properties": {
                "job_families": {
                  "type": "number"
                }
              },
              "required": [
                "job_families"
              ]
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "job_title_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "name",
            "short_name",
            "industry_id",
            "job_family_name",
            "job_family_id",
            "country_code",
            "position_types",
            "disabled",
            "description",
            "_etags"
          ],
          "properties": {
            "name": {
              "type": "string"
            },
            "short_name": {
              "type": "string"
            },
            "industry_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "job_family_name": {
              "type": "string"
            },
            "job_family_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "country_code": {
              "type": "string"
            },
            "position_types": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "disabled": {
              "type": "boolean"
            },
            "description": {
              "type": "string"
            },
            "_etags": {
              "type": "object",
              "properties": {
                "job_titles": {
                  "type": "number"
                }
              },
              "required": [
                "job_titles"
              ]
            }
          }
        }
      ]
    },
    "view_candidate_skill_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "skill_id",
            "skill_name",
            "stated",
            "computed",
            "position_types"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "skill_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "skill_name": {
              "type": "string"
            },
            "stated": {
              "type": "object",
              "required": [
                "duration",
                "status"
              ],
              "properties": {
                "duration": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1
                },
                "status": {
                  "type": "string"
                }
              }
            },
            "computed": {
              "type": "object",
              "required": [
                "duration",
                "status"
              ],
              "properties": {
                "duration": {
                  "type": "integer",
                  "minimum": 1,
                  "default": 1
                },
                "status": {
                  "type": "string"
                }
              }
            },
            "position_types": {
              "type": "array",
              "minItems": 0,
              "uniqueItems": true,
              "items": {
                "type": "string"
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "position_type_name_update_body_def": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_stated_skill_action_payload_def": {
      "type": "object",
      "required": [
        "action"
      ],
      "properties": {
        "action": {
          "type": "string",
          "enum": [
            "verified"
          ]
        }
      },
      "additionalProperties": false
    },
    "candidate_stated_skill_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "skill_id",
            "skill_name",
            "duration",
            "status"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "skill_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "skill_name": {
              "type": "string"
            },
            "duration": {
              "type": "integer",
              "minimum": 1
            },
            "status": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "stated_skills_action_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/stated_skills_action_validation_error_model_item"
          }
        }
      }
    },
    "position_types_name_update_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/position_types_name_update_validation_error_model_item"
          }
        }
      }
    },
    "position_types_name_update_validation_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "MIN_LENGTH",
                "INVALID_TYPE"
              ]
            }
          }
        }
      ]
    },
    "stated_skills_action_validation_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "ENUM_MISMATCH",
                "PATTERN",
                "INVALID_TYPE",
                "ALREADY_VERIFIED"
              ]
            }
          }
        }
      ]
    },
    "candidate_stated_skill_payload_def": {
      "type": "object",
      "required": [
        "duration"
      ],
      "properties": {
        "duration": {
          "type": "integer",
          "minimum": 1,
          "default": 1
        }
      },
      "additionalProperties": false
    },
    "skills_delete_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "INVALID_TYPE",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "delete_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "INVALID_TYPE",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "stated_skills_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/stated_skills_validation_error_model_item"
          }
        }
      }
    },
    "stated_skills_validation_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "INVALID_TYPE",
                "MINIMUM"
              ]
            }
          }
        }
      ]
    },
    "candidate_qualifications_payload_def": {
      "type": "object",
      "required": [
        "qualification_id"
      ],
      "properties": {
        "qualification_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "obtained_at": {
          "type": "string",
          "format": "date-time"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time"
        },
        "institution": {
          "type": "string"
        }
      }
    },
    "candidate_qualification_action_payload_def": {
      "type": "object",
      "required": [
        "action"
      ],
      "properties": {
        "action": {
          "type": "string",
          "enum": [
            "verified"
          ]
        }
      },
      "additionalProperties": false
    },
    "qualification_action_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/qualification_action_validation_error_model_item"
          }
        }
      }
    },
    "qualification_action_validation_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "ENUM_MISMATCH",
                "INVALID_TYPE",
                "ALREADY_VERIFIED"
              ]
            }
          }
        }
      ]
    },
    "view_candidate_qualification_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/candidate_qualifications_payload_def"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "qualification_name",
            "status",
            "position_types"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "qualification_name": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "position_types": {
              "type": "array",
              "minItems": 0,
              "uniqueItems": true,
              "items": {
                "type": "string"
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "candidate_qualification_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/candidate_qualifications_payload_def"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "status"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "status": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "candidate_qualifications_post_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_qualifications_post_validation_error_item"
          }
        }
      }
    },
    "candidate_qualifications_post_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "PATTERN",
                "INVALID_TYPE",
                "SYSTEM_QUALIFICATION_NOT_FOUND"
              ]
            }
          }
        }
      ]
    },
    "qualifications_payload_def": {
      "type": "object",
      "required": [
        "name",
        "position_types",
        "status"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "description": {
          "type": "string"
        },
        "position_types": {
          "type": "array",
          "minItems": 0,
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        },
        "status": {
          "type": "string",
          "enum": [
            "active",
            "inactive",
            "removed"
          ]
        }
      },
      "additionalProperties": false
    },
    "qualifications_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/qualifications_payload_def"
        }
      ]
    },
    "firebase_custom_token_response_def": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "custom_jwt": {
              "type": "string"
            }
          }
        }
      ]
    },
    "firebase_custom_token_body_def": {
      "type": "object",
      "additionalProperties": false
    },
    "firebase_custom_token_validation_error": {
      "allOf": [
        {
          "$ref": "#/definitions/firebase_custom_token_validation_error_item"
        }
      ]
    },
    "firebase_custom_token_validation_error_item": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/firebase_custom_token_error_single_model"
          }
        }
      }
    },
    "firebase_custom_token_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "enum_validation_error_model": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_model_for_lookup"
        },
        {
          "type": "object",
          "properties": {
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/enum_validation_error_single_model"
              }
            }
          }
        }
      ]
    },
    "validation_error_model_for_lookup": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "enum_validation_error_single_model": {
      "allOf": [
        {
          "$ref": "#/definitions/lookup_validation_error_single_model"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "INVALID_LOOKUP_TYPE",
                "ARRAY_UNIQUE",
                "ARRAY_LENGTH_SHORT"
              ]
            }
          }
        }
      ]
    },
    "lookup_validation_error_model": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_model_for_lookup"
        },
        {
          "type": "object",
          "properties": {
            "errors": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/lookup_validation_error_with_path_single_model"
              }
            }
          }
        }
      ]
    },
    "lookup_validation_error_with_path_single_model": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_single_model_with_path"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "INVALID_TYPE",
                "PARENT_TYPE_INVALID",
                "OBJECT_ADDITIONAL_PROPERTIES",
                "DUPLICATE_ID_FOR_LOOKUP",
                "INVALID_LOOKUP_TYPE",
                "INVALID_ENTITY_TYPE"
              ]
            }
          }
        }
      ]
    },
    "validation_error_single_model_with_path": {
      "type": "object",
      "required": [
        "message"
      ],
      "properties": {
        "message": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "registration_body_entry_payload_def": {
      "type": "object",
      "required": [
        "name",
        "short_name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "short_name": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "registration_body_entry_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/registration_body_entry_payload_def"
        },
        {
          "type": "object",
          "required": [
            "registration_body_id"
          ],
          "properties": {
            "registration_body_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "status": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "registration_body_entry_status_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/registration_body_entry_status_validation_error_item"
          }
        }
      }
    },
    "registration_body_entry_status_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "MIN_LENGTH",
                "INVALID_TYPE"
              ]
            }
          }
        }
      ]
    },
    "candidate_registration_body_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "reference",
            "status",
            "registration_body"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "reference": {
              "type": "string",
              "minLength": 1
            },
            "status": {
              "type": "object",
              "required": [
                "_id",
                "name",
                "description",
                "editable"
              ],
              "properties": {
                "_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "name": {
                  "type": "string",
                  "minLength": 1
                },
                "description": {
                  "type": "string",
                  "minLength": 1
                },
                "editable": {
                  "type": "boolean"
                }
              }
            },
            "registration_body": {
              "type": "object",
              "required": [
                "_id",
                "name",
                "short_name",
                "country_code",
                "position_types"
              ],
              "properties": {
                "_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "name": {
                  "type": "string",
                  "minLength": 1
                },
                "short_name": {
                  "type": "string",
                  "minLength": 1
                },
                "country_code": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 2
                },
                "position_types": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            "registration_body_entries": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_candidate_registration_body_entry_response_def"
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "agency_group_candidate_registration_body_entry_response_def": {
      "type": "object",
      "required": [
        "_id",
        "updated_at",
        "created_at",
        "registration_body_entry",
        "status"
      ],
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "obtained_at": {
          "type": "string",
          "format": "date"
        },
        "valid_at": {
          "type": "string",
          "format": "date"
        },
        "expires_at": {
          "type": "string",
          "format": "date"
        },
        "registration_body_entry": {
          "$ref": "#/definitions/registration_body_entries_registration_body_entry_response_def"
        },
        "status": {
          "$ref": "#/definitions/registration_body_entries_status_response_def"
        }
      },
      "additionalProperties": false
    },
    "registration_body_entries_registration_body_entry_response_def": {
      "type": "object",
      "required": [
        "_id",
        "name",
        "short_name"
      ],
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "name": {
          "type": "string",
          "minLength": 1
        },
        "short_name": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "registration_body_entries_status_response_def": {
      "type": "object",
      "required": [
        "_id",
        "name"
      ],
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "name": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "candidate_registration_body_put_payload_def": {
      "type": "object",
      "required": [
        "reference"
      ],
      "properties": {
        "reference": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "candidate_registration_body_put_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_registration_body_put_validation_error_item"
          }
        }
      }
    },
    "candidate_registration_body_put_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "MIN_LENGTH",
                "INVALID_TYPE"
              ]
            }
          }
        }
      ]
    },
    "agency_group_candidate_body_put_payload_def": {
      "type": "object",
      "required": [
        "reference",
        "registration_body_status_id"
      ],
      "properties": {
        "reference": {
          "type": "string",
          "minLength": 1
        },
        "registration_body_status_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_registration_body_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_candidate_registration_body_validation_error_item"
          }
        }
      }
    },
    "agency_group_candidate_registration_body_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "MIN_LENGTH",
                "PATTERN",
                "INVALID_TYPE",
                "REGISTRATION_BODY_STATUS_NOT_FOUND",
                "REGISTRATION_BODY_STATUS_NOT_LINKED"
              ]
            }
          }
        }
      ]
    },
    "candidate_registration_body_payload_def": {
      "type": "object",
      "required": [
        "registration_body_id",
        "reference"
      ],
      "properties": {
        "registration_body_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "reference": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "candidate_registration_body_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_registration_body_validation_error_item"
          }
        }
      }
    },
    "candidate_registration_body_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "MIN_LENGTH",
                "PATTERN",
                "INVALID_TYPE",
                "SYSTEM_REGISTRATION_BODY_NOT_FOUND"
              ]
            }
          }
        }
      ]
    },
    "candidate_registration_body_post_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "reference",
            "status",
            "registration_body"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "reference": {
              "type": "string",
              "minLength": 1
            },
            "status": {
              "type": "object",
              "required": [
                "_id",
                "name",
                "description",
                "editable"
              ],
              "properties": {
                "_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "name": {
                  "type": "string",
                  "minLength": 1
                },
                "description": {
                  "type": "string",
                  "minLength": 1
                },
                "editable": {
                  "type": "boolean"
                }
              }
            },
            "registration_body": {
              "type": "object",
              "required": [
                "_id",
                "name",
                "short_name",
                "country_code",
                "position_types"
              ],
              "properties": {
                "_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "name": {
                  "type": "string",
                  "minLength": 1
                },
                "short_name": {
                  "type": "string",
                  "minLength": 1
                },
                "country_code": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 2
                },
                "position_types": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            "registration_body_entries": {
              "type": "array",
              "example": [],
              "items": {
                "type": "object"
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "registration_payload_def": {
      "type": "object",
      "required": [
        "name",
        "short_name",
        "country_code",
        "position_types"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "short_name": {
          "type": "string",
          "minLength": 1
        },
        "country_code": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        },
        "position_types": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        },
        "status": {
          "type": "string",
          "enum": [
            "active",
            "inactive",
            "removed"
          ]
        }
      },
      "additionalProperties": false
    },
    "registration_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/registration_payload_def"
        }
      ]
    },
    "registration_body_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/registration_body_validation_error_item"
          }
        }
      }
    },
    "registration_body_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "ENUM_MISMATCH",
                "MIN_LENGTH",
                "PATTERN",
                "INVALID_TYPE",
                "ARRAY_UNIQUE",
                "ARRAY_LENGTH_SHORT",
                "MAX_LENGTH",
                "POSITION_TYPE_NOT_FOUND"
              ]
            }
          }
        }
      ]
    },
    "registration_body_entry_status_payload_def": {
      "type": "object",
      "required": [
        "name",
        "description"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "registration_body_entry_status_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/registration_body_entry_status_payload_def"
        },
        {
          "type": "object",
          "required": [
            "type",
            "registration_body_id",
            "default",
            "editable"
          ],
          "properties": {
            "registration_body_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "type": {
              "type": "string"
            },
            "default": {
              "type": "boolean"
            },
            "editable": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "registration_body_status_payload_def": {
      "type": "object",
      "required": [
        "name",
        "description"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "minLength": 1
        },
        "default": {
          "type": "boolean"
        },
        "editable": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "registration_body_status_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "type",
            "registration_body_id",
            "name",
            "description",
            "default",
            "editable"
          ],
          "properties": {
            "registration_body_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "type": {
              "type": "string",
              "minLength": 1
            },
            "name": {
              "type": "string",
              "minLength": 1
            },
            "description": {
              "type": "string",
              "minLength": 1
            },
            "default": {
              "type": "boolean"
            },
            "editable": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "agency_group_candidate_registration_body_entry_payload_def": {
      "type": "object",
      "required": [
        "registration_body_entry_id",
        "status_id"
      ],
      "properties": {
        "registration_body_entry_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "obtained_at": {
          "type": "string",
          "format": "date"
        },
        "valid_at": {
          "type": "string",
          "format": "date"
        },
        "expires_at": {
          "type": "string",
          "format": "date"
        },
        "status_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_registration_body_entry_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_candidate_registration_body_entry_validation_error_item"
          }
        }
      }
    },
    "agency_group_candidate_registration_body_entry_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "PATTERN",
                "INVALID_TYPE",
                "REGISTRATION_BODY_ENTRY_ALREADY_EXISTS",
                "SYSTEM_REGISTRATION_BODY_ENTRY_NOT_FOUND",
                "SYSTEM_REGISTRATION_BODY_ENTRY_STATUS_NOT_FOUND"
              ]
            }
          }
        }
      ]
    },
    "candidate_employment_dismissal_payload_def": {
      "type": "object",
      "required": [
        "reason"
      ],
      "properties": {
        "reason": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "candidate_employment_dismissal_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/candidate_employment_dismissal_payload_def"
        },
        {
          "type": "object",
          "required": [
            "candidate_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "candidate_employment_dismissal_post_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_employment_dismissal_post_validation_error_item"
          }
        }
      }
    },
    "candidate_employment_dismissal_post_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "INVALID_TYPE",
                "MIN_LENGTH"
              ]
            }
          }
        }
      ]
    },
    "owner": {
      "type": "object",
      "required": [
        "owner_id",
        "owner_type"
      ],
      "properties": {
        "owner_id": {
          "type": "string",
          "description": "The id of the resource that creates the plugin setting"
        },
        "owner_type": {
          "type": "string",
          "description": "The name of the resource that creates the plugin setting"
        }
      },
      "additionalProperties": false
    },
    "setting": {
      "type": "object",
      "required": [
        "plugin_name",
        "menu_icon",
        "menu_icon_selected",
        "menu_label"
      ],
      "properties": {
        "plugin_name": {
          "type": "string",
          "description": "The name of the plugin for which the setting is being created"
        },
        "menu_icon": {
          "type": "string",
          "description": "The icon that will be displayed for the plugin menu item"
        },
        "menu_icon_selected": {
          "type": "string",
          "description": "The icon that will be displayed for the plugin menu item when it is selected"
        },
        "menu_label": {
          "type": "string",
          "description": "The label for them plugin menu item"
        },
        "overview_url": {
          "type": "string",
          "description": "The url pointing to the Overview resource of the plugin"
        },
        "form_url": {
          "type": "string",
          "description": "The url pointing to the Form resource of the plugin"
        },
        "additional_settings": {
          "type": "object",
          "description": "This is a free form object that has additional settings info like supported_statuses, supported_types etc"
        }
      },
      "additionalProperties": false
    },
    "plugin_setting_request": {
      "type": "object",
      "required": [
        "plugin_type",
        "resource_type",
        "setting"
      ],
      "properties": {
        "plugin_type": {
          "type": "string",
          "description": "The type of plugin being created",
          "enum": [
            "candidate",
            "agencyGroupCandidate",
            "agency",
            "agencyGroup"
          ]
        },
        "resource_type": {
          "type": "string",
          "enum": [
            "candidate",
            "user"
          ],
          "description": "The type of resource for which the plugin will be created"
        },
        "client_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The client id"
        },
        "setting": {
          "$ref": "#/definitions/setting"
        }
      },
      "additionalProperties": false
    },
    "plugin_setting_response": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/plugin_setting_response_def"
        }
      ]
    },
    "plugin_setting_response_def": {
      "type": "object",
      "required": [
        "owner",
        "setting",
        "plugin_type",
        "resource_type"
      ],
      "properties": {
        "owner": {
          "$ref": "#/definitions/owner"
        },
        "setting": {
          "$ref": "#/definitions/setting"
        },
        "plugin_type": {
          "type": "string",
          "description": "The type of plugin being created",
          "enum": [
            "candidate",
            "agencyGroupCandidate",
            "agency",
            "agencyGroup"
          ]
        },
        "resource_type": {
          "type": "string",
          "enum": [
            "candidate",
            "user"
          ],
          "description": "The type of resource for which the plugin will be created"
        },
        "client_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$",
          "description": "The client id"
        }
      },
      "additionalProperties": false
    },
    "plugin_settings_validation": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED",
            "PATTERN",
            "ENUM_MISMATCH"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/plugin_settings_validation_single_model"
          }
        }
      }
    },
    "plugin_settings_validation_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MISSING_OVERVIEW_AND_FORM_URL",
            "MENU_LABEL_ALREADY_EXISTS",
            "ENUM_MISMATCH",
            "PATTERN",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "OBJECT_MISSING_REQUIRED_PROPERTY"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "system_activity_type_error_model": {
      "allOf": [
        {
          "$ref": "#/definitions/system_activity_type_error_model_def"
        }
      ]
    },
    "system_activity_type_error_model_def": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "ENUM_MISMATCH",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/system_activity_type_error_single_model"
          }
        }
      }
    },
    "system_activity_type_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "REQUIRED",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "CODE_MISMATCH",
            "DUPLICATE_ACTIVITY_TYPE_ID",
            "MIN_LENGTH",
            "INVALID_TYPE",
            "DUPLICATE_CODE",
            "SUBJECT_TYPE_NOT_ALLOWED_IN_CONTEXT"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "system_activity_type_body_param_def": {
      "type": "object",
      "required": [
        "name",
        "code",
        "order",
        "context"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "code": {
          "type": "string",
          "minLength": 1
        },
        "description": {
          "type": "string"
        },
        "disabled": {
          "type": "boolean"
        },
        "order": {
          "type": "integer"
        },
        "icon": {
          "type": "string"
        },
        "context": {
          "type": "string",
          "enum": [
            "agency",
            "agency-group"
          ]
        },
        "subject_type": {
          "type": "string",
          "enum": [
            "candidate",
            "client"
          ]
        }
      },
      "additionalProperties": false
    },
    "agency_group_notification_type_body_param_def": {
      "type": "object",
      "required": [
        "name",
        "activity_type",
        "mail_template",
        "enabled",
        "reply_to",
        "send_by",
        "automatic_notification"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "activity_type": {
          "type": "string"
        },
        "mail_template": {
          "type": "string"
        },
        "notification_medium": {
          "type": "string",
          "enum": [
            "mail"
          ]
        },
        "enabled": {
          "type": "boolean"
        },
        "reply_to": {
          "$ref": "#/definitions/recipient_def"
        },
        "send_by": {
          "$ref": "#/definitions/recipient_def"
        },
        "automatic_notification": {
          "type": "boolean"
        },
        "criteria": {
          "type": "string"
        },
        "ttl": {
          "type": "integer",
          "multipleOf": 1,
          "minimum": 1,
          "description": "The time-to-live of the message in minutes"
        }
      }
    },
    "agency_group_notification_type_error_model": {
      "allOf": [
        {
          "$ref": "#/definitions/agency_group_notification_type_error_model_def"
        }
      ]
    },
    "agency_group_notification_type_error_model_def": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "ENUM_MISMATCH",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_notification_type_error_single_model"
          }
        }
      }
    },
    "agency_group_notification_type_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "REQUIRED",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "MIN_LENGTH",
            "INVALID_TYPE",
            "INVALID_ACTIVITY_TYPE",
            "ACTIVITY_TYPE_DISABLED",
            "MAIL_TEMPLATE_NOT_EXIST",
            "INVALID_MAIL_TEMPLATE",
            "INVALID_CRITERIA",
            "INVALID_MAIL_TEMPLATE_TOKEN",
            "DUPLICATE_NOTIFICATION_TYPE_NAME",
            "MINIMUM",
            "MULTIPLE_OF"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_group_notification_types_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/agency_group_notification_type_body_param_def"
        }
      ]
    },
    "states_def": {
      "type": "object",
      "required": [
        "status",
        "total_time",
        "current",
        "last_end_date"
      ],
      "properties": {
        "status": {
          "type": "string"
        },
        "total_time": {
          "type": "integer"
        },
        "current": {
          "type": "boolean"
        },
        "last_end_date": {
          "type": "string",
          "format": "date-time"
        }
      },
      "additionalProperties": false
    },
    "employment_position_held_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id",
            "job_family_id",
            "job_family_name",
            "job_title_id",
            "job_title_name",
            "last_computed_at",
            "overall_duration",
            "states",
            "work_suggestion_status"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "job_family_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "job_family_name": {
              "type": "string"
            },
            "job_title_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "job_title_name": {
              "type": "string"
            },
            "last_computed_at": {
              "type": "string",
              "format": "date-time"
            },
            "overall_duration": {
              "type": "integer"
            },
            "states": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/states_def"
              }
            },
            "work_suggestion_status": {
              "type": "string"
            },
            "work_history_ids": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "all_access_user_post_model_def": {
      "type": "object",
      "required": [
        "user_id"
      ],
      "properties": {
        "user_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      },
      "additionalProperties": false
    },
    "all_access_user_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/all_access_user_post_model_def"
        },
        {
          "type": "object",
          "required": [
            "resource_type",
            "resource_id",
            "username",
            "first_name",
            "last_name"
          ],
          "properties": {
            "resource_type": {
              "type": "string",
              "minLength": 1
            },
            "resource_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "username": {
              "type": "string",
              "minLength": 1
            },
            "first_name": {
              "type": "string",
              "minLength": 1
            },
            "last_name": {
              "type": "string",
              "minLength": 1
            }
          }
        }
      ]
    },
    "agency_all_access_user_post_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_all_access_user_post_error_model_item"
          }
        }
      }
    },
    "agency_all_access_user_post_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "PATTERN",
                "INVALID_TYPE",
                "USER_NOT_LINKED_WITH_AGENCY",
                "AGENCY_STATUS_DISABLED"
              ]
            }
          }
        }
      ]
    },
    "whitelist_ip_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "MIN_LENGTH",
                "PATTERN",
                "INVALID_TYPE",
                "INVALID_FORMAT"
              ]
            }
          }
        }
      ]
    },
    "whitelist_ip_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/whitelist_ip_error_item"
          }
        }
      }
    },
    "ip_whitelist_model_def": {
      "type": "object",
      "required": [
        "ip",
        "description"
      ],
      "properties": {
        "ip": {
          "type": "string",
          "format": "ipv4"
        },
        "description": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "ip_whitelist_model_def_for_put": {
      "type": "object",
      "required": [
        "description"
      ],
      "properties": {
        "description": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "ip_whitelist_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "resource_type",
            "resource_id",
            "ip",
            "description"
          ],
          "properties": {
            "resource_type": {
              "type": "string",
              "minLength": 1
            },
            "resource_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "ip": {
              "type": "string",
              "format": "ipv4"
            },
            "description": {
              "type": "string",
              "minLength": 1
            }
          }
        }
      ]
    },
    "agency_group_all_access_user_post_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_all_access_user_post_error_model_item"
          }
        }
      }
    },
    "agency_group_all_access_user_post_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "PATTERN",
                "INVALID_TYPE",
                "USER_NOT_LINKED_WITH_AGENCY_GROUP",
                "AGENCY_GROUP_STATUS_DISABLED"
              ]
            }
          }
        }
      ]
    },
    "sync_map_item_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/sync_map_item_validation_error_item"
          }
        }
      }
    },
    "sync_map_items": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/sync_map_item"
      }
    },
    "sync_map_item": {
      "type": "object",
      "required": [
        "key",
        "mapSid",
        "revision",
        "data",
        "dateCreated",
        "dateUpdated",
        "createdBy"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "mapSid": {
          "type": "string"
        },
        "revision": {
          "type": "string"
        },
        "data": {
          "type": "object",
          "required": [
            "status"
          ],
          "properties": {
            "status": {
              "type": "string"
            }
          }
        },
        "dateExpires": {
          "type": "string",
          "format": "date-time"
        },
        "dateCreated": {
          "type": "string",
          "format": "date-time"
        },
        "dateUpdated": {
          "type": "string",
          "format": "date-time"
        },
        "createdBy": {
          "type": "string"
        }
      }
    },
    "sync_map_item_validation_error_item": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "sync_map_response_def": {
      "type": "object",
      "required": [
        "sid",
        "uniqueName",
        "revision",
        "dateCreated",
        "dateUpdated",
        "createdBy"
      ],
      "properties": {
        "sid": {
          "type": "string"
        },
        "uniqueName": {
          "type": "string"
        },
        "revision": {
          "type": "string"
        },
        "dateExpires": {
          "type": "string",
          "format": "date-time"
        },
        "dateCreated": {
          "type": "string",
          "format": "date-time"
        },
        "dateUpdated": {
          "type": "string",
          "format": "date-time"
        },
        "createdBy": {
          "type": "string"
        }
      }
    },
    "online_user_map_config_response": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "resource_type",
            "map_unique_name",
            "map_context_types",
            "type"
          ],
          "properties": {
            "type": {
              "type": "string",
              "minLength": 1
            },
            "map_unique_name": {
              "type": "string",
              "minLength": 1
            },
            "map_context_types": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "agency",
                  "agencygroup",
                  "candidate"
                ]
              }
            },
            "resource_id": {
              "type": "string"
            },
            "resource_type": {
              "type": "string",
              "enum": [
                "agency",
                "agencygroup",
                "candidate",
                "systemadmin"
              ]
            }
          }
        }
      ]
    },
    "update_online_map_config_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/online_map_config_validation_error_model_item"
          }
        }
      }
    },
    "online_map_config_validation_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "INVALID_TYPE",
                "MIN_LENGTH",
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "ENUM_MISMATCH"
              ]
            }
          }
        }
      ]
    },
    "online_user_map_config_def": {
      "type": "object",
      "required": [
        "map_unique_name",
        "map_context_types"
      ],
      "properties": {
        "map_unique_name": {
          "type": "string",
          "minLength": 1
        },
        "map_context_types": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "agency",
              "agencygroup",
              "candidate"
            ]
          }
        }
      },
      "additionalProperties": false
    },
    "conversation_config_response": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "type",
            "scribe_user",
            "neo_user",
            "resource_type"
          ],
          "properties": {
            "type": {
              "type": "string",
              "minLength": 1
            },
            "scribe_user": {
              "type": "string",
              "minLength": 1
            },
            "neo_user": {
              "type": "string",
              "minLength": 1
            },
            "resource_id": {
              "type": "string"
            },
            "resource_type": {
              "type": "string",
              "enum": [
                "agency",
                "agencygroup",
                "candidate",
                "systemadmin"
              ]
            },
            "bots": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/bots_def"
              }
            },
            "notifiers": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/notifier_def"
              }
            },
            "worker_details": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/worker_details_def"
              }
            }
          }
        }
      ]
    },
    "update_conversation_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/conversation_config_validation_error_model_item"
          }
        }
      }
    },
    "conversation_config_validation_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "INVALID_TYPE",
                "MIN_LENGTH",
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "ENUM_MISMATCH"
              ]
            }
          }
        }
      ]
    },
    "conversation_config_def": {
      "type": "object",
      "required": [
        "scribe_user",
        "neo_user"
      ],
      "properties": {
        "scribe_user": {
          "type": "string",
          "minLength": 1
        },
        "neo_user": {
          "type": "string",
          "minLength": 1
        },
        "bots": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/bots_def"
          }
        },
        "notifiers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/notifier_def"
          }
        },
        "worker_details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/worker_details_def"
          }
        }
      },
      "additionalProperties": false
    },
    "worker_details_def": {
      "type": "object",
      "required": [
        "type",
        "identity"
      ],
      "properties": {
        "identity": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "enum": [
            "scribe",
            "neo"
          ]
        },
        "worker_sid": {
          "type": "string"
        },
        "worker_attributes": {
          "type": "object"
        },
        "member_attributes": {
          "type": "object"
        }
      }
    },
    "bots_def": {
      "type": "object",
      "required": [
        "identity",
        "type"
      ],
      "properties": {
        "identity": {
          "type": "string",
          "minLength": 1
        },
        "type": {
          "type": "string",
          "enum": [
            "scribe_bot",
            "channel_bot"
          ]
        }
      }
    },
    "notifier_def": {
      "type": "object",
      "required": [
        "event",
        "type",
        "data"
      ],
      "properties": {
        "event": {
          "type": "string",
          "minLength": 1
        },
        "type": {
          "type": "string",
          "enum": [
            "slack",
            "microsoft_team",
            "microsoft_team_v2"
          ]
        },
        "data": {
          "$ref": "#/definitions/notifier_data_def"
        }
      }
    },
    "notifier_data_def": {
      "type": "object",
      "required": [
        "base_url",
        "inbox_link",
        "name"
      ],
      "properties": {
        "base_url": {
          "type": "string",
          "minLength": 1
        },
        "channel": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "minLength": 1
        },
        "inbox_link": {
          "type": "string",
          "minLength": 1
        },
        "headers": {
          "type": "object",
          "properties": {
            "token": {
              "type": "string",
              "minLength": 1
            },
            "channel_id": {
              "type": "string",
              "minLength": 1
            },
            "team_id": {
              "type": "string",
              "minLength": 1
            }
          }
        }
      }
    },
    "conversation_create_body_param_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "channel_id",
            "channel_attributes",
            "status",
            "created_by",
            "note_channel_id",
            "note_channel_attributes",
            "owner"
          ],
          "properties": {
            "conversation_uuid": {
              "type": "string",
              "format": "uuid",
              "pattern": "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$"
            },
            "medium": {
              "type": "string",
              "enum": [
                "sms",
                "chat",
                "whatsapp"
              ]
            },
            "type": {
              "type": "string",
              "enum": [
                "candidate_support",
                "system_support",
                "candidate_support_initiated",
                "system_support_initiated"
              ]
            },
            "name": {
              "type": "string"
            },
            "first_message": {
              "type": "string"
            },
            "channel_id": {
              "type": "string"
            },
            "channel_attributes": {
              "type": "object"
            },
            "status": {
              "type": "string",
              "enum": [
                "open",
                "closing",
                "closed",
                "orphan",
                "archived"
              ]
            },
            "created_by": {
              "type": "object",
              "required": [
                "user_id",
                "context_type"
              ],
              "properties": {
                "user_id": {
                  "type": "string"
                },
                "context_type": {
                  "type": "string"
                },
                "context_id": {
                  "type": "string"
                }
              }
            },
            "note_channel_id": {
              "type": "string"
            },
            "note_channel_attributes": {
              "type": "object"
            },
            "team": {
              "type": "object"
            },
            "owner": {
              "type": "object",
              "required": [
                "resource_type"
              ],
              "properties": {
                "resource_type": {
                  "type": "string",
                  "enum": [
                    "agency",
                    "agencygroup",
                    "systemadmin"
                  ]
                },
                "resource_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              }
            },
            "participants": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "user_id"
                ],
                "properties": {
                  "user_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  }
                }
              }
            },
            "bots": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "_id",
                  "name",
                  "avatar"
                ],
                "properties": {
                  "_id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string"
                  },
                  "avatar": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      ]
    },
    "conversation_get_param_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "channel_id",
            "channel_attributes",
            "status",
            "created_by",
            "note_channel_id",
            "note_channel_attributes",
            "owner"
          ],
          "properties": {
            "conversation_uuid": {
              "type": "string",
              "format": "uuid",
              "pattern": "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$"
            },
            "medium": {
              "type": "string",
              "enum": [
                "sms",
                "chat",
                "whatsapp"
              ]
            },
            "type": {
              "type": "string",
              "enum": [
                "candidate_support",
                "system_support",
                "candidate_support_initiated",
                "system_support_initiated"
              ]
            },
            "name": {
              "type": "string"
            },
            "first_message": {
              "type": "string"
            },
            "channel_id": {
              "type": "string"
            },
            "channel_attributes": {
              "type": "object"
            },
            "status": {
              "type": "string",
              "enum": [
                "open",
                "closing",
                "closed",
                "orphan",
                "archived"
              ]
            },
            "created_by": {
              "type": "object",
              "required": [
                "user_id",
                "context_type"
              ],
              "properties": {
                "user_id": {
                  "type": "string"
                },
                "context_type": {
                  "type": "string"
                },
                "context_id": {
                  "type": "string"
                }
              }
            },
            "note_channel_id": {
              "type": "string"
            },
            "note_channel_attributes": {
              "type": "object"
            },
            "team": {
              "type": "object",
              "properties": {
                "team_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "team_name": {
                  "type": "string"
                }
              }
            },
            "owner": {
              "type": "object",
              "required": [
                "resource_type"
              ],
              "properties": {
                "resource_type": {
                  "type": "string",
                  "enum": [
                    "agency",
                    "agencygroup",
                    "systemadmin"
                  ]
                },
                "resource_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              }
            },
            "participants": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "user_id"
                ],
                "properties": {
                  "user_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  }
                }
              }
            },
            "bots": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "_id",
                  "name",
                  "avatar"
                ],
                "properties": {
                  "_id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string"
                  },
                  "avatar": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      ]
    },
    "create_message_body_param_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/create_message_body_param_def"
        },
        {
          "type": "object",
          "required": [
            "delivery_status"
          ],
          "properties": {
            "external_id": {
              "type": "string"
            },
            "delivery_status": {
              "type": "string",
              "enum": [
                "pending",
                "accepted",
                "queued",
                "sending",
                "sent",
                "failed",
                "undelivered",
                "delivered",
                "read"
              ]
            },
            "failure": {
              "type": "object",
              "properties": {
                "reason": {
                  "type": "string"
                },
                "code": {
                  "type": "string"
                }
              }
            }
          }
        }
      ]
    },
    "create_message_body_param_def": {
      "type": "object",
      "required": [
        "medium",
        "from",
        "body",
        "to",
        "request_uuid"
      ],
      "properties": {
        "medium": {
          "type": "string",
          "enum": [
            "sms",
            "whatsapp"
          ]
        },
        "body": {
          "type": "string"
        },
        "from": {
          "type": "string",
          "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
        },
        "to": {
          "type": "string",
          "pattern": "(^[\\+][0-9]{0,15}$)|(^0{1}[0-9]{0,14}$)"
        },
        "request_uuid": {
          "type": "string",
          "description": "This allows external system to track the status changes of the message",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
        }
      },
      "additionalProperties": false
    },
    "conversation_create_body_param_def": {
      "type": "object",
      "required": [
        "name",
        "type"
      ],
      "properties": {
        "conversation_uuid": {
          "type": "string",
          "format": "uuid",
          "pattern": "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$"
        },
        "medium": {
          "type": "string",
          "default": "chat",
          "enum": [
            "sms",
            "chat",
            "whatsapp"
          ]
        },
        "first_message": {
          "type": "string"
        },
        "first_message_attributes": {
          "type": "object"
        },
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "enum": [
            "candidate_support",
            "system_support",
            "candidate_support_initiated",
            "system_support_initiated"
          ]
        },
        "members": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "user_id",
              "member_type"
            ],
            "properties": {
              "user_id": {
                "type": "string",
                "pattern": "^[0-9a-fA-F]{24}$"
              },
              "member_type": {
                "type": "string",
                "enum": [
                  "chatterbox"
                ]
              }
            }
          }
        },
        "owner": {
          "type": "object",
          "required": [
            "resource_id",
            "resource_type"
          ],
          "properties": {
            "resource_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "resource_type": {
              "type": "string",
              "enum": [
                "agencygroup",
                "agency"
              ]
            }
          }
        }
      },
      "additionalProperties": false
    },
    "conversation_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/conversation_validation_error_model_item"
          }
        }
      }
    },
    "conversation_validation_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "MIN_LENGTH",
                "ENUM_MISMATCH",
                "INVALID_TYPE",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "OBJECT_ADDITIONAL_PROPERTIES",
                "ENUM_NOT_SUPPORTED",
                "ARRAY_LENGTH_SHORT",
                "INVALID_ACTIVITY_TYPE",
                "ACTIVITY_TYPE_DISABLED"
              ]
            }
          }
        }
      ]
    },
    "conversation_owner_change_body_def": {
      "type": "object",
      "required": [
        "resource_type"
      ],
      "properties": {
        "resource_type": {
          "type": "string",
          "enum": [
            "agency",
            "agencygroup",
            "systemadmin"
          ]
        },
        "resource_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      },
      "additionalProperties": false
    },
    "conversation_owner_change_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED",
            "PATTERN"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/conversation_owner_change_validation_error_model_item"
          }
        }
      }
    },
    "conversation_owner_change_validation_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "INVALID_TYPE",
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "ENUM_MISMATCH",
                "PATTERN",
                "MIN_LENGTH",
                "ARRAY_LENGTH_SHORT",
                "INVALID_ACTIVITY_TYPE",
                "ACTIVITY_TYPE_DISABLED"
              ]
            }
          }
        }
      ]
    },
    "status_not_open_pre_condition_fail_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "CONVERSATION_STATUS_MUST_BE_OPEN"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "conversation_creation_pre_condition_fail_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "CANDIDATE_MUST_BE_LINKED_WITH_SINGLE_AGENCY_GROUP",
            "CANDIDATE_CAN_NOT_ADD_MEMBERS",
            "CANDIDATE_MUST_BE_LINKED_TO_AGENCY_GROUP",
            "CANDIDATE_MUST_BE_LINKED_TO_AGENCY",
            "INCORRECT_CONTEXT_USING_AGENCY_GROUP_NUMBER"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "get_augmented_conversation_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "channel_id",
            "channel_attributes",
            "status",
            "created_by",
            "note_channel_id",
            "note_channel_attributes",
            "owner"
          ],
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "candidate_support",
                "system_support",
                "candidate_support_initiated",
                "system_support_initiated"
              ]
            },
            "name": {
              "type": "string"
            },
            "first_message": {
              "type": "string"
            },
            "channel_id": {
              "type": "string"
            },
            "channel_attributes": {
              "type": "object"
            },
            "status": {
              "type": "string",
              "enum": [
                "open",
                "closing",
                "closed",
                "orphan",
                "archived"
              ]
            },
            "created_by": {
              "type": "object",
              "required": [
                "user_id",
                "context_type"
              ],
              "properties": {
                "user_id": {
                  "type": "string"
                },
                "context_type": {
                  "type": "string"
                },
                "context_id": {
                  "type": "string"
                }
              }
            },
            "note_channel_id": {
              "type": "string"
            },
            "note_channel_attributes": {
              "type": "object"
            },
            "team": {
              "type": "object",
              "properties": {
                "team_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                },
                "team_name": {
                  "type": "string"
                }
              }
            },
            "owner": {
              "type": "object",
              "required": [
                "resource_type"
              ],
              "properties": {
                "resource_type": {
                  "type": "string",
                  "enum": [
                    "agency",
                    "agencygroup",
                    "systemadmin"
                  ]
                },
                "resource_id": {
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{24}$"
                }
              }
            },
            "medium": {
              "type": "string",
              "enum": [
                "sms",
                "chat",
                "whatsapp"
              ]
            },
            "message_listing": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "body",
                  "participant_id",
                  "created_at"
                ],
                "properties": {
                  "body": {
                    "type": "string"
                  },
                  "attributes": {
                    "type": "object"
                  },
                  "participant_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "media": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "created_at": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            },
            "participant_listing": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "identity",
                  "participant_id",
                  "created_at"
                ],
                "properties": {
                  "attributes": {
                    "type": "object"
                  },
                  "identity": {
                    "type": "string"
                  },
                  "user_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "participant_id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "created_at": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          }
        }
      ]
    },
    "client_conversation_get_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "message_status_updates_validation_error_def": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/message_status_updates_validation_error_item"
          }
        }
      }
    },
    "message_status_updates_validation_error_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "INVALID_TYPE",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "OBJECT_ADDITIONAL_PROPERTIES",
                "ENUM_MISMATCH"
              ]
            }
          }
        }
      ]
    },
    "agency_group_social_link_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_social_link_response_def"
        },
        {
          "type": "object",
          "required": [
            "agency_group_id"
          ],
          "properties": {
            "agency_group_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "social_link_def": {
      "description": "social link",
      "type": "object",
      "required": [
        "name",
        "type"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "type": {
          "type": "string",
          "description": "It will be stored as lowercase value",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "candidate_social_link_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/social_link_def"
        },
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "candidate_id"
          ],
          "properties": {
            "candidate_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "social_link_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/social_link_validation_error_item"
          }
        }
      }
    },
    "social_link_validation_error_item": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "PATTERN",
            "REQUIRED",
            "OBJECT_ADDITIONAL_PROPERTY",
            "DO_NOT_EXIST",
            "MIN_LENGTH",
            "SOCIAL_LINK_TYPE_DISABLED"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_social_link_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/candidate_social_link_response_def"
        },
        {
          "type": "object",
          "required": [
            "agency_id"
          ],
          "properties": {
            "agency_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            }
          }
        }
      ]
    },
    "advanced_search_call_payload_def": {
      "type": "object",
      "properties": {
        "query": {
          "$ref": "#/definitions/advanced_search_call_query_fields"
        },
        "sort": {
          "type": "array",
          "description": "Sort fields. Each entry is a field name optionally prefixed with '-' for descending order (e.g. '-call_start').",
          "items": {
            "type": "string",
            "enum": [
              "call_start",
              "-call_start",
              "total_duration",
              "-total_duration"
            ]
          }
        },
        "project": {
          "type": "object",
          "description": "MongoDB projection. Each key is a field name with value 1 to include it. gong_transcript and gong_analysis are excluded by default.",
          "properties": {
            "pabx_call_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "recording": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "call_start": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "total_duration": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "direction": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "pabx_meta_identifier_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "call_part": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "parties": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "gong_workspace_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "gong_call_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "staffshift_context": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "gong_readiness": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "gong_enrichment_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "gong_enrichment_status_since": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "gong_transcript_retrieved_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "gong_analysis_retrieved_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "gong_transcript": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "gong_analysis": {
              "type": "integer",
              "enum": [
                1
              ]
            }
          },
          "additionalProperties": false
        },
        "page": {
          "type": "integer",
          "minimum": 1,
          "description": "Page number (1-based). Defaults to 1 when omitted. Use together with items_per_page to paginate results."
        },
        "items_per_page": {
          "type": "integer",
          "minimum": 1,
          "maximum": 50,
          "default": 25,
          "description": "Number of results per page. Defaults to 25 when omitted; maximum 50. Use together with page to paginate results."
        }
      },
      "additionalProperties": false
    },
    "advanced_search_call_query_fields": {
      "type": "object",
      "description": "Query filter using bumblebee operators. Exactly one of 'and' or 'or' must be supplied at the top level — supplying both is rejected at runtime with TOO_MANY_OPERATORS.",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_call_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_call_query_fields"
          }
        },
        "call_start": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "total_duration": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "direction": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "pabx_meta_identifier_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "call_part": {
          "$ref": "#/definitions/advanced_search_operations_call_part_field"
        },
        "parties": {
          "$ref": "#/definitions/advanced_search_operations_parties_field"
        },
        "staffshift_context": {
          "$ref": "#/definitions/advanced_search_operations_staffshift_context_field"
        },
        "gong_readiness": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "gong_call_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "gong_enrichment_status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "gong_transcript": {
          "$ref": "#/definitions/advanced_search_operations_transcript_field"
        },
        "gong_analysis": {
          "$ref": "#/definitions/advanced_search_operations_gong_analysis_field"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_parties_field": {
      "type": "object",
      "description": "Filter on parties entries. Use 'contains' to match documents where at least one party satisfies all conditions; 'contains_any' for at least one matching.",
      "properties": {
        "contains": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_operations_parties_entry_field"
          }
        },
        "contains_any": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_operations_parties_entry_field"
          }
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_parties_entry_field": {
      "type": "object",
      "description": "Filter fields within a parties entry.",
      "properties": {
        "phone_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "party_ss_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "party_type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "party_agency_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "party_agency_group_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "gong_user_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_staffshift_context_field": {
      "type": "object",
      "description": "Filter on staffshift_context fields.",
      "properties": {
        "id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_gong_analysis_field": {
      "type": "object",
      "description": "Filter on gong_analysis fields. Use 'contains'/'contains_any' for array sub-fields (topics, trackers).",
      "properties": {
        "topics": {
          "$ref": "#/definitions/advanced_search_operations_gong_analysis_topics_field"
        },
        "trackers": {
          "$ref": "#/definitions/advanced_search_operations_gong_analysis_trackers_field"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_gong_analysis_topics_field": {
      "type": "object",
      "properties": {
        "contains": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_operations_gong_analysis_named_entry_field"
          }
        },
        "contains_any": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_operations_gong_analysis_named_entry_field"
          }
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_gong_analysis_trackers_field": {
      "type": "object",
      "properties": {
        "contains": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_operations_gong_analysis_named_entry_field"
          }
        },
        "contains_any": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_operations_gong_analysis_named_entry_field"
          }
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_gong_analysis_named_entry_field": {
      "type": "object",
      "properties": {
        "name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_call_part_field": {
      "type": "object",
      "description": "Filter on call_part entries. Use 'contains' to match documents where at least one call part satisfies the condition.",
      "properties": {
        "contains": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_operations_call_part_entry_field"
          }
        },
        "contains_any": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_operations_call_part_entry_field"
          }
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_call_part_entry_field": {
      "type": "object",
      "description": "Filter fields within a call_part entry.",
      "properties": {
        "agent_extension": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_transcript_field": {
      "type": "object",
      "description": "Filter on gong_transcript entries. Use 'contains' to match documents where at least one transcript entry satisfies the condition; 'contains_any' for at least one sentence matching.",
      "properties": {
        "contains": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_operations_transcript_sentences_field"
          }
        },
        "contains_any": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_operations_transcript_sentences_field"
          }
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_transcript_sentences_field": {
      "type": "object",
      "description": "Filter on sentences within a gong_transcript entry.",
      "properties": {
        "sentences": {
          "type": "object",
          "properties": {
            "contains": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/advanced_search_operations_transcript_sentence_text_field"
              }
            },
            "contains_any": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/advanced_search_operations_transcript_sentence_text_field"
              }
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_transcript_sentence_text_field": {
      "type": "object",
      "description": "Filter on the text of a gong_transcript sentence.",
      "properties": {
        "text": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_call_response": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "description": "MongoDB document identifier"
          },
          "__v": {
            "type": "integer"
          },
          "pabx_call_id": {
            "type": "string"
          },
          "recording": {
            "type": "string"
          },
          "call_start": {
            "type": "string",
            "format": "date-time"
          },
          "total_duration": {
            "type": "integer"
          },
          "direction": {
            "type": "string",
            "enum": [
              "Inbound",
              "Outbound",
              "Conference",
              "Unknown"
            ]
          },
          "pabx_meta_identifier_name": {
            "type": "string"
          },
          "call_part": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/advanced_search_call_response_call_part"
            }
          },
          "parties": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/advanced_search_call_response_party"
            }
          },
          "gong_workspace_id": {
            "type": "string"
          },
          "gong_call_id": {
            "type": "string"
          },
          "staffshift_context": {
            "$ref": "#/definitions/advanced_search_call_response_staffshift_context"
          },
          "gong_readiness": {
            "type": "string",
            "enum": [
              "ready",
              "not_ready",
              "awaiting_checks",
              "awaiting_signed_url",
              "success_send",
              "permanent_failure",
              "temporary_failure",
              "wont_send_core_checks"
            ]
          },
          "gong_enrichment_status": {
            "type": "string",
            "enum": [
              "NOT_STARTED",
              "COMPLETED",
              "ABANDONED",
              "RESYNC_REQUESTED",
              "RETRYING",
              "POSSIBLE_FAILURE"
            ]
          },
          "gong_enrichment_status_since": {
            "type": "string",
            "format": "date-time"
          },
          "gong_transcript_retrieved_at": {
            "type": "string",
            "format": "date-time"
          },
          "gong_analysis_retrieved_at": {
            "type": "string",
            "format": "date-time"
          },
          "gong_transcript": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/advanced_search_call_response_gong_transcript"
            },
            "description": "Excluded by default to keep response payloads small. Opt in via project: {gong_transcript: 1}."
          },
          "gong_analysis": {
            "$ref": "#/definitions/advanced_search_call_response_gong_analysis"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "_etags": {
            "type": "object",
            "required": [
              "calls_search"
            ],
            "properties": {
              "calls_search": {
                "type": "integer"
              }
            }
          }
        }
      }
    },
    "advanced_search_call_response_call_part": {
      "type": "object",
      "required": [
        "call_start",
        "duration",
        "agent_extension",
        "pabx_meta_identifier_name",
        "call_type",
        "external_party"
      ],
      "properties": {
        "call_start": {
          "type": "string",
          "format": "date-time"
        },
        "duration": {
          "type": "integer"
        },
        "agent_extension": {
          "type": "string"
        },
        "pabx_meta_identifier_name": {
          "type": "string"
        },
        "call_type": {
          "type": "string",
          "enum": [
            "Inbound",
            "Outbound",
            "Conference",
            "Unknown"
          ]
        },
        "external_party": {
          "type": "string"
        }
      }
    },
    "advanced_search_call_response_party": {
      "type": "object",
      "required": [
        "party_id",
        "party_crm_status",
        "phone_number"
      ],
      "properties": {
        "party_id": {
          "type": "string"
        },
        "party_crm_status": {
          "type": "string",
          "enum": [
            "not_found",
            "found",
            "pending",
            "not_applicable"
          ]
        },
        "phone_number": {
          "type": "string"
        },
        "party_type": {
          "type": "string",
          "enum": [
            "Client",
            "Candidate",
            "User"
          ]
        },
        "party_ss_id": {
          "type": "string"
        },
        "gong_user_id": {
          "type": "string"
        },
        "party_agency_id": {
          "type": "string"
        },
        "party_agency_group_id": {
          "type": "string"
        },
        "generated_crm_object_id": {
          "type": "string"
        }
      }
    },
    "advanced_search_call_response_staffshift_context": {
      "type": "object",
      "required": [
        "type",
        "id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "Candidate",
            "AgencyGroup",
            "Agency",
            "SystemAdmin",
            "Organisation"
          ]
        },
        "id": {
          "type": "string"
        }
      }
    },
    "advanced_search_call_response_gong_transcript": {
      "type": "object",
      "required": [
        "speaker_id",
        "sentences"
      ],
      "properties": {
        "speaker_id": {
          "type": "string"
        },
        "topic": {
          "type": "string"
        },
        "sentences": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_call_response_gong_transcript_sentence"
          }
        }
      }
    },
    "advanced_search_call_response_gong_transcript_sentence": {
      "type": "object",
      "required": [
        "start_ms",
        "end_ms",
        "text"
      ],
      "properties": {
        "start_ms": {
          "type": "integer"
        },
        "end_ms": {
          "type": "integer"
        },
        "text": {
          "type": "string"
        }
      }
    },
    "advanced_search_call_response_gong_analysis": {
      "type": "object",
      "required": [
        "meta_data",
        "topics",
        "trackers"
      ],
      "properties": {
        "meta_data": {
          "$ref": "#/definitions/advanced_search_call_response_gong_analysis_meta_data"
        },
        "topics": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_call_response_gong_analysis_topic"
          }
        },
        "trackers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_call_response_gong_analysis_tracker"
          }
        },
        "speakers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_call_response_gong_analysis_speaker"
          }
        },
        "questions": {
          "$ref": "#/definitions/advanced_search_call_response_gong_analysis_questions"
        },
        "interaction_stats": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_call_response_gong_analysis_interaction_stat"
          }
        },
        "brief": {
          "type": "string"
        },
        "outline": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_call_response_gong_analysis_outline_section"
          }
        },
        "highlights": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_call_response_gong_analysis_highlight"
          }
        },
        "call_outcome": {
          "$ref": "#/definitions/advanced_search_call_response_gong_analysis_call_outcome"
        },
        "key_points": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_call_response_gong_analysis_key_point"
          }
        }
      }
    },
    "advanced_search_call_response_gong_analysis_meta_data": {
      "type": "object",
      "required": [
        "title",
        "duration",
        "workspace_id",
        "primary_user_id"
      ],
      "properties": {
        "title": {
          "type": "string"
        },
        "duration": {
          "type": "integer"
        },
        "workspace_id": {
          "type": "string"
        },
        "primary_user_id": {
          "type": "string"
        }
      }
    },
    "advanced_search_call_response_gong_analysis_topic": {
      "type": "object",
      "required": [
        "name",
        "duration"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "duration": {
          "type": "integer"
        }
      }
    },
    "advanced_search_call_response_gong_analysis_tracker": {
      "type": "object",
      "required": [
        "name",
        "count"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "count": {
          "type": "integer"
        }
      }
    },
    "advanced_search_call_response_gong_analysis_speaker": {
      "type": "object",
      "required": [
        "speaker_id",
        "talk_time"
      ],
      "properties": {
        "speaker_id": {
          "type": "string"
        },
        "talk_time": {
          "type": "number"
        }
      }
    },
    "advanced_search_call_response_gong_analysis_questions": {
      "type": "object",
      "required": [
        "company_count",
        "non_company_count"
      ],
      "properties": {
        "company_count": {
          "type": "integer"
        },
        "non_company_count": {
          "type": "integer"
        }
      }
    },
    "advanced_search_call_response_gong_analysis_interaction_stat": {
      "type": "object",
      "required": [
        "name",
        "value"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "number"
        }
      }
    },
    "advanced_search_call_response_gong_analysis_outline_section": {
      "type": "object",
      "required": [
        "section",
        "items"
      ],
      "properties": {
        "section": {
          "type": "string"
        },
        "start_time": {
          "type": "number"
        },
        "duration": {
          "type": "number"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_call_response_gong_analysis_outline_item"
          }
        }
      }
    },
    "advanced_search_call_response_gong_analysis_outline_item": {
      "type": "object",
      "required": [
        "text"
      ],
      "properties": {
        "text": {
          "type": "string"
        },
        "start_time": {
          "type": "number"
        }
      }
    },
    "advanced_search_call_response_gong_analysis_highlight": {
      "type": "object",
      "required": [
        "title",
        "items"
      ],
      "properties": {
        "title": {
          "type": "string"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_call_response_gong_analysis_highlight_item"
          }
        }
      }
    },
    "advanced_search_call_response_gong_analysis_highlight_item": {
      "type": "object",
      "required": [
        "text"
      ],
      "properties": {
        "text": {
          "type": "string"
        },
        "start_times": {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      }
    },
    "advanced_search_call_response_gong_analysis_call_outcome": {
      "type": "object",
      "required": [
        "id",
        "category",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "category": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "advanced_search_call_response_gong_analysis_key_point": {
      "type": "object",
      "required": [
        "text"
      ],
      "properties": {
        "text": {
          "type": "string"
        }
      }
    },
    "advanced_search_call_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "REQUIRED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "type": "string",
                "enum": [
                  "INVALID_SORT_FIELD",
                  "TOO_MANY_OPERATORS",
                  "INVALID_TYPE",
                  "INVALID_OPERATION_FOR_FIELD",
                  "INVALID_OPERATOR",
                  "INVALID_OPERATION",
                  "INVALID_ATLAS_SEARCH_OPERATION",
                  "UNSUPPORTED_FIELD",
                  "INVALID_PROJECTION",
                  "ENUM_MISMATCH",
                  "OBJECT_ADDITIONAL_PROPERTIES",
                  "INVALID_FORMAT",
                  "MINIMUM",
                  "MAXIMUM",
                  "OBJECT_MISSING_REQUIRED_PROPERTY"
                ]
              },
              "message": {
                "type": "string"
              },
              "path": {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "integer",
                    "null"
                  ]
                }
              },
              "description": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": false
    },
    "inbox_token_body_param_def": {
      "type": "object"
    },
    "inbox_token_response": {
      "type": "object",
      "required": [
        "access_tokens"
      ],
      "properties": {
        "online_user_map": {
          "type": "string"
        },
        "access_tokens": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/access_tokens_item"
          }
        }
      },
      "additionalProperties": false
    },
    "inbox_token_validation_error_model": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/inbox_token_validation_error_model_item"
          }
        }
      }
    },
    "inbox_token_validation_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "OBJECT_ADDITIONAL_PROPERTIES",
                "OBJECT_MISSING_REQUIRED_PROPERTY"
              ]
            }
          }
        }
      ]
    },
    "conversation_member_create_body_param_def": {
      "type": "object",
      "required": [
        "user_id",
        "member_type"
      ],
      "properties": {
        "user_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "member_type": {
          "type": "string",
          "enum": [
            "inbox",
            "chatterbox",
            "note"
          ]
        }
      },
      "additionalProperties": false
    },
    "conversation_member_create_body_param_response_def": {
      "type": "object",
      "required": [
        "conversation_id"
      ],
      "properties": {
        "conversation_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "conversation_member_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/conversation_member_validation_error_model_item"
          }
        }
      }
    },
    "conversation_member_validation_error_model_item": {
      "allOf": [
        {
          "$ref": "#/definitions/validation_error_item_base"
        },
        {
          "type": "object",
          "required": [
            "code"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "PATTERN",
                "ENUM_MISMATCH",
                "INVALID_TYPE",
                "MIN_LENGTH",
                "INVALID_VALUE",
                "OBJECT_MISSING_REQUIRED_PROPERTY",
                "OBJECT_ADDITIONAL_PROPERTIES"
              ]
            }
          }
        }
      ]
    },
    "social_link_type_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/social_link_type_def"
        }
      ],
      "type": "object",
      "required": [
        "updated_at",
        "created_at",
        "__v"
      ],
      "properties": {
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "__v": {
          "type": "integer"
        }
      }
    },
    "social_link_type_def": {
      "type": "object",
      "required": [
        "_id",
        "name"
      ],
      "properties": {
        "_id": {
          "type": "string",
          "minLength": 3,
          "maxLength": 200,
          "pattern": "^[a-zA-Z0-9-_]+$"
        },
        "name": {
          "type": "string",
          "minLength": 3
        },
        "icon": {
          "type": "string"
        },
        "disabled": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "social_link_type_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "REQUIRED",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "CONTENT_TYPE_NOT_SUPPORTED",
            "INVALID_TYPE",
            "ENUM_MISMATCH",
            "MODEL_VALIDATION_FAILED",
            "MAX_LENGTH",
            "MIN_LENGTH"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/social_link_type_validation_error_single_model"
          }
        }
      }
    },
    "social_link_type_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "MIN_LENGTH",
            "MAX_LENGTH",
            "DUPLICATE_ID",
            "DUPLICATE_NAME",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "put_social_link_type_def": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 3
        },
        "icon": {
          "type": "string"
        },
        "disabled": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "social_link_get_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "INVALID_TYPE",
            "MIN_LENGTH"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "user_avatar_response": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "$ref": "#/definitions/user_avatar_def"
        }
      ],
      "type": "object",
      "required": [
        "reference",
        "user_id"
      ],
      "properties": {
        "reference": {
          "type": "string"
        },
        "avatar_url": {
          "type": "string"
        },
        "user_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "avatar_thumbnail_url": {
          "type": "string"
        }
      }
    },
    "user_avatar_def": {
      "description": "user avatar",
      "type": "object",
      "required": [
        "name",
        "metadata"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "metadata": {
          "type": "object",
          "required": [
            "file_size",
            "file_type",
            "etag",
            "md5_digest",
            "original_file_name"
          ],
          "properties": {
            "file_size": {
              "type": "integer",
              "minLength": 1
            },
            "file_type": {
              "type": "string",
              "minLength": 1
            },
            "etag": {
              "type": "string",
              "pattern": "^[a-f0-9]{32}$"
            },
            "md5_digest": {
              "type": "string",
              "minLength": 24,
              "maxLength": 24
            },
            "original_file_name": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "user_avatar_response_def": {
      "type": "object",
      "required": [
        "_id",
        "signed_upload_url",
        "headers"
      ],
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "signed_upload_url": {
          "type": "string"
        },
        "headers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "value": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "user_avatar_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "REQUIRED",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/user_avatar_validation_error_item"
          }
        }
      }
    },
    "user_avatar_validation_error_item": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "PATTERN",
            "REQUIRED",
            "OBJECT_ADDITIONAL_PROPERTY",
            "MIN_LENGTH",
            "MAX_LENGTH",
            "INVALID_TYPE",
            "INVALID_AVATAR_IMAGE_LENGTH"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "user_avatar_get_validation_error_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "ENUM_MISMATCH",
            "INVALID_TYPE",
            "MIN_LENGTH"
          ]
        },
        "message": {
          "type": "string"
        }
      }
    },
    "agency_contract_return": {
      "type": "object",
      "required": [
        "_id",
        "name",
        "status",
        "date_modified",
        "date_created"
      ],
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "date_modified": {
          "type": "string",
          "format": "date-time"
        },
        "date_created": {
          "type": "string",
          "format": "date-time"
        },
        "standard": {
          "type": "boolean"
        },
        "breakdown_time_rate_allocation_type": {
          "type": "string"
        },
        "etag": {
          "type": "integer"
        },
        "last_job_title_min_end_date": {
          "type": "string",
          "format": "date-time"
        },
        "last_job_title_max_end_date": {
          "type": "string",
          "format": "date-time"
        },
        "status": {
          "type": "string"
        }
      }
    },
    "agency_organisation_return": {
      "type": "object",
      "required": [
        "sAgencyId",
        "sAgencyName",
        "sOrganisationId",
        "sOrganisationName",
        "sAgencyOrgType",
        "dtCreated",
        "dtModified",
        "id"
      ],
      "properties": {
        "sAgencyId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sAgencyName": {
          "type": "string"
        },
        "sOrganisationId": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "sOrganisationName": {
          "type": "string"
        },
        "sAgencyOrgType": {
          "type": "string"
        },
        "bAgencyLinked": {
          "type": "boolean"
        },
        "dtCreated": {
          "type": "string",
          "format": "date-time"
        },
        "dtModified": {
          "type": "string",
          "format": "date-time"
        },
        "id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "candidate_notification_return": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "properties": {
            "notifications_sent": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "medium",
                  "status"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^[0-9a-fA-F]{24}$"
                  },
                  "status": {
                    "type": "string"
                  },
                  "medium": {
                    "type": "string",
                    "enum": [
                      "sms",
                      "email",
                      "whatsapp"
                    ]
                  },
                  "status_reason": {
                    "type": "string"
                  }
                }
              }
            },
            "version": {
              "type": "integer"
            },
            "medium": {
              "type": "string",
              "enum": [
                "sms",
                "email",
                "whatsapp"
              ]
            },
            "status": {
              "type": "string",
              "enum": [
                "new",
                "opt_out",
                "not_configured",
                "processing",
                "completed",
                "dispatched"
              ]
            },
            "status_reason": {
              "type": "object",
              "required": [
                "type",
                "description"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "template_not_configured",
                    "candidate_details_missing",
                    "unknown_notification_type",
                    "unknown_notification_type_template",
                    "candidate_notification_settings_missing"
                  ]
                },
                "description": {
                  "type": "string"
                }
              }
            },
            "candidate_id": {
              "type": "string"
            },
            "notification_type": {
              "type": "string"
            },
            "context_type": {
              "type": "string"
            },
            "context_type_id": {
              "type": "string"
            },
            "external_tokens": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "token",
                  "value"
                ],
                "properties": {
                  "token": {
                    "type": "string",
                    "minLength": 1
                  },
                  "value": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              }
            },
            "activity_data": {
              "type": "object",
              "properties": {
                "description": {
                  "type": "string"
                },
                "comment": {
                  "type": "string"
                },
                "linked_entities": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "$ref": "#/definitions/linked_entities_def"
                  }
                }
              }
            },
            "linked_entities": {
              "type": "array",
              "minItems": 1,
              "items": {
                "$ref": "#/definitions/linked_entities_def"
              }
            }
          }
        }
      ]
    },
    "linked_entities_def": {
      "type": "object",
      "required": [
        "entity_type",
        "entity_id"
      ],
      "properties": {
        "entity_type": {
          "type": "string"
        },
        "entity_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "agency_group_candidate_advanced_search_v2_query": {
      "type": "object",
      "properties": {
        "project": {
          "type": "object",
          "required": [
            "first_name",
            "last_name",
            "full_name",
            "candidate_id",
            "agency_group_id"
          ],
          "properties": {
            "first_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "last_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "full_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "username": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "gender": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "status_since": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_type_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_group_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "city": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "province": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "post_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "country_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "address_line1": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "address_line2": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "status_reason": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "responsible_consultant": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "languages": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contact_numbers": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "emails": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "last_contacted_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "dbs_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "policies": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "first_status_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "last_status_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "current_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "first_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "linked_to_agency_group_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "employment_held": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "physical_address_geo_location": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "last_shift_worked_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "next_shift_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "activities": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "documents": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "user_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "last_login_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "external_verifications": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "skill_details": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "qualification_details": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "registration_body_details": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "employment_position_held": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "consultants": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "keywords": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "notification_dnc": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "medium_dnc": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "chat_token_last_issued_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "transport_type": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "tags_links": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "employment_references": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "current_employment_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "compliance_default_output": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "avatar_url": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "avatar_thumbnail_url": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "id_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "external_workforce": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "allocated_agency_group_verified_documents": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "has_pending_agency_group_verification_documents": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "is_limited_work_hours_visa": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "reference_compliance": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "compliance_rule": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "has_next_of_kin": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "next_of_kin_count": {
              "type": "integer",
              "enum": [
                1
              ]
            }
          },
          "additionalProperties": false
        },
        "sort": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "_id",
              "-_id",
              "candidate_id",
              "-candidate_id",
              "first_name",
              "-first_name",
              "last_name",
              "-last_name",
              "full_name",
              "-full_name",
              "gender",
              "-gender",
              "candidate_type_id",
              "-candidate_type_id",
              "city",
              "-city",
              "province",
              "-province",
              "post_code",
              "-post_code",
              "username",
              "-username",
              "status",
              "-status",
              "status_since",
              "-status_since",
              "status_reason",
              "-status_reason",
              "responsible_consultant",
              "-responsible_consultant",
              "last_contacted_at",
              "-last_contacted_at",
              "dbs_status",
              "-dbs_status",
              "current_status.status",
              "-current_status.status",
              "current_status.status_id",
              "-current_status.status_id",
              "current_status.date",
              "-current_status.date",
              "current_status.reason",
              "-current_status.reason",
              "first_status.status",
              "-first_status.status",
              "first_status.status_id",
              "-first_status.status_id",
              "first_status.date",
              "-first_status.date",
              "first_status.reason",
              "-first_status.reason",
              "linked_to_agency_group_at",
              "-linked_to_agency_group_at",
              "last_shift_worked_at",
              "-last_shift_worked_at",
              "next_shift_at",
              "-next_shift_at",
              "user_status",
              "-user_status",
              "last_login_at",
              "-last_login_at",
              "chat_token_last_issued_at",
              "-chat_token_last_issued_at",
              "transport_type",
              "-transport_type",
              "employment_references.effective_from",
              "-employment_references.effective_from",
              "compliance_default_output",
              "-compliance_default_output",
              "external_workforce",
              "-external_workforce"
            ]
          }
        },
        "page": {
          "type": "integer",
          "minimum": 1
        },
        "items_per_page": {
          "type": "integer",
          "minimum": 1
        },
        "query": {
          "type": "object",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_candidate_advanced_search_query_fields"
              }
            },
            "or": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_candidate_advanced_search_query_fields"
              }
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_advanced_search_query_fields": {
      "type": "object",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_candidate_advanced_search_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_candidate_advanced_search_query_fields"
          }
        },
        "_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "first_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "last_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "full_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "gender": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_type_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "city": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "province": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "post_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "username": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "status_since": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "status_reason": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "responsible_consultant": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "languages": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_languages_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_languages_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_languages_query_fields"
                  }
                }
              }
            }
          ]
        },
        "contact_numbers": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_contact_numbers_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_contact_numbers_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_contact_numbers_query_fields"
                  }
                }
              }
            }
          ]
        },
        "emails": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_emails_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_emails_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_emails_query_fields"
                  }
                }
              }
            }
          ]
        },
        "compliance_contract": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_agency_group_contract_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_agency_group_contract_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_agency_group_contract_query_fields"
                  }
                }
              }
            }
          ]
        },
        "compliance_condition": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_condition_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_condition_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_condition_query_fields"
                  }
                }
              }
            }
          ]
        },
        "compliance_rule": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_rule_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_rule_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_rule_query_fields"
                  }
                }
              }
            }
          ]
        },
        "last_contacted_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "dbs_status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "policies": {
          "allOf": [
            {
              "$ref": "#/definitions/agency_group_candidate_advanced_search_policies_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/agency_group_candidate_advanced_search_policies_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/agency_group_candidate_advanced_search_policies_query_fields"
                  }
                }
              }
            }
          ]
        },
        "first_status_date": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_status_summary_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_status_summary_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_status_summary_query_fields"
                  }
                }
              }
            }
          ]
        },
        "last_status_date": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_status_summary_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_status_summary_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_status_summary_query_fields"
                  }
                }
              }
            }
          ]
        },
        "current_status": {
          "$ref": "#/definitions/advanced_search_extended_status_query_fields"
        },
        "first_status": {
          "$ref": "#/definitions/advanced_search_extended_status_query_fields"
        },
        "linked_to_agency_group_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "employment_held": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_emp_held_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_emp_held_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_emp_held_query_fields"
                  }
                }
              }
            }
          ]
        },
        "physical_address_geo_location": {
          "$ref": "#/definitions/advanced_search_operations_geo_location_field"
        },
        "last_shift_worked_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "next_shift_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "activities": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_activities_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_activities_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_activities_query_fields"
                  }
                }
              }
            }
          ]
        },
        "documents": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_documents_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_documents_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_documents_query_fields"
                  }
                }
              }
            }
          ]
        },
        "user_status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "last_login_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "external_verifications": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_external_verifications_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_external_verifications_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_external_verifications_query_fields"
                  }
                }
              }
            }
          ]
        },
        "skill_details": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_skills_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_skills_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_skills_query_fields"
                  }
                }
              }
            }
          ]
        },
        "qualification_details": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_qualifications_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_qualifications_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_qualifications_query_fields"
                  }
                }
              }
            }
          ]
        },
        "registration_body_details": {
          "allOf": [
            {
              "$ref": "#/definitions/candidate_advanced_search_registration_body_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/candidate_advanced_search_registration_body_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/candidate_advanced_search_registration_body_query_fields"
                  }
                }
              }
            }
          ]
        },
        "employment_position_held": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_position_held_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_position_held_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_position_held_query_fields"
                  }
                }
              }
            }
          ]
        },
        "consultants": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_consultants_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_consultants_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_consultants_query_fields"
                  }
                }
              }
            }
          ]
        },
        "keywords": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_keywords_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_keywords_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_keywords_query_fields"
                  }
                }
              }
            }
          ]
        },
        "notification_dnc": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "medium_dnc": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_medium_dnc_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_medium_dnc_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_medium_dnc_query_fields"
                  }
                }
              }
            }
          ]
        },
        "chat_token_last_issued_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "transport_type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "tags_links": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_tags_links_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_tags_links_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_tags_links_query_fields"
                  }
                }
              }
            }
          ]
        },
        "current_employment_reference": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "employment_references": {
          "allOf": [
            {
              "$ref": "#/definitions/employment_references_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/employment_references_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/employment_references_query_fields"
                  }
                }
              }
            }
          ]
        },
        "compliance_default_output": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        },
        "external_workforce": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "allocated_agency_group_verified_documents": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_allocated_agency_group_verified_documents_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_allocated_agency_group_verified_documents_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_allocated_agency_group_verified_documents_query_fields"
                  }
                }
              }
            }
          ]
        },
        "has_pending_agency_group_verification_documents": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "is_limited_work_hours_visa": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "reference_compliance": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_reference_compliance_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_reference_compliance_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_reference_compliance_query_fields"
                  }
                }
              }
            }
          ]
        },
        "has_next_of_kin": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "next_of_kin_count": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        }
      },
      "additionalProperties": false
    },
    "agency_group_candidate_advanced_search_policies_query_fields": {
      "type": "object",
      "properties": {
        "version": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        },
        "type_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "agency_candidate_advanced_search_query": {
      "type": "object",
      "properties": {
        "project": {
          "type": "object",
          "required": [
            "agency_id",
            "candidate_id",
            "first_name",
            "last_name",
            "full_name"
          ],
          "properties": {
            "candidate_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "first_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "last_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "full_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "gender": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_type_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "city": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "province": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "post_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "country_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "address_line1": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "address_line2": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contact_numbers": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "emails": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "availability_last_updated_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "availability": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "languages": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "first_status_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "last_status_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "current_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "first_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "linked_to_agency_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "username": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "employment_reference_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "physical_address_geo_location": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "employment_held": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "last_shift_worked_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "next_shift_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "last_login_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "activities": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "skill_details": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "qualification_details": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "registration_body_details": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "employment_position_held": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "keywords": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "notification_dnc": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "medium_dnc": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_type_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "chat_token_last_issued_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "transport_type": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "tags_links": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "employment_references": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "current_employment_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "external_verifications": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "compliance_default_output": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "avatar_url": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "avatar_thumbnail_url": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "id_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "external_workforce": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "compliance_contract_output_exemption_override": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "allocated_agency_group_verified_documents": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "has_pending_agency_group_verification_documents": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "is_limited_work_hours_visa": {
              "type": "integer",
              "enum": [
                1
              ]
            }
          },
          "additionalProperties": false
        },
        "sort": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "_id",
              "-_id",
              "candidate_id",
              "-candidate_id",
              "first_name",
              "-first_name",
              "last_name",
              "-last_name",
              "full_name",
              "-full_name",
              "gender",
              "-gender",
              "candidate_type_id",
              "-candidate_type_id",
              "availability_last_updated_at",
              "-availability_last_updated_at",
              "current_status.status",
              "-current_status.status",
              "current_status.status_id",
              "-current_status.status_id",
              "current_status.date",
              "-current_status.date",
              "current_status.reason",
              "-current_status.reason",
              "first_status.status",
              "-first_status.status",
              "first_status.status_id",
              "-first_status.status_id",
              "first_status.date",
              "-first_status.date",
              "first_status.reason",
              "-first_status.reason",
              "linked_to_agency_at",
              "-linked_to_agency_at",
              "city",
              "-city",
              "province",
              "-province",
              "post_code",
              "-post_code",
              "username",
              "-username",
              "employment_reference_number",
              "-employment_reference_number",
              "last_shift_worked_at",
              "-last_shift_worked_at",
              "next_shift_at",
              "-next_shift_at",
              "last_login_at",
              "-last_login_at",
              "chat_token_last_issued_at",
              "-chat_token_last_issued_at",
              "transport_type",
              "-transport_type",
              "employment_references.effective_from",
              "-employment_references.effective_from",
              "compliance_default_output",
              "-compliance_default_output",
              "external_workforce",
              "-external_workforce"
            ]
          }
        },
        "page": {
          "type": "integer",
          "minimum": 1
        },
        "items_per_page": {
          "type": "integer",
          "minimum": 1
        },
        "query": {
          "type": "object",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_candidate_advanced_search_query_fields"
              }
            },
            "or": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_candidate_advanced_search_query_fields"
              }
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "agency_candidate_advanced_search_query_fields": {
      "type": "object",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_candidate_advanced_search_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_candidate_advanced_search_query_fields"
          }
        },
        "_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "first_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "last_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "full_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "gender": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_type_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "languages": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_languages_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_languages_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_languages_query_fields"
                  }
                }
              }
            }
          ]
        },
        "availability_last_updated_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "availability": {
          "allOf": [
            {
              "$ref": "#/definitions/agency_candidate_advanced_search_availability_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/agency_candidate_advanced_search_availability_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/agency_candidate_advanced_search_availability_query_fields"
                  }
                }
              }
            }
          ]
        },
        "first_status_date": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_status_summary_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_status_summary_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_status_summary_query_fields"
                  }
                }
              }
            }
          ]
        },
        "last_status_date": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_status_summary_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_status_summary_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_status_summary_query_fields"
                  }
                }
              }
            }
          ]
        },
        "current_status": {
          "$ref": "#/definitions/advanced_search_extended_status_query_fields"
        },
        "first_status": {
          "$ref": "#/definitions/advanced_search_extended_status_query_fields"
        },
        "linked_to_agency_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "city": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "province": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "post_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contact_numbers": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_contact_numbers_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_contact_numbers_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_contact_numbers_query_fields"
                  }
                }
              }
            }
          ]
        },
        "emails": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_emails_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_emails_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_emails_query_fields"
                  }
                }
              }
            }
          ]
        },
        "compliance_contract": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_agency_contract_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_agency_contract_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_agency_contract_query_fields"
                  }
                }
              }
            }
          ]
        },
        "compliance_rule": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_rule_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_rule_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_rule_query_fields"
                  }
                }
              }
            }
          ]
        },
        "username": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "employment_reference_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "physical_address_geo_location": {
          "$ref": "#/definitions/advanced_search_operations_geo_location_field"
        },
        "employment_held": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_emp_held_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_emp_held_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_emp_held_query_fields"
                  }
                }
              }
            }
          ]
        },
        "last_shift_worked_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "next_shift_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "last_login_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "activities": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_activities_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_activities_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_activities_query_fields"
                  }
                }
              }
            }
          ]
        },
        "skill_details": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_skills_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_skills_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_skills_query_fields"
                  }
                }
              }
            }
          ]
        },
        "qualification_details": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_qualifications_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_qualifications_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_qualifications_query_fields"
                  }
                }
              }
            }
          ]
        },
        "registration_body_details": {
          "allOf": [
            {
              "$ref": "#/definitions/candidate_advanced_search_registration_body_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/candidate_advanced_search_registration_body_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/candidate_advanced_search_registration_body_query_fields"
                  }
                }
              }
            }
          ]
        },
        "employment_position_held": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_position_held_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_position_held_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_position_held_query_fields"
                  }
                }
              }
            }
          ]
        },
        "keywords": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_keywords_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_keywords_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_keywords_query_fields"
                  }
                }
              }
            }
          ]
        },
        "notification_dnc": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "medium_dnc": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_medium_dnc_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_medium_dnc_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_medium_dnc_query_fields"
                  }
                }
              }
            }
          ]
        },
        "chat_token_last_issued_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "transport_type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "tags_links": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_tags_links_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_tags_links_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_tags_links_query_fields"
                  }
                }
              }
            }
          ]
        },
        "current_employment_reference": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "employment_references": {
          "allOf": [
            {
              "$ref": "#/definitions/employment_references_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/employment_references_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/employment_references_query_fields"
                  }
                }
              }
            }
          ]
        },
        "external_verifications": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_external_verifications_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_external_verifications_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_external_verifications_query_fields"
                  }
                }
              }
            }
          ]
        },
        "compliance_default_output": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        },
        "external_workforce": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "compliance_contract_output_exemption_override": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_agency_contract_output_exemption_override_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_agency_contract_output_exemption_override_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_agency_contract_output_exemption_override_query_fields"
                  }
                }
              }
            }
          ]
        },
        "allocated_agency_group_verified_documents": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_allocated_agency_group_verified_documents_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_allocated_agency_group_verified_documents_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_allocated_agency_group_verified_documents_query_fields"
                  }
                }
              }
            }
          ]
        },
        "has_pending_agency_group_verification_documents": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "is_limited_work_hours_visa": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      },
      "additionalProperties": false
    },
    "agency_candidate_advanced_search_availability_query_fields": {
      "type": "object",
      "properties": {
        "status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "period": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "range_start": {
          "$ref": "#/definitions/advanced_search_operations_date_without_time_field"
        },
        "range_end": {
          "$ref": "#/definitions/advanced_search_operations_date_without_time_field"
        }
      }
    },
    "advanced_search_agency_contract_output_exemption_override_query_fields": {
      "type": "object",
      "properties": {
        "contract_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "exempt_clients": {
          "$ref": "#/definitions/advanced_search_operations_string_array_field"
        },
        "range_start": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "range_end": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "contract_output": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        }
      }
    },
    "advanced_search_allocated_agency_group_verified_documents_query_fields": {
      "type": "object",
      "properties": {
        "document_type_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "issued_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "expire_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "verified_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        }
      }
    },
    "advanced_search_allocated_agency_verified_documents_query_fields": {
      "type": "object",
      "properties": {
        "document_type_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "issued_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "expire_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "verified_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        }
      }
    },
    "advanced_search_operations_date_without_time_field": {
      "type": "object",
      "properties": {
        "equal": {
          "type": [
            "null",
            "string"
          ],
          "example": "2018-01-01",
          "format": "date"
        },
        "greater_than": {
          "type": [
            "null",
            "string"
          ],
          "example": "2018-01-01",
          "format": "date"
        },
        "less_than": {
          "type": [
            "null",
            "string"
          ],
          "example": "2018-01-01",
          "format": "date"
        },
        "greater_than_equal": {
          "type": [
            "null",
            "string"
          ],
          "example": "2018-01-01",
          "format": "date"
        },
        "less_than_equal": {
          "type": [
            "null",
            "string"
          ],
          "example": "2018-01-01",
          "format": "date"
        },
        "in": {
          "type": "array",
          "items": {
            "type": [
              "null",
              "string"
            ],
            "example": "2018-01-01",
            "format": "date"
          }
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_boolean_field": {
      "type": "object",
      "properties": {
        "equal": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_string_field": {
      "type": "object",
      "properties": {
        "like": {
          "type": [
            "null",
            "string"
          ],
          "example": "string"
        },
        "equal": {
          "type": [
            "null",
            "string"
          ],
          "example": "string"
        },
        "in": {
          "type": "array",
          "items": {
            "type": [
              "null",
              "string"
            ],
            "example": "string"
          }
        },
        "nin": {
          "type": "array",
          "items": {
            "type": [
              "null",
              "string"
            ],
            "example": "string"
          }
        },
        "greater_than": {
          "type": [
            "null",
            "string"
          ],
          "example": "string"
        },
        "less_than": {
          "type": [
            "null",
            "string"
          ],
          "example": "string"
        },
        "greater_than_equal": {
          "type": [
            "null",
            "string"
          ],
          "example": "string"
        },
        "less_than_equal": {
          "type": [
            "null",
            "string"
          ],
          "example": "string"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_integer_field": {
      "type": "object",
      "properties": {
        "equal": {
          "type": [
            "null",
            "integer"
          ],
          "example": 0
        },
        "greater_than": {
          "type": [
            "null",
            "integer"
          ],
          "example": 0
        },
        "less_than": {
          "type": [
            "null",
            "integer"
          ],
          "example": 0
        },
        "greater_than_equal": {
          "type": [
            "null",
            "integer"
          ],
          "example": 0
        },
        "less_than_equal": {
          "type": [
            "null",
            "integer"
          ],
          "example": 0
        },
        "in": {
          "type": "array",
          "items": {
            "type": [
              "null",
              "integer"
            ],
            "example": 0
          }
        },
        "nin": {
          "type": "array",
          "items": {
            "type": [
              "null",
              "integer"
            ],
            "example": 0
          }
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_date_field": {
      "type": "object",
      "properties": {
        "equal": {
          "type": [
            "null",
            "string"
          ],
          "example": "2018-01-01T00:00:00Z",
          "format": "date-time"
        },
        "greater_than": {
          "type": [
            "null",
            "string"
          ],
          "example": "2018-01-01T00:00:00Z",
          "format": "date-time"
        },
        "less_than": {
          "type": [
            "null",
            "string"
          ],
          "example": "2018-01-01T00:00:00Z",
          "format": "date-time"
        },
        "greater_than_equal": {
          "type": [
            "null",
            "string"
          ],
          "example": "2018-01-01T00:00:00Z",
          "format": "date-time"
        },
        "less_than_equal": {
          "type": [
            "null",
            "string"
          ],
          "example": "2018-01-01T00:00:00Z",
          "format": "date-time"
        },
        "in": {
          "type": "array",
          "items": {
            "type": [
              "null",
              "string"
            ],
            "example": "2018-01-01T00:00:00Z",
            "format": "date-time"
          }
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_geo_location_field": {
      "type": "object",
      "properties": {
        "equal": {
          "type": "null"
        },
        "near": {
          "type": "object",
          "required": [
            "coordinates",
            "max_distance"
          ],
          "properties": {
            "coordinates": {
              "type": "array",
              "description": "Array containing geo location in this form: [ <longitude> , <latitude> ]",
              "minItems": 2,
              "maxItems": 2,
              "items": {
                "type": "number"
              }
            },
            "max_distance": {
              "type": "integer",
              "description": "The max distance a location can be away from the specified location."
            },
            "min_distance": {
              "type": "integer",
              "description": "The min distance a location should be away from the specified location."
            }
          },
          "additionalProperties": false
        },
        "within": {
          "type": "object",
          "required": [
            "coordinates",
            "max_distance"
          ],
          "properties": {
            "coordinates": {
              "type": "array",
              "description": "Array containing geo location in this form: [ <longitude> , <latitude> ]",
              "minItems": 2,
              "maxItems": 2,
              "items": {
                "type": "number"
              }
            },
            "max_distance": {
              "type": "integer",
              "description": "The max distance a location can be away from the specified location."
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "advanced_search_operations_string_array_field": {
      "type": "object",
      "properties": {
        "in": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "advanced_search_languages_query_fields": {
      "type": "object",
      "properties": {
        "code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "proficiency": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "advanced_search_tags_links_query_fields": {
      "type": "object",
      "properties": {
        "tag_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "advanced_search_client_consultants_query_fields": {
      "type": "object",
      "properties": {
        "consultant_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "consultant_role_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "advanced_search_client_consultant_role_details_query_fields": {
      "type": "object",
      "properties": {
        "consultant_role_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "total_consultants": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        }
      }
    },
    "advanced_search_payroll_contract_link_job_titles_query_fields": {
      "type": "object",
      "properties": {
        "job_title_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_title_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "advanced_search_payroll_contract_links_query_fields": {
      "type": "object",
      "properties": {
        "contract_link_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_version": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "link_status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "flexible_rates_mode": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "allow_rate_adjustment_rules": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "initial_start_date_time": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "final_end_date_time": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "job_titles": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_payroll_contract_link_job_titles_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_payroll_contract_link_job_titles_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_payroll_contract_link_job_titles_query_fields"
                  }
                }
              }
            }
          ]
        }
      }
    },
    "advanced_search_order_skill_query_fields": {
      "type": "object",
      "properties": {
        "skill_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "advanced_search_booking_request_query_fields": {
      "type": "object",
      "properties": {
        "booking_request_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booking_request_status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "advanced_search_order_qualification_query_fields": {
      "type": "object",
      "properties": {
        "qualification_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "employment_references_query_fields": {
      "type": "object",
      "properties": {
        "reference": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "effective_from": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        }
      }
    },
    "advanced_search_emails_query_fields": {
      "type": "object",
      "properties": {
        "status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "label": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "email": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "advanced_search_contact_numbers_query_fields": {
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "advanced_search_status_summary_query_fields": {
      "type": "object",
      "properties": {
        "status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        }
      }
    },
    "advanced_search_extended_status_query_fields": {
      "type": "object",
      "properties": {
        "status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "status_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "reason": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_emp_held_query_fields": {
      "type": "object",
      "properties": {
        "job_family_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_family_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_title_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_title_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "total_time": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        },
        "last_employed_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        }
      }
    },
    "advanced_search_activities_query_fields": {
      "type": "object",
      "properties": {
        "activity_type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "total": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        },
        "last_activity_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        }
      }
    },
    "advanced_search_documents_query_fields": {
      "type": "object",
      "properties": {
        "system_document_type_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "uploaded_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        }
      }
    },
    "advanced_search_external_verifications_query_fields": {
      "type": "object",
      "properties": {
        "name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "type_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "value": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "advanced_search_skills_query_fields": {
      "type": "object",
      "properties": {
        "skill_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "skill_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "duration": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        }
      }
    },
    "advanced_search_qualifications_query_fields": {
      "type": "object",
      "properties": {
        "qualification_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "qualification_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "obtained_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "expires_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "candidate_advanced_search_registration_body_query_fields": {
      "type": "object",
      "properties": {
        "registration_body_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "registration_body_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "registration_body_short_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "status_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "status_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "registration_body_entry_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "registration_body_entry_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "registration_body_entry_short_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "registration_body_entry_status_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "registration_body_entry_status_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "obtained_at": {
          "$ref": "#/definitions/advanced_search_operations_date_without_time_field"
        },
        "valid_at": {
          "$ref": "#/definitions/advanced_search_operations_date_without_time_field"
        },
        "expires_at": {
          "$ref": "#/definitions/advanced_search_operations_date_without_time_field"
        }
      }
    },
    "advanced_search_position_held_query_fields": {
      "type": "object",
      "properties": {
        "job_title_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_title_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "overall_duration": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        },
        "status_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "status_total_time": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        },
        "status_last_end_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "work_suggestion_status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "advanced_search_consultants_query_fields": {
      "type": "object",
      "properties": {
        "user_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "user_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "consultant_role": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "advanced_search_keywords_query_fields": {
      "type": "object",
      "properties": {
        "name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "advanced_search_operations_number_field": {
      "type": "object",
      "properties": {
        "equal": {
          "type": [
            "null",
            "number"
          ],
          "example": 0
        },
        "greater_than": {
          "type": [
            "null",
            "number"
          ],
          "example": 0
        },
        "less_than": {
          "type": [
            "null",
            "number"
          ],
          "example": 0
        },
        "greater_than_equal": {
          "type": [
            "null",
            "number"
          ],
          "example": 0
        },
        "less_than_equal": {
          "type": [
            "null",
            "number"
          ],
          "example": 0
        },
        "in": {
          "type": "array",
          "items": {
            "type": [
              "null",
              "number"
            ],
            "example": 0
          }
        },
        "nin": {
          "type": "array",
          "items": {
            "type": [
              "null",
              "number"
            ],
            "example": 0
          }
        }
      },
      "additionalProperties": false
    },
    "advanced_search_reference_compliance_query_fields": {
      "type": "object",
      "properties": {
        "reference_compliance_standard_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "is_compliant": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "compliance_expiry_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "candidate_match_enabled_position_type": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        }
      }
    },
    "agency_group_candidate_advanced_search_v2_result": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "first_name",
            "last_name",
            "full_name",
            "candidate_id",
            "agency_group_id"
          ],
          "properties": {
            "first_name": {
              "type": "string"
            },
            "last_name": {
              "type": "string"
            },
            "username": {
              "type": "string"
            },
            "full_name": {
              "type": "string"
            },
            "gender": {
              "type": "string",
              "enum": [
                "male",
                "female",
                "other"
              ]
            },
            "candidate_type_id": {
              "type": "string"
            },
            "candidate_id": {
              "type": "string"
            },
            "agency_group_id": {
              "type": "string"
            },
            "city": {
              "type": "string"
            },
            "province": {
              "type": "string"
            },
            "post_code": {
              "type": "string"
            },
            "address_line1": {
              "type": "string"
            },
            "address_line2": {
              "type": "string"
            },
            "country_code": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "status_since": {
              "type": "string",
              "format": "date-time"
            },
            "status_reason": {
              "type": "string"
            },
            "responsible_consultant": {
              "type": "string"
            },
            "emails": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/emails_def"
              }
            },
            "contact_numbers": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/contact_numbers_def"
              }
            },
            "languages": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/languages_def"
              }
            },
            "last_contacted_at": {
              "type": "string",
              "format": "date-time"
            },
            "dbs_status": {
              "type": "string"
            },
            "policies": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/policies"
              }
            },
            "first_status_date": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/status_and_date_def"
              }
            },
            "last_status_date": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/status_and_date_def"
              }
            },
            "current_status": {
              "$ref": "#/definitions/extended_status_def"
            },
            "first_status": {
              "$ref": "#/definitions/extended_status_def"
            },
            "linked_to_agency_group_at": {
              "type": "string",
              "format": "date-time"
            },
            "employment_held": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/employment_held"
              }
            },
            "physical_address_geo_location": {
              "$ref": "#/definitions/physical_address_geo_location_def"
            },
            "last_shift_worked_at": {
              "type": "string",
              "format": "date-time"
            },
            "next_shift_at": {
              "type": "string",
              "format": "date-time"
            },
            "activities": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/activity_type_def"
              }
            },
            "documents": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/document_model_def"
              }
            },
            "user_status": {
              "type": "string"
            },
            "last_login_at": {
              "type": "string",
              "format": "date-time"
            },
            "external_verifications": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/external_verifications_item"
              }
            },
            "skill_details": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/skill_details_def"
              }
            },
            "qualification_details": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/qualification_details_def"
              }
            },
            "registration_body_details": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/registration_body_details_def"
              }
            },
            "employment_position_held": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/employment_position_held_def"
              }
            },
            "consultants": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/consultants_def"
              }
            },
            "keywords": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/keywords_def"
              }
            },
            "notification_dnc": {
              "type": "boolean"
            },
            "medium_dnc": {
              "$ref": "#/definitions/medium_dnc"
            },
            "chat_token_last_issued_at": {
              "type": "string",
              "format": "date-time"
            },
            "transport_type": {
              "type": "string"
            },
            "tags_links": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/tags_links_def"
              }
            },
            "current_employment_reference": {
              "type": "string"
            },
            "employment_references": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/employment_reference"
              }
            },
            "compliance_contract": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_compliance_contract_response"
              }
            },
            "compliance_rule": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/compliance_rule_response"
              }
            },
            "compliance_condition": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/compliance_condition_response"
              }
            },
            "compliance_default_output": {
              "type": "integer"
            },
            "avatar_thumbnail_url": {
              "type": "string"
            },
            "avatar_url": {
              "type": "string"
            },
            "id_number": {
              "type": "string"
            },
            "external_workforce": {
              "type": "string"
            },
            "allocated_agency_group_verified_documents": {
              "$ref": "#/definitions/allocated_agency_group_verified_documents_def"
            },
            "has_pending_agency_group_verification_documents": {
              "type": "boolean"
            },
            "is_limited_work_hours_visa": {
              "type": "string"
            },
            "reference_compliance": {
              "$ref": "#/definitions/reference_compliance_def"
            }
          }
        }
      ]
    },
    "agency_candidate_advanced_search_result": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "first_name",
            "last_name",
            "full_name",
            "candidate_id",
            "agency_id"
          ],
          "properties": {
            "first_name": {
              "type": "string"
            },
            "last_name": {
              "type": "string"
            },
            "full_name": {
              "type": "string"
            },
            "gender": {
              "type": "string",
              "enum": [
                "male",
                "female",
                "other"
              ]
            },
            "candidate_type_id": {
              "type": "string"
            },
            "candidate_id": {
              "type": "string"
            },
            "agency_id": {
              "type": "string"
            },
            "availability_last_updated_at": {
              "type": "string",
              "format": "date-time"
            },
            "availability": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/availability"
              }
            },
            "languages": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/languages"
              }
            },
            "first_status_date": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/status_and_date_def"
              }
            },
            "last_status_date": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/status_and_date_def"
              }
            },
            "current_status": {
              "$ref": "#/definitions/extended_status_def"
            },
            "first_status": {
              "$ref": "#/definitions/extended_status_def"
            },
            "linked_to_agency_at": {
              "type": "string",
              "format": "date-time"
            },
            "city": {
              "type": "string"
            },
            "province": {
              "type": "string"
            },
            "post_code": {
              "type": "string"
            },
            "address_line1": {
              "type": "string"
            },
            "address_line2": {
              "type": "string"
            },
            "country_code": {
              "type": "string"
            },
            "contact_numbers": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/contact_numbers_def"
              }
            },
            "emails": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/emails_def"
              }
            },
            "username": {
              "type": "string"
            },
            "employment_reference_number": {
              "type": "string"
            },
            "physical_address_geo_location": {
              "$ref": "#/definitions/physical_address_geo_location_def"
            },
            "employment_held": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/employment_held"
              }
            },
            "last_shift_worked_at": {
              "type": "string",
              "format": "date-time"
            },
            "next_shift_at": {
              "type": "string",
              "format": "date-time"
            },
            "last_login_at": {
              "type": "string",
              "format": "date-time"
            },
            "activities": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/activity_type_def"
              }
            },
            "skill_details": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/skill_details_def"
              }
            },
            "qualification_details": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/qualification_details_def"
              }
            },
            "registration_body_details": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/registration_body_details_def"
              }
            },
            "employment_position_held": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/employment_position_held_def"
              }
            },
            "keywords": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/keywords_def"
              }
            },
            "notification_dnc": {
              "type": "boolean"
            },
            "medium_dnc": {
              "$ref": "#/definitions/medium_dnc"
            },
            "chat_token_last_issued_at": {
              "type": "string",
              "format": "date-time"
            },
            "transport_type": {
              "type": "string"
            },
            "tags_links": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/tags_links_def"
              }
            },
            "current_employment_reference": {
              "type": "string"
            },
            "employment_references": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/employment_reference"
              }
            },
            "compliance_contract": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_compliance_contract_response"
              }
            },
            "compliance_rule": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/compliance_rule_response"
              }
            },
            "compliance_condition": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/compliance_condition_response"
              }
            },
            "external_verifications": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/external_verifications_item"
              }
            },
            "compliance_default_output": {
              "type": "integer"
            },
            "avatar_thumbnail_url": {
              "type": "string"
            },
            "avatar_url": {
              "type": "string"
            },
            "id_number": {
              "type": "string"
            },
            "external_workforce": {
              "type": "string"
            },
            "compliance_contract_output_exemption_override": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_compliance_contract_output_exemption_override_response"
              }
            },
            "allocated_agency_group_verified_documents": {
              "$ref": "#/definitions/allocated_agency_group_verified_documents_def"
            },
            "has_pending_agency_group_verification_documents": {
              "type": "boolean"
            },
            "is_limited_work_hours_visa": {
              "type": "string"
            }
          }
        }
      ]
    },
    "agency_compliance_contract_output_exemption_override_response": {
      "type": "object",
      "required": [
        "contract_id",
        "exempt_clients",
        "range_start",
        "range_end",
        "contract_output"
      ],
      "properties": {
        "contract_id": {
          "type": "string"
        },
        "exempt_clients": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "range_start": {
          "type": "string",
          "format": "date-time"
        },
        "range_end": {
          "type": "string",
          "format": "date-time"
        },
        "contract_output": {
          "type": "integer"
        }
      }
    },
    "advanced_search_activity_types_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/context_activity_types_response_def"
        },
        {
          "type": "object",
          "required": [
            "context"
          ],
          "properties": {
            "context": {
              "type": "string",
              "enum": [
                "agency",
                "agency-group"
              ]
            }
          }
        }
      ]
    },
    "advanced_search_v2_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_v2_validation_error_single_model"
          }
        }
      }
    },
    "advanced_search_v2_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "INVALID_TYPE",
            "ENUM_MISMATCH",
            "INVALID_OPERATION_FOR_FIELD",
            "TOO_MANY_OPERATORS",
            "INVALID_OPERATOR",
            "INVALID_OPERATION",
            "UNSUPPORTED_FIELD",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "ARRAY_LENGTH_SHORT",
            "ARRAY_LENGTH_LONG",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "INVALID_ATLAS_SEARCH_OPERATION"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "advanced_search_export_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "MINIMUM",
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_export_validation_error_item_model"
          }
        }
      }
    },
    "advanced_search_export_validation_error_item_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "RESTRICTED_FILTERING",
            "RESTRICTED_SORTING",
            "RESTRICTED_PROJECTION",
            "INVALID_TYPE",
            "ENUM_MISMATCH",
            "MIN_LENGTH",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "OBJECT_PROPERTIES_MINIMUM"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_manifest_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED",
            "MINIMUM"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_manifest_validation_error_single_model"
          }
        }
      }
    },
    "agency_manifest_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "INVALID_TYPE",
            "ENUM_MISMATCH",
            "TOO_MANY_OPERATORS",
            "INVALID_OPERATION_FOR_FIELD",
            "INVALID_OPERATOR",
            "INVALID_OPERATION",
            "UNSUPPORTED_FIELD",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "INVALID_PROJECTION",
            "MINIMUM",
            "RESTRICTED_FILTERING",
            "RESTRICTED_SORTING"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_client_search_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED",
            "MINIMUM"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_client_search_validation_error_single_model"
          }
        }
      }
    },
    "agency_client_search_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "INVALID_TYPE",
            "ENUM_MISMATCH",
            "TOO_MANY_OPERATORS",
            "INVALID_OPERATION_FOR_FIELD",
            "INVALID_OPERATOR",
            "INVALID_OPERATION",
            "UNSUPPORTED_FIELD",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "INVALID_PROJECTION",
            "MINIMUM"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "availability": {
      "type": "object",
      "required": [
        "status",
        "period",
        "range_start",
        "range_end"
      ],
      "properties": {
        "status": {
          "type": "string"
        },
        "period": {
          "type": "string"
        },
        "range_start": {
          "type": "string",
          "format": "date-time"
        },
        "range_end": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "external_portfolios_def": {
      "type": "object",
      "required": [
        "portfolio_id",
        "consultant_type_id",
        "consultant_id",
        "played_keywords"
      ],
      "properties": {
        "portfolio_id": {
          "type": "string"
        },
        "consultant_type_id": {
          "type": "string"
        },
        "consultant_id": {
          "type": "string"
        },
        "played_keywords": {
          "type": "boolean"
        }
      }
    },
    "external_portfolios_item": {
      "type": "object",
      "required": [
        "portfolio_id",
        "consultant_type_id",
        "consultant_id",
        "played_keywords"
      ],
      "properties": {
        "portfolio_id": {
          "type": "string",
          "minLength": 1
        },
        "consultant_type_id": {
          "type": "string",
          "minLength": 1
        },
        "consultant_id": {
          "type": "string",
          "minLength": 1
        },
        "played_keywords": {
          "type": "boolean"
        },
        "agencies": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          }
        }
      }
    },
    "agency_external_portfolios_item": {
      "type": "object",
      "required": [
        "portfolio_id",
        "consultant_type_id",
        "consultant_id",
        "played_keywords"
      ],
      "properties": {
        "portfolio_id": {
          "type": "string",
          "minLength": 1
        },
        "consultant_type_id": {
          "type": "string",
          "minLength": 1
        },
        "consultant_id": {
          "type": "string",
          "minLength": 1
        },
        "played_keywords": {
          "type": "boolean"
        }
      }
    },
    "skill_details_def": {
      "type": "object",
      "required": [
        "skill_id",
        "skill_name",
        "type",
        "duration",
        "status"
      ],
      "properties": {
        "skill_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "skill_name": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "duration": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        }
      }
    },
    "qualification_details_def": {
      "type": "object",
      "required": [
        "qualification_id",
        "qualification_name",
        "status"
      ],
      "properties": {
        "qualification_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "qualification_name": {
          "type": "string"
        },
        "obtained_at": {
          "type": "string",
          "format": "date-time"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time"
        },
        "status": {
          "type": "string"
        }
      }
    },
    "registration_body_details_def": {
      "type": "object",
      "required": [
        "registration_body_id",
        "registration_body_name",
        "registration_body_short_name",
        "status_id",
        "status_name",
        "reference"
      ],
      "properties": {
        "registration_body_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "registration_body_name": {
          "type": "string",
          "minLength": 1
        },
        "registration_body_short_name": {
          "type": "string",
          "minLength": 1
        },
        "status_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "status_name": {
          "type": "string",
          "minLength": 1
        },
        "reference": {
          "type": "string",
          "minLength": 1
        },
        "obtained_at": {
          "type": "string",
          "format": "date-time"
        },
        "valid_at": {
          "type": "string",
          "format": "date-time"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time"
        },
        "registration_body_entry_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "registration_body_entry_name": {
          "type": "string"
        },
        "registration_body_entry_short_name": {
          "type": "string"
        },
        "registration_body_entry_status_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "registration_body_entry_status_name": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "employment_position_held_def": {
      "type": "object",
      "required": [
        "position_held_id",
        "job_title_id",
        "job_title_name",
        "last_computed_at",
        "overall_duration",
        "status_name",
        "status_total_time",
        "status_current",
        "status_last_end_date",
        "work_suggestion_status"
      ],
      "properties": {
        "position_held_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_family_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_family_name": {
          "type": "string",
          "minLength": 1
        },
        "job_title_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_title_name": {
          "type": "string",
          "minLength": 1
        },
        "last_computed_at": {
          "type": "string",
          "format": "date-time"
        },
        "overall_duration": {
          "type": "integer"
        },
        "status_name": {
          "type": "string",
          "minLength": 1
        },
        "status_total_time": {
          "type": "integer"
        },
        "status_current": {
          "type": "boolean"
        },
        "status_last_end_date": {
          "type": "string",
          "format": "date-time"
        },
        "work_suggestion_status": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "consultants_def": {
      "type": "object",
      "properties": {
        "user_name": {
          "type": "string"
        },
        "user_id": {
          "type": "string"
        },
        "consultant_role": {
          "type": "string"
        }
      }
    },
    "tags_links_def": {
      "type": "object",
      "required": [
        "tag_id"
      ],
      "properties": {
        "tag_id": {
          "type": "string"
        }
      }
    },
    "client_consultants_def": {
      "type": "object",
      "required": [
        "_id",
        "consultant_id",
        "consultant_name",
        "consultant_role_id",
        "consultant_role_name"
      ],
      "properties": {
        "_id": {
          "type": "string"
        },
        "consultant_id": {
          "type": "string"
        },
        "consultant_name": {
          "type": "string"
        },
        "consultant_role_id": {
          "type": "string"
        },
        "consultant_role_name": {
          "type": "string"
        }
      }
    },
    "client_consultant_role_details_def": {
      "type": "object",
      "required": [
        "consultant_role_id",
        "total_consultants"
      ],
      "properties": {
        "consultant_role_id": {
          "type": "string"
        },
        "total_consultants": {
          "type": "number"
        }
      }
    },
    "payroll_contract_link_job_title_def": {
      "type": "object",
      "properties": {
        "job_title_id": {
          "type": "string"
        },
        "job_title_name": {
          "type": "string"
        },
        "vat_applicable": {
          "type": "boolean"
        },
        "initial_start_date": {
          "type": "string"
        },
        "last_end_date": {
          "type": "string"
        }
      }
    },
    "payroll_contract_link_def": {
      "type": "object",
      "required": [
        "contract_link_id"
      ],
      "properties": {
        "contract_link_id": {
          "type": "string"
        },
        "contract_id": {
          "type": "string"
        },
        "contract_name": {
          "type": "string"
        },
        "contract_version": {
          "type": "number"
        },
        "link_status": {
          "type": "string"
        },
        "flexible_rates_mode": {
          "type": "string"
        },
        "allow_rate_adjustment_rules": {
          "type": "boolean"
        },
        "initial_start_date_time": {
          "type": "string",
          "format": "date-time"
        },
        "final_end_date_time": {
          "type": "string",
          "format": "date-time"
        },
        "job_titles": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/payroll_contract_link_job_title_def"
          }
        },
        "contracted_job_titles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "allocated_agency_group_verified_documents_def": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "document_type_id",
          "document_id",
          "verified_at"
        ],
        "properties": {
          "document_type_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          "document_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          "verified_at": {
            "type": "string",
            "format": "date-time"
          },
          "issued_at": {
            "type": "string",
            "format": "date-time"
          },
          "expire_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    },
    "allocated_agency_client_verified_documents_def": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "document_type_id",
          "document_id",
          "verified_at"
        ],
        "properties": {
          "document_type_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          "document_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          "verified_at": {
            "type": "string",
            "format": "date-time"
          },
          "issued_at": {
            "type": "string",
            "format": "date-time"
          },
          "expire_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    },
    "employment_reference": {
      "type": "object",
      "required": [
        "reference",
        "effective_from"
      ],
      "properties": {
        "reference": {
          "type": "string"
        },
        "effective_from": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "keywords_def": {
      "type": "object",
      "required": [
        "id",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "id": {
          "type": "string"
        }
      }
    },
    "interval_breakdown": {
      "type": "object",
      "properties": {
        "start_date": {
          "type": "string",
          "format": "date-time"
        },
        "end_date": {
          "type": "string",
          "format": "date-time"
        },
        "duration_minutes": {
          "type": "number"
        },
        "break_minutes": {
          "type": "number"
        },
        "billable_minutes": {
          "type": "number"
        },
        "quantity": {
          "type": "number"
        },
        "job_code": {
          "type": "string"
        },
        "pay_rate": {
          "type": "number"
        },
        "charge_rate": {
          "type": "number"
        },
        "total_line_pay": {
          "type": "number"
        },
        "total_line_charge": {
          "type": "number"
        },
        "vat_rate": {
          "type": "number"
        },
        "vat_amount": {
          "type": "number"
        },
        "total_line_charge_incl_vat": {
          "type": "number"
        },
        "unit": {
          "type": "string"
        },
        "time_interval_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "resource_item_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      }
    },
    "reference_compliance_def": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "reference_compliance_standard_id",
          "is_compliant",
          "candidate_match_enabled_position_type"
        ],
        "properties": {
          "reference_compliance_standard_id": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{24}$"
          },
          "is_compliant": {
            "type": "boolean"
          },
          "compliance_expiry_date": {
            "type": "string",
            "format": "date-time"
          },
          "candidate_match_enabled_position_type": {
            "type": "boolean"
          }
        }
      }
    },
    "agency_shift_manifest_sort_items": {
      "type": "string",
      "enum": [
        "order_reference",
        "-order_reference",
        "order_agency_id",
        "-order_agency_id",
        "agency_shift_booked_candidate_full_name",
        "-agency_shift_booked_candidate_full_name",
        "agency_shift_booked_candidate_payroll_number",
        "-agency_shift_booked_candidate_payroll_number",
        "order_site_name",
        "-order_site_name",
        "order_organisation_name",
        "-order_organisation_name",
        "order_ward_name",
        "-order_ward_name",
        "agency_shift_reference_number",
        "-agency_shift_reference_number",
        "order_po_number",
        "-order_po_number",
        "order_job_family_id",
        "-order_job_family_id",
        "order_job_title_id",
        "-order_job_title_id",
        "shift_start_date",
        "-shift_start_date",
        "shift_end_date",
        "-shift_end_date",
        "agency_shift_booked_minutes",
        "-agency_shift_booked_minutes",
        "agency_order_contract_name",
        "-agency_order_contract_name",
        "agency_shift_status_code",
        "-agency_shift_status_code",
        "order_site_id",
        "-order_site_id",
        "order_organisation_id",
        "-order_organisation_id",
        "agency_order_contract_id",
        "-agency_order_contract_id",
        "agency_shift_contract_pay",
        "-agency_shift_contract_pay",
        "agency_shift_contract_charge",
        "-agency_shift_contract_charge",
        "agency_shift_contract_charge_incl_vat",
        "-agency_shift_contract_charge_incl_vat",
        "timesheet_number",
        "-timesheet_number",
        "timesheet_candidate_name",
        "-timesheet_candidate_name",
        "timesheet_candidate_agency_reference",
        "-timesheet_candidate_agency_reference",
        "timesheet_ward_name",
        "-timesheet_ward_name",
        "timesheet_ward_reference",
        "-timesheet_ward_reference",
        "time_interval_shift_reference",
        "-time_interval_shift_reference",
        "timesheet_po_number",
        "-timesheet_po_number",
        "timesheet_job_family_id",
        "-timesheet_job_family_id",
        "timesheet_job_title_id",
        "-timesheet_job_title_id",
        "time_interval_total_billable_minutes",
        "-time_interval_total_billable_minutes",
        "time_interval_total_non_billable_minutes",
        "-time_interval_total_non_billable_minutes",
        "period_end_date",
        "-period_end_date",
        "time_interval_start_date",
        "-time_interval_start_date",
        "time_interval_end_date",
        "-time_interval_end_date",
        "minutes_difference",
        "-minutes_difference",
        "ward_change",
        "-ward_change",
        "job_title_change",
        "-job_title_change",
        "timesheet_contract_name",
        "-timesheet_contract_name",
        "timesheet_contract_id",
        "-timesheet_contract_id",
        "contract_change",
        "-contract_change",
        "time_interval_confirmed",
        "-time_interval_confirmed",
        "time_interval_authorised",
        "-time_interval_authorised",
        "time_interval_status",
        "-time_interval_status",
        "timesheet_status",
        "-timesheet_status",
        "time_interval_contract_pay",
        "-time_interval_contract_pay",
        "timesheet_contract_total_expense_pay",
        "-timesheet_contract_total_expense_pay",
        "timesheet_contract_total_gross_pay",
        "-timesheet_contract_total_gross_pay",
        "timesheet_contract_total_gross_charge_incl_vat",
        "-timesheet_contract_total_gross_charge_incl_vat",
        "agency_shift_booked_assignment_created_user_id",
        "-agency_shift_booked_assignment_created_user_id",
        "agency_shift_booked_assignment_created_user_username",
        "-agency_shift_booked_assignment_created_user_username",
        "agency_shift_booked_assignment_created_user_firstname",
        "-agency_shift_booked_assignment_created_user_firstname",
        "agency_shift_booked_assignment_created_user_lastname",
        "-agency_shift_booked_assignment_created_user_lastname",
        "agency_shift_booked_assignment_created_user_fullname",
        "-agency_shift_booked_assignment_created_user_fullname",
        "agency_shift_booked_assignment_created_date",
        "-agency_shift_booked_assignment_created_date",
        "agency_shift_booked_assignment_created_user_context_type",
        "-agency_shift_booked_assignment_created_user_context_type",
        "agency_shift_booked_assignment_created_user_context_id",
        "-agency_shift_booked_assignment_created_user_context_id"
      ]
    },
    "agency_shift_manifest_query": {
      "type": "object",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_shift_manifest_advanced_search_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_shift_manifest_advanced_search_query_fields"
          }
        }
      },
      "additionalProperties": false
    },
    "project_config_field": {
      "type": "object",
      "required": [
        "column_name"
      ],
      "properties": {
        "column_name": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "agency_shift_manifest_data_export_payload": {
      "type": "object",
      "required": [
        "project"
      ],
      "properties": {
        "sort": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_shift_manifest_sort_items"
          }
        },
        "project_config": {
          "type": "object",
          "properties": {
            "order_reference": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_number": {
              "$ref": "#/definitions/project_config_field"
            },
            "agency_shift_booked_candidate_full_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_candidate_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "agency_shift_booked_candidate_payroll_number": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_candidate_agency_reference": {
              "$ref": "#/definitions/project_config_field"
            },
            "order_job_title_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_job_title_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "shift_start_date": {
              "$ref": "#/definitions/project_config_field"
            },
            "shift_end_date": {
              "$ref": "#/definitions/project_config_field"
            },
            "agency_shift_booked_minutes": {
              "$ref": "#/definitions/project_config_field"
            },
            "time_interval_total_billable_minutes": {
              "$ref": "#/definitions/project_config_field"
            },
            "time_interval_total_non_billable_minutes": {
              "$ref": "#/definitions/project_config_field"
            },
            "time_interval_start_date": {
              "$ref": "#/definitions/project_config_field"
            },
            "time_interval_end_date": {
              "$ref": "#/definitions/project_config_field"
            },
            "minutes_difference": {
              "$ref": "#/definitions/project_config_field"
            },
            "period_end_date": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_job_family_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "order_job_family_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_po_number": {
              "$ref": "#/definitions/project_config_field"
            },
            "time_interval_shift_reference": {
              "$ref": "#/definitions/project_config_field"
            },
            "order_po_number": {
              "$ref": "#/definitions/project_config_field"
            },
            "agency_shift_reference_number": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_ward_reference": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_ward_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "order_ward_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "order_organisation_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "order_site_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "agency_shift_booked_assignment_created_date": {
              "$ref": "#/definitions/project_config_field"
            },
            "agency_shift_status_code": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_contract_total_gross_charge_incl_vat": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_contract_total_gross_pay": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_contract_total_expense_pay": {
              "$ref": "#/definitions/project_config_field"
            },
            "time_interval_contract_pay": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_status": {
              "$ref": "#/definitions/project_config_field"
            },
            "time_interval_status": {
              "$ref": "#/definitions/project_config_field"
            },
            "time_interval_authorised": {
              "$ref": "#/definitions/project_config_field"
            },
            "time_interval_confirmed": {
              "$ref": "#/definitions/project_config_field"
            },
            "contract_change": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_contract_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "agency_order_contract_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "job_title_change": {
              "$ref": "#/definitions/project_config_field"
            },
            "ward_change": {
              "$ref": "#/definitions/project_config_field"
            },
            "agency_shift_booked_assignment_created_user_username": {
              "$ref": "#/definitions/project_config_field"
            },
            "agency_shift_booked_assignment_created_user_fullname": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_currency": {
              "$ref": "#/definitions/project_config_field"
            },
            "order_site_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "order_organisation_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "order_job_family_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_job_family_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "order_job_title_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_job_title_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "agency_order_contract_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "timesheet_contract_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "agency_shift_compliance_contract_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "agency_shift_compliance_contract_link_id": {
              "$ref": "#/definitions/project_config_field"
            }
          },
          "additionalProperties": false
        },
        "project": {
          "type": "object",
          "minProperties": 1,
          "properties": {
            "order_agency_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "shift_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_requires_po_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "shift_start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "shift_end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "shift_status_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_requires_shift_ref": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_status_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_reference_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_job_title_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_job_title_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_job_family_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_job_family_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_po_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_organisation_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_organisation_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_site_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_site_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_ward_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_ward_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_version": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_link": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_vat_applicable": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_unit": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_initial_start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_final_end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_currency": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_minutes": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_resource_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_candidate_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_candidate_full_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_candidate_payroll_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_contract_charge": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_contract_pay": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_contract_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_contract_charge_incl_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "period_start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "period_end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "period_start_datetime": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "period_end_datetime": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "first_time_interval_start": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_candidate_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_candidate_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_candidate_agency_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_agency_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_organisation_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_organisation_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_site_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_site_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_ward_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_ward_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_site_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_ward_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_currency": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "total_expenses": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_shift_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_total_minutes": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_total_billable_minutes": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_total_non_billable_minutes": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_authorised_by_user_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_authorised_by_full_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_authorised_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_confirmed_by_user_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_confirmed_by_full_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_authorised_client_contact_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_contract_pay": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_contract_charge": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_contract_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_contract_charge_incl_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_confirmed": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_authorised": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "invoice_client_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "client_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "billing_path_info_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "total_minutes": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_original_po_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_po_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_date_created": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_date_modified": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_exported": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_job_title_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_job_title_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_job_family_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_job_family_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_version": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_link": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_vat_applicable": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_unit": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_pay": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_expense_pay": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_gross_pay": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_charge": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_expense_charge": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_gross_charge": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_expense_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_gross_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_gross_charge_incl_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "minutes_difference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_change": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_title_change": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_change": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_breakdown": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_username": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_firstname": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_lastname": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_fullname": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_context_type": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_context_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_compliance_contract_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_compliance_contract_link_id": {
              "type": "integer",
              "enum": [
                1
              ]
            }
          },
          "additionalProperties": false
        },
        "query": {
          "$ref": "#/definitions/agency_shift_manifest_query"
        }
      },
      "additionalProperties": false
    },
    "agency_shift_manifest_advanced_search_query": {
      "type": "object",
      "properties": {
        "sort": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_shift_manifest_sort_items"
          }
        },
        "page": {
          "type": "integer",
          "minimum": 1
        },
        "items_per_page": {
          "type": "integer",
          "minimum": 1
        },
        "query": {
          "$ref": "#/definitions/agency_shift_manifest_query"
        },
        "project": {
          "type": "object",
          "required": [
            "order_agency_id",
            "shift_id",
            "order_id",
            "shift_start_date",
            "shift_end_date"
          ],
          "properties": {
            "order_agency_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "shift_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_requires_po_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "shift_start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "shift_end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "shift_status_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_requires_shift_ref": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_status_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_reference_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_job_title_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_job_title_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_job_family_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_job_family_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_po_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_organisation_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_organisation_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_site_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_site_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_ward_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_ward_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_version": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_link": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_vat_applicable": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_unit": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_initial_start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_final_end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_contract_currency": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_minutes": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_resource_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_candidate_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_candidate_full_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_candidate_payroll_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_contract_charge": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_contract_pay": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_contract_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_contract_charge_incl_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "period_start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "period_end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "period_start_datetime": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "period_end_datetime": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "first_time_interval_start": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_candidate_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_candidate_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_candidate_agency_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_agency_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_organisation_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_organisation_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_site_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_site_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_ward_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_ward_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_site_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_ward_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_currency": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "total_expenses": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_shift_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_total_minutes": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_total_billable_minutes": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_total_non_billable_minutes": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_authorised_by_user_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_authorised_by_full_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_authorised_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_confirmed_by_user_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_confirmed_by_full_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_authorised_client_contact_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_contract_pay": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_contract_charge": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_contract_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_contract_charge_incl_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_confirmed": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_authorised": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "invoice_client_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "client_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "billing_path_info_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "total_minutes": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_original_po_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_po_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_date_created": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_date_modified": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_exported": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_job_title_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_job_title_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_job_family_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_job_family_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_version": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_link": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_vat_applicable": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_unit": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_pay": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_expense_pay": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_gross_pay": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_charge": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_expense_charge": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_gross_charge": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_expense_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_gross_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_contract_total_gross_charge_incl_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "minutes_difference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_change": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_title_change": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_change": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "time_interval_breakdown": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_username": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_firstname": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_lastname": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_fullname": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_context_type": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_user_context_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_booked_assignment_created_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_compliance_contract_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_compliance_contract_link_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "client_tag_links": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "client_consultants": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_timezone": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "timesheet_timezone": {
              "type": "integer",
              "enum": [
                1
              ]
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "agency_shift_manifest_advanced_search_query_fields": {
      "type": "object",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_shift_manifest_advanced_search_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_shift_manifest_advanced_search_query_fields"
          }
        },
        "order_reference": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_agency_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_booked_candidate_full_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_booked_candidate_payroll_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_site_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_organisation_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_ward_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_reference_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_po_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_job_family_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_job_title_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "shift_start_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "shift_end_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "agency_shift_booked_minutes": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        },
        "agency_order_contract_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_status_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_site_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_organisation_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_order_contract_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_contract_pay": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "agency_shift_contract_charge": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "agency_shift_contract_charge_incl_vat": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "timesheet_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "timesheet_candidate_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "timesheet_candidate_agency_reference": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "timesheet_ward_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "timesheet_ward_reference": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "time_interval_shift_reference": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "timesheet_po_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "timesheet_job_family_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "timesheet_job_title_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "time_interval_total_billable_minutes": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "time_interval_total_non_billable_minutes": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "period_end_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "time_interval_start_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "time_interval_end_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "minutes_difference": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "ward_change": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "job_title_change": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "timesheet_contract_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "timesheet_contract_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_change": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "time_interval_confirmed": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "time_interval_authorised": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "time_interval_status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "timesheet_status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "time_interval_contract_pay": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "timesheet_contract_total_expense_pay": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "timesheet_contract_total_gross_pay": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "timesheet_contract_total_gross_charge_incl_vat": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "agency_shift_booked_assignment_created_user_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_booked_assignment_created_user_username": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_booked_assignment_created_user_firstname": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_booked_assignment_created_user_lastname": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_booked_assignment_created_user_fullname": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_booked_assignment_created_user_context_type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_booked_assignment_created_user_context_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_booked_assignment_created_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "agency_shift_compliance_contract_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_compliance_contract_link_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "client_tag_links": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_tags_links_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_tags_links_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_tags_links_query_fields"
                  }
                }
              }
            }
          ]
        },
        "client_consultants": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_client_consultants_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_client_consultants_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_client_consultants_query_fields"
                  }
                }
              }
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "agency_shift_manifest_advanced_search_result": {
      "type": "object",
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "order_agency_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "shift_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "order_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_order_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_order_status": {
          "type": "string"
        },
        "agency_order_requires_po_number": {
          "type": "boolean"
        },
        "shift_start_date": {
          "type": "string",
          "format": "date-time"
        },
        "shift_end_date": {
          "type": "string",
          "format": "date-time"
        },
        "shift_status_code": {
          "type": "string"
        },
        "agency_shift_requires_shift_ref": {
          "type": "boolean"
        },
        "agency_group_id": {
          "type": "string"
        },
        "agency_shift_status_code": {
          "type": "string"
        },
        "agency_shift_reference_number": {
          "type": "string"
        },
        "order_job_title_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "order_job_title_name": {
          "type": "string"
        },
        "order_job_family_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "order_job_family_name": {
          "type": "string"
        },
        "order_reference": {
          "type": "string"
        },
        "order_status": {
          "type": "string"
        },
        "order_po_number": {
          "type": "string"
        },
        "order_organisation_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "order_organisation_name": {
          "type": "string"
        },
        "order_site_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "order_site_name": {
          "type": "string"
        },
        "order_ward_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "order_ward_name": {
          "type": "string"
        },
        "agency_order_contract_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_order_contract_name": {
          "type": "string"
        },
        "agency_order_contract_version": {
          "type": "number"
        },
        "agency_order_contract_link": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_order_contract_vat_applicable": {
          "type": "boolean"
        },
        "agency_order_contract_unit": {
          "type": "string"
        },
        "agency_order_contract_initial_start_date": {
          "type": "string",
          "format": "date-time"
        },
        "agency_order_contract_final_end_date": {
          "type": "string",
          "format": "date-time"
        },
        "agency_order_contract_currency": {
          "type": "string"
        },
        "agency_shift_booked_minutes": {
          "type": "integer"
        },
        "agency_shift_booked_resource_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_shift_booked_assignment_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_shift_booked_candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_shift_booked_candidate_full_name": {
          "type": "string"
        },
        "agency_shift_booked_candidate_payroll_number": {
          "type": "string"
        },
        "agency_shift_contract_charge": {
          "type": "number"
        },
        "agency_shift_contract_pay": {
          "type": "number"
        },
        "agency_shift_contract_vat": {
          "type": "number"
        },
        "agency_shift_contract_charge_incl_vat": {
          "type": "number"
        },
        "timesheet_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "timesheet_number": {
          "type": "string"
        },
        "timesheet_status": {
          "type": "string"
        },
        "period_start_date": {
          "type": "string",
          "format": "date-time"
        },
        "period_end_date": {
          "type": "string",
          "format": "date-time"
        },
        "period_start_datetime": {
          "type": "string",
          "format": "date-time"
        },
        "period_end_datetime": {
          "type": "string",
          "format": "date-time"
        },
        "first_time_interval_start": {
          "type": "string",
          "format": "date-time"
        },
        "timesheet_candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "timesheet_candidate_name": {
          "type": "string"
        },
        "timesheet_candidate_agency_reference": {
          "type": "string"
        },
        "timesheet_agency_name": {
          "type": "string"
        },
        "timesheet_organisation_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "timesheet_organisation_name": {
          "type": "string"
        },
        "timesheet_site_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "timesheet_site_name": {
          "type": "string"
        },
        "timesheet_ward_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "timesheet_ward_name": {
          "type": "string"
        },
        "timesheet_site_reference": {
          "type": "string"
        },
        "timesheet_ward_reference": {
          "type": "string"
        },
        "timesheet_currency": {
          "type": "string"
        },
        "total_expenses": {
          "type": "number"
        },
        "time_interval_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "time_interval_status": {
          "type": "string"
        },
        "time_interval_start_date": {
          "type": "string",
          "format": "date-time"
        },
        "time_interval_end_date": {
          "type": "string",
          "format": "date-time"
        },
        "time_interval_shift_reference": {
          "type": "string"
        },
        "time_interval_total_minutes": {
          "type": "number"
        },
        "time_interval_total_billable_minutes": {
          "type": "number"
        },
        "time_interval_total_non_billable_minutes": {
          "type": "number"
        },
        "time_interval_authorised_by_user_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "time_interval_authorised_by_full_name": {
          "type": "string"
        },
        "time_interval_authorised_date": {
          "type": "string",
          "format": "date-time"
        },
        "time_interval_confirmed_by_user_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "time_interval_confirmed_by_full_name": {
          "type": "string"
        },
        "time_interval_authorised_client_contact_name": {
          "type": "string"
        },
        "time_interval_breakdown": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/interval_breakdown"
          }
        },
        "time_interval_contract_pay": {
          "type": "number"
        },
        "time_interval_contract_charge": {
          "type": "number"
        },
        "time_interval_contract_vat": {
          "type": "number"
        },
        "time_interval_contract_charge_incl_vat": {
          "type": "number"
        },
        "time_interval_confirmed": {
          "type": "boolean"
        },
        "time_interval_authorised": {
          "type": "boolean"
        },
        "invoice_client_reference": {
          "type": "string"
        },
        "client_reference": {
          "type": "string"
        },
        "billing_path_info_id": {
          "type": "string"
        },
        "total_minutes": {
          "type": "number"
        },
        "timesheet_original_po_number": {
          "type": "string"
        },
        "timesheet_po_number": {
          "type": "string"
        },
        "timesheet_date_created": {
          "type": "string",
          "format": "date-time"
        },
        "timesheet_date_modified": {
          "type": "string",
          "format": "date-time"
        },
        "timesheet_exported": {
          "type": "boolean"
        },
        "timesheet_job_title_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "timesheet_job_title_name": {
          "type": "string"
        },
        "timesheet_job_family_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "timesheet_job_family_name": {
          "type": "string"
        },
        "timesheet_contract_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "timesheet_contract_name": {
          "type": "string"
        },
        "timesheet_contract_version": {
          "type": "number"
        },
        "timesheet_contract_link": {
          "type": "string"
        },
        "timesheet_contract_vat_applicable": {
          "type": "boolean"
        },
        "timesheet_contract_unit": {
          "type": "string"
        },
        "timesheet_contract_total_pay": {
          "type": "number"
        },
        "timesheet_contract_total_expense_pay": {
          "type": "number"
        },
        "timesheet_contract_total_gross_pay": {
          "type": "number"
        },
        "timesheet_contract_total_charge": {
          "type": "number"
        },
        "timesheet_contract_total_expense_charge": {
          "type": "number"
        },
        "timesheet_contract_total_gross_charge": {
          "type": "number"
        },
        "timesheet_contract_total_vat": {
          "type": "number"
        },
        "timesheet_contract_total_expense_vat": {
          "type": "number"
        },
        "timesheet_contract_total_gross_vat": {
          "type": "number"
        },
        "timesheet_contract_total_gross_charge_incl_vat": {
          "type": "number"
        },
        "minutes_difference": {
          "type": "number"
        },
        "ward_change": {
          "type": "boolean"
        },
        "job_title_change": {
          "type": "boolean"
        },
        "contract_change": {
          "type": "boolean"
        },
        "agency_shift_booked_assignment_created_user_id": {
          "type": "string"
        },
        "agency_shift_booked_assignment_created_user_username": {
          "type": "string"
        },
        "agency_shift_booked_assignment_created_user_firstname": {
          "type": "string"
        },
        "agency_shift_booked_assignment_created_user_lastname": {
          "type": "string"
        },
        "agency_shift_booked_assignment_created_user_fullname": {
          "type": "string"
        },
        "agency_shift_booked_assignment_created_user_context_type": {
          "type": "string"
        },
        "agency_shift_booked_assignment_created_user_context_id": {
          "type": "string"
        },
        "agency_shift_booked_assignment_created_date": {
          "type": "string",
          "format": "date-time"
        },
        "agency_shift_compliance_contract_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_shift_compliance_contract_link_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "client_tag_links": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/tags_links_def"
          }
        },
        "client_consultants": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/client_consultants_def"
          }
        },
        "order_timezone": {
          "type": "string"
        },
        "timesheet_timezone": {
          "type": "string"
        }
      }
    },
    "advanced_search_data_exports_response_def": {
      "allOf": [
        {
          "$ref": "#/definitions/mongoose_default_fields"
        },
        {
          "type": "object",
          "required": [
            "payload",
            "user_id",
            "status"
          ],
          "properties": {
            "payload": {
              "type": "object"
            },
            "timezone": {
              "type": "string"
            },
            "user_id": {
              "type": "string"
            },
            "processing_errors": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "status": {
              "type": "string",
              "enum": [
                "pending",
                "processing",
                "completed"
              ]
            }
          }
        }
      ]
    },
    "candidate_shift_search_advanced_search_query": {
      "type": "object",
      "properties": {
        "sort": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "order_id",
              "-order_id",
              "order_reference",
              "-order_reference",
              "start_date",
              "-start_date",
              "end_date",
              "-end_date",
              "organisation_id",
              "-organisation_id",
              "site_id",
              "-site_id",
              "site_name",
              "-site_name",
              "ward_id",
              "-ward_id",
              "ward_name",
              "-ward_name",
              "job_family_id",
              "-job_family_id",
              "job_family_name",
              "-job_family_name",
              "job_title_id",
              "-job_title_id",
              "job_title_name",
              "-job_title_name",
              "status_code",
              "-status_code",
              "county",
              "-county",
              "city",
              "-city",
              "post_code",
              "-post_code",
              "candidate_id",
              "-candidate_id",
              "candidate_full_name",
              "-candidate_full_name",
              "date_created",
              "-date_created",
              "payroll_number",
              "-payroll_number",
              "shift_reference_number",
              "-shift_reference_number",
              "po_number",
              "-po_number",
              "agency_id",
              "-agency_id",
              "contract_pay",
              "-contract_pay",
              "contract_unit",
              "-contract_unit",
              "contract_initial_start_date",
              "-contract_initial_start_date",
              "contract_final_end_date",
              "-contract_final_end_date",
              "contract_currency",
              "-contract_currency",
              "candidate_city",
              "-candidate_city",
              "candidate_province",
              "-candidate_province",
              "candidate_post_code",
              "-candidate_post_code",
              "candidate_country_code",
              "-candidate_country_code",
              "candidate_address_line1",
              "-candidate_address_line1",
              "candidate_address_line2",
              "-candidate_address_line2",
              "address_line1",
              "-address_line1",
              "address_line2",
              "-address_line2",
              "country_code",
              "-country_code",
              "booked_assignment_created_user_id",
              "-booked_assignment_created_user_id",
              "booked_assignment_created_user_username",
              "-booked_assignment_created_user_username",
              "booked_assignment_created_user_firstname",
              "-booked_assignment_created_user_firstname",
              "booked_assignment_created_user_lastname",
              "-booked_assignment_created_user_lastname",
              "booked_assignment_created_user_fullname",
              "-booked_assignment_created_user_fullname",
              "booked_assignment_created_date",
              "-booked_assignment_created_date",
              "booked_assignment_created_user_context_type",
              "-booked_assignment_created_user_context_type",
              "booked_assignment_created_user_context_id",
              "-booked_assignment_created_user_context_id"
            ]
          }
        },
        "page": {
          "type": "integer",
          "minimum": 1
        },
        "items_per_page": {
          "type": "integer",
          "minimum": 1
        },
        "query": {
          "type": "object",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_shift_search_advanced_search_query_fields"
              }
            },
            "or": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/candidate_shift_search_advanced_search_query_fields"
              }
            }
          },
          "additionalProperties": false
        },
        "project": {
          "type": "object",
          "required": [
            "order_id",
            "candidate_id",
            "start_date",
            "end_date"
          ],
          "properties": {
            "shift_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "position_description": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "staffing_instructions": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "organisation_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "assignment_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_city": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_province": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_post_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_country_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_address_line1": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_address_line2": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "country_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "address_line1": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "address_line2": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_geo_location": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_geo_location": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_timezone": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "organisation_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_family_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_family_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_title_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_title_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "status_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "county": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "city": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "post_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_full_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "date_created": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "payroll_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "shift_reference_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "po_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_pay": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_unit": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_initial_start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_final_end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_currency": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_breakdown": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_username": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_firstname": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_lastname": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_fullname": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_context_type": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_context_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_date": {
              "type": "integer",
              "enum": [
                1
              ]
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "candidate_shift_search_advanced_search_query_fields": {
      "type": "object",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_shift_search_advanced_search_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_shift_search_advanced_search_query_fields"
          }
        },
        "shift_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_reference": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "organisation_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "organisation_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_family_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_family_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "start_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "end_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "job_title_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_title_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "status_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "county": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "city": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "post_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_full_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "payroll_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "shift_reference_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "po_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "date_created": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "contract_pay": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "contract_unit": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_initial_start_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "contract_final_end_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "contract_currency": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_city": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_province": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_post_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_country_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_address_line1": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_address_line2": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "country_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "address_line1": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "address_line2": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_geo_location": {
          "$ref": "#/definitions/advanced_search_operations_geo_location_field"
        },
        "site_geo_location": {
          "$ref": "#/definitions/advanced_search_operations_geo_location_field"
        },
        "booked_assignment_created_user_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_user_username": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_user_firstname": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_user_lastname": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_user_fullname": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_user_context_type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_user_context_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "order_skills": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_order_skill_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_order_skill_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_order_skill_query_fields"
                  }
                }
              }
            }
          ]
        },
        "order_qualifications": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_order_qualification_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_order_qualification_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_order_qualification_query_fields"
                  }
                }
              }
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "candidate_shift_search_advanced_search_result": {
      "type": "object",
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_name": {
          "type": "string"
        },
        "shift_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "order_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "organisation_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "organisation_name": {
          "type": "string"
        },
        "site_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "site_name": {
          "type": "string"
        },
        "ward_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "ward_name": {
          "type": "string"
        },
        "job_family_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_family_name": {
          "type": "string"
        },
        "job_title_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_title_name": {
          "type": "string"
        },
        "order_reference": {
          "type": "string"
        },
        "status_code": {
          "type": "string"
        },
        "county": {
          "type": "string"
        },
        "post_code": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "candidate_full_name": {
          "type": "string"
        },
        "payroll_number": {
          "type": "string"
        },
        "shift_reference_number": {
          "type": "string"
        },
        "po_number": {
          "type": "string"
        },
        "start_date": {
          "type": "string",
          "format": "date-time"
        },
        "end_date": {
          "type": "string",
          "format": "date-time"
        },
        "date_created": {
          "type": "string",
          "format": "date-time"
        },
        "contract_pay": {
          "type": "number"
        },
        "contract_unit": {
          "type": "string"
        },
        "contract_initial_start_date": {
          "type": "string",
          "format": "date-time"
        },
        "contract_final_end_date": {
          "type": "string",
          "format": "date-time"
        },
        "contract_currency": {
          "type": "string"
        },
        "candidate_city": {
          "type": "string"
        },
        "candidate_province": {
          "type": "string"
        },
        "candidate_post_code": {
          "type": "string"
        },
        "candidate_country_code": {
          "type": "string"
        },
        "candidate_address_line1": {
          "type": "string"
        },
        "candidate_address_line2": {
          "type": "string"
        },
        "country_code": {
          "type": "string"
        },
        "address_line1": {
          "type": "string"
        },
        "address_line2": {
          "type": "string"
        },
        "candidate_geo_location": {
          "$ref": "#/definitions/physical_address_geo_location_def"
        },
        "site_geo_location": {
          "$ref": "#/definitions/physical_address_geo_location_def"
        },
        "contract_breakdown": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/candidate_contract_breakdown"
          }
        },
        "booked_assignment_created_user_id": {
          "type": "string"
        },
        "booked_assignment_created_user_username": {
          "type": "string"
        },
        "booked_assignment_created_user_firstname": {
          "type": "string"
        },
        "booked_assignment_created_user_lastname": {
          "type": "string"
        },
        "booked_assignment_created_user_fullname": {
          "type": "string"
        },
        "booked_assignment_created_user_context_type": {
          "type": "string"
        },
        "booked_assignment_created_user_context_id": {
          "type": "string"
        },
        "booked_assignment_created_date": {
          "type": "string",
          "format": "date-time"
        },
        "order_skills": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "skill_id": {
                "type": "string"
              }
            }
          }
        },
        "order_qualifications": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "qualification_id": {
                "type": "string"
              }
            }
          }
        },
        "order_timezone": {
          "type": "string"
        }
      }
    },
    "candidate_contract_breakdown": {
      "type": "object",
      "properties": {
        "start_date": {
          "type": "string",
          "format": "date-time"
        },
        "end_date": {
          "type": "string",
          "format": "date-time"
        },
        "contract_job_code": {
          "type": "string"
        },
        "pay_rate": {
          "type": "number"
        },
        "total_line_pay": {
          "type": "number"
        }
      }
    },
    "agency_shift_search_advanced_search_query": {
      "type": "object",
      "properties": {
        "sort": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "order_id",
              "-order_id",
              "order_reference",
              "-order_reference",
              "start_date",
              "-start_date",
              "end_date",
              "-end_date",
              "organisation_id",
              "-organisation_id",
              "organisation_name",
              "-organisation_name",
              "site_id",
              "-site_id",
              "site_name",
              "-site_name",
              "ward_id",
              "-ward_id",
              "ward_name",
              "-ward_name",
              "job_family_id",
              "-job_family_id",
              "job_family_name",
              "-job_family_name",
              "job_title_id",
              "-job_title_id",
              "job_title_name",
              "-job_title_name",
              "status_code",
              "-status_code",
              "county",
              "-county",
              "city",
              "-city",
              "post_code",
              "-post_code",
              "candidate_id",
              "-candidate_id",
              "candidate_full_name",
              "-candidate_full_name",
              "date_created",
              "-date_created",
              "payroll_number",
              "-payroll_number",
              "shift_reference_number",
              "-shift_reference_number",
              "po_number",
              "-po_number",
              "agency_id",
              "-agency_id",
              "contract_pay",
              "-contract_pay",
              "contract_charge",
              "-contract_charge",
              "contract_charge_incl_vat",
              "-contract_charge_incl_vat",
              "contract_vat",
              "-contract_vat",
              "contract_id",
              "-contract_id",
              "contract_name",
              "-contract_name",
              "contract_version",
              "-contract_version",
              "contract_link",
              "-contract_link",
              "contract_vat_applicable",
              "-contract_vat_applicable",
              "contract_unit",
              "-contract_unit",
              "contract_initial_start_date",
              "-contract_initial_start_date",
              "contract_final_end_date",
              "-contract_final_end_date",
              "contract_currency",
              "-contract_currency",
              "candidate_city",
              "-candidate_city",
              "candidate_province",
              "-candidate_province",
              "candidate_post_code",
              "-candidate_post_code",
              "candidate_country_code",
              "-candidate_country_code",
              "candidate_address_line1",
              "-candidate_address_line1",
              "candidate_address_line2",
              "-candidate_address_line2",
              "address_line1",
              "-address_line1",
              "address_line2",
              "-address_line2",
              "country_code",
              "-country_code",
              "booked_assignment_created_user_id",
              "-booked_assignment_created_user_id",
              "booked_assignment_created_user_username",
              "-booked_assignment_created_user_username",
              "booked_assignment_created_user_firstname",
              "-booked_assignment_created_user_firstname",
              "booked_assignment_created_user_lastname",
              "-booked_assignment_created_user_lastname",
              "booked_assignment_created_user_fullname",
              "-booked_assignment_created_user_fullname",
              "booked_assignment_created_date",
              "-booked_assignment_created_date",
              "booked_assignment_created_user_context_type",
              "-booked_assignment_created_user_context_type",
              "booked_assignment_created_user_context_id",
              "-booked_assignment_created_user_context_id"
            ]
          }
        },
        "page": {
          "type": "integer",
          "minimum": 1
        },
        "items_per_page": {
          "type": "integer",
          "minimum": 1
        },
        "query": {
          "type": "object",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_shift_search_advanced_search_query_fields"
              }
            },
            "or": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_shift_search_advanced_search_query_fields"
              }
            }
          },
          "additionalProperties": false
        },
        "project": {
          "type": "object",
          "required": [
            "order_id",
            "agency_id",
            "start_date",
            "end_date"
          ],
          "properties": {
            "shift_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "position_description": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "staffing_instructions": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "assignment_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "organisation_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_city": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_province": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_post_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_country_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_address_line1": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_address_line2": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "country_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "address_line1": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "address_line2": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_geo_location": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_geo_location": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_timezone": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "organisation_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_family_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_family_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_title_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_title_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "status_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "county": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "city": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "post_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_full_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "date_created": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "payroll_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "shift_reference_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "po_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_pay": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_charge": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_charge_incl_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_vat": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_version": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_link": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_vat_applicable": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_unit": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_initial_start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_final_end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_currency": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_breakdown": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_username": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_firstname": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_lastname": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_fullname": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_context_type": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_user_context_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booked_assignment_created_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_compliance_contract_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_compliance_contract_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_compliance_contract_link_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "client_tag_links": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "client_consultants": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "has_proposed_candidate": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "requires_shift_reference_number": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booking_requests": {
              "type": "integer",
              "enum": [
                1
              ]
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "agency_shift_search_advanced_search_query_fields": {
      "type": "object",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_shift_search_advanced_search_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_shift_search_advanced_search_query_fields"
          }
        },
        "shift_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_reference": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "organisation_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "organisation_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_family_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_family_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "start_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "end_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "job_title_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_title_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "status_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "county": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "city": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "post_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_full_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "payroll_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "shift_reference_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "po_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "date_created": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "contract_pay": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "contract_charge": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "contract_charge_incl_vat": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "contract_vat": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "contract_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_version": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "contract_link": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_vat_applicable": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "contract_unit": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_initial_start_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "contract_final_end_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "contract_currency": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_city": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_province": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_post_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_country_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_address_line1": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_address_line2": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "country_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "address_line1": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "address_line2": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_geo_location": {
          "$ref": "#/definitions/advanced_search_operations_geo_location_field"
        },
        "site_geo_location": {
          "$ref": "#/definitions/advanced_search_operations_geo_location_field"
        },
        "booked_assignment_created_user_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_user_username": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_user_firstname": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_user_lastname": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_user_fullname": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_user_context_type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_user_context_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booked_assignment_created_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "agency_shift_compliance_contract_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_compliance_contract_link_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "client_tag_links": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_tags_links_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_tags_links_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_tags_links_query_fields"
                  }
                }
              }
            }
          ]
        },
        "client_consultants": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_client_consultants_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_client_consultants_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_client_consultants_query_fields"
                  }
                }
              }
            }
          ]
        },
        "order_skills": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_order_skill_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_order_skill_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_order_skill_query_fields"
                  }
                }
              }
            }
          ]
        },
        "order_qualifications": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_order_qualification_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_order_qualification_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_order_qualification_query_fields"
                  }
                }
              }
            }
          ]
        },
        "has_proposed_candidate": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "requires_shift_reference_number": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "booking_requests": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_booking_request_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_booking_request_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_booking_request_query_fields"
                  }
                }
              }
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "agency_shift_search_advanced_search_result": {
      "type": "object",
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_name": {
          "type": "string"
        },
        "shift_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "order_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "organisation_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "organisation_name": {
          "type": "string"
        },
        "site_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "site_name": {
          "type": "string"
        },
        "ward_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "ward_name": {
          "type": "string"
        },
        "job_family_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_family_name": {
          "type": "string"
        },
        "job_title_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_title_name": {
          "type": "string"
        },
        "order_reference": {
          "type": "string"
        },
        "status_code": {
          "type": "string"
        },
        "county": {
          "type": "string"
        },
        "post_code": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "candidate_full_name": {
          "type": "string"
        },
        "payroll_number": {
          "type": "string"
        },
        "shift_reference_number": {
          "type": "string"
        },
        "po_number": {
          "type": "string"
        },
        "start_date": {
          "type": "string",
          "format": "date-time"
        },
        "end_date": {
          "type": "string",
          "format": "date-time"
        },
        "date_created": {
          "type": "string",
          "format": "date-time"
        },
        "contract_pay": {
          "type": "number"
        },
        "contract_charge": {
          "type": "number"
        },
        "contract_charge_incl_vat": {
          "type": "number"
        },
        "contract_vat": {
          "type": "number"
        },
        "contract_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "contract_name": {
          "type": "string"
        },
        "contract_version": {
          "type": "number"
        },
        "contract_link": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "contract_vat_applicable": {
          "type": "boolean"
        },
        "contract_unit": {
          "type": "string"
        },
        "contract_initial_start_date": {
          "type": "string",
          "format": "date-time"
        },
        "contract_final_end_date": {
          "type": "string",
          "format": "date-time"
        },
        "contract_currency": {
          "type": "string"
        },
        "candidate_city": {
          "type": "string"
        },
        "candidate_province": {
          "type": "string"
        },
        "candidate_post_code": {
          "type": "string"
        },
        "candidate_country_code": {
          "type": "string"
        },
        "candidate_address_line1": {
          "type": "string"
        },
        "candidate_address_line2": {
          "type": "string"
        },
        "country_code": {
          "type": "string"
        },
        "address_line1": {
          "type": "string"
        },
        "address_line2": {
          "type": "string"
        },
        "candidate_geo_location": {
          "$ref": "#/definitions/physical_address_geo_location_def"
        },
        "site_geo_location": {
          "$ref": "#/definitions/physical_address_geo_location_def"
        },
        "contract_breakdown": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/contract_breakdown"
          }
        },
        "booked_assignment_created_user_id": {
          "type": "string"
        },
        "booked_assignment_created_user_username": {
          "type": "string"
        },
        "booked_assignment_created_user_firstname": {
          "type": "string"
        },
        "booked_assignment_created_user_lastname": {
          "type": "string"
        },
        "booked_assignment_created_user_fullname": {
          "type": "string"
        },
        "booked_assignment_created_user_context_type": {
          "type": "string"
        },
        "booked_assignment_created_user_context_id": {
          "type": "string"
        },
        "booked_assignment_created_date": {
          "type": "string",
          "format": "date-time"
        },
        "agency_shift_compliance_contract_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_shift_compliance_contract_name": {
          "type": "string"
        },
        "agency_shift_compliance_contract_link_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "client_tag_links": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/tags_links_def"
          }
        },
        "client_consultants": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/client_consultants_def"
          }
        },
        "order_skills": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "skill_id": {
                "type": "string"
              }
            }
          }
        },
        "order_qualifications": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "qualification_id": {
                "type": "string"
              }
            }
          }
        },
        "has_proposed_candidate": {
          "type": "boolean"
        },
        "requires_shift_reference_number": {
          "type": "boolean"
        },
        "booking_requests": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "booking_request_id": {
                "type": "string"
              },
              "booking_request_status": {
                "type": "string"
              }
            }
          }
        },
        "position_description": {
          "type": "string"
        },
        "staffing_instructions": {
          "type": "string"
        },
        "workforce_id": {
          "type": "string"
        },
        "workforce_name": {
          "type": "string"
        },
        "order_timezone": {
          "type": "string"
        }
      }
    },
    "contract_breakdown": {
      "type": "object",
      "properties": {
        "start_date": {
          "type": "string",
          "format": "date-time"
        },
        "end_date": {
          "type": "string",
          "format": "date-time"
        },
        "contract_job_code": {
          "type": "string"
        },
        "pay_rate": {
          "type": "number"
        },
        "charge_rate": {
          "type": "number"
        },
        "total_line_pay": {
          "type": "number"
        },
        "total_line_charge": {
          "type": "number"
        },
        "total_line_vat": {
          "type": "number"
        }
      }
    },
    "agency_shift_search_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED",
            "MINIMUM"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_shift_search_validation_error_single_model"
          }
        }
      }
    },
    "agency_shift_search_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "INVALID_TYPE",
            "ENUM_MISMATCH",
            "TOO_MANY_OPERATORS",
            "INVALID_OPERATION_FOR_FIELD",
            "INVALID_OPERATOR",
            "INVALID_OPERATION",
            "UNSUPPORTED_FIELD",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "INVALID_PROJECTION",
            "MINIMUM"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_group_agency_shift_search_advanced_search_query": {
      "type": "object",
      "properties": {
        "sort": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "order_id",
              "-order_id",
              "order_reference",
              "-order_reference",
              "start_date",
              "-start_date",
              "end_date",
              "-end_date",
              "job_family_id",
              "-job_family_id",
              "job_family_name",
              "-job_family_name",
              "job_title_id",
              "-job_title_id",
              "job_title_name",
              "-job_title_name",
              "status_code",
              "-status_code",
              "date_created",
              "-date_created",
              "agency_id",
              "-agency_id"
            ]
          }
        },
        "page": {
          "type": "integer",
          "minimum": 1
        },
        "items_per_page": {
          "type": "integer",
          "minimum": 1
        },
        "query": {
          "type": "object",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_agency_shift_search_advanced_search_query_fields"
              }
            },
            "or": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_group_agency_shift_search_advanced_search_query_fields"
              }
            }
          },
          "additionalProperties": false
        },
        "project": {
          "type": "object",
          "required": [
            "order_id",
            "agency_id",
            "start_date",
            "end_date"
          ],
          "properties": {
            "shift_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "position_description": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "staffing_instructions": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_family_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_family_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_title_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_title_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "status_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "date_created": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_compliance_contract_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_compliance_contract_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_compliance_contract_link_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_skills": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_qualifications": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_timezone": {
              "type": "integer",
              "enum": [
                1
              ]
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "agency_group_agency_shift_search_advanced_search_query_fields": {
      "type": "object",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_agency_shift_search_advanced_search_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_agency_shift_search_advanced_search_query_fields"
          }
        },
        "shift_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_reference": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_family_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_family_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "start_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "end_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "job_title_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_title_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "status_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "date_created": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "agency_shift_compliance_contract_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_compliance_contract_link_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_skills": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_order_skill_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_order_skill_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_order_skill_query_fields"
                  }
                }
              }
            }
          ]
        },
        "order_qualifications": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_order_qualification_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_order_qualification_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_order_qualification_query_fields"
                  }
                }
              }
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "agency_group_agency_shift_search_advanced_search_result": {
      "type": "object",
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_name": {
          "type": "string"
        },
        "shift_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "order_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_family_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_family_name": {
          "type": "string"
        },
        "job_title_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_title_name": {
          "type": "string"
        },
        "order_reference": {
          "type": "string"
        },
        "status_code": {
          "type": "string"
        },
        "start_date": {
          "type": "string",
          "format": "date-time"
        },
        "end_date": {
          "type": "string",
          "format": "date-time"
        },
        "date_created": {
          "type": "string",
          "format": "date-time"
        },
        "position_description": {
          "type": "string"
        },
        "staffing_instructions": {
          "type": "string"
        },
        "agency_shift_compliance_contract_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_shift_compliance_contract_name": {
          "type": "string"
        },
        "agency_shift_compliance_contract_link_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "order_skills": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "skill_id": {
                "type": "string"
              }
            }
          }
        },
        "order_qualifications": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "qualification_id": {
                "type": "string"
              }
            }
          }
        },
        "order_timezone": {
          "type": "string"
        }
      }
    },
    "agency_group_agency_shift_search_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED",
            "MINIMUM"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_group_agency_shift_search_validation_error_single_model"
          }
        }
      }
    },
    "agency_group_agency_shift_search_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "INVALID_TYPE",
            "ENUM_MISMATCH",
            "TOO_MANY_OPERATORS",
            "INVALID_OPERATION_FOR_FIELD",
            "INVALID_OPERATOR",
            "INVALID_OPERATION",
            "UNSUPPORTED_FIELD",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "INVALID_PROJECTION",
            "MINIMUM"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_candidate_possible_shifts_advanced_search_query": {
      "type": "object",
      "properties": {
        "sort": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "shift_end_date",
              "-shift_end_date",
              "shift_start_date",
              "-shift_start_date",
              "distance",
              "-distance",
              "site_id",
              "-site_id",
              "site_name",
              "-site_name",
              "org_id",
              "-org_id",
              "org_name",
              "-org_name",
              "ward_id",
              "-ward_id",
              "ward_name",
              "-ward_name",
              "agency_shift_status",
              "-agency_shift_status",
              "user_id",
              "-user_id",
              "username",
              "-username",
              "candidate_id",
              "-candidate_id",
              "candidate_type_id",
              "-candidate_type_id",
              "shift_id",
              "-shift_id",
              "order_id",
              "-order_id",
              "agency_order_id",
              "-agency_order_id",
              "agency_id",
              "-agency_id",
              "agency_display_name",
              "-agency_display_name",
              "agency_locale",
              "-agency_locale",
              "job_family_id",
              "-job_family_id",
              "job_title_id",
              "-job_title_id",
              "order_reference",
              "-order_reference",
              "order_created_date",
              "-order_created_date",
              "order_modified_date",
              "-order_modified_date",
              "is_compliant",
              "-is_compliant"
            ]
          }
        },
        "page": {
          "type": "integer",
          "minimum": 1
        },
        "items_per_page": {
          "type": "integer",
          "minimum": 1
        },
        "query": {
          "type": "object",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_candidate_possible_shifts_advanced_search_query_fields"
              }
            },
            "or": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_candidate_possible_shifts_advanced_search_query_fields"
              }
            }
          },
          "additionalProperties": false
        },
        "project": {
          "type": "object",
          "required": [
            "candidate_id",
            "shift_id",
            "order_id",
            "agency_id",
            "shift_end_date",
            "shift_start_date"
          ],
          "properties": {
            "user_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "username": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_physical_address_geo_location": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_type_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "current_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "shift_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_order_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_avatar_url": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_display_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_locale": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_contact_info": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_family_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_family_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_title_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_title_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "org_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "org_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_shift_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_address_geo_location": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "shift_end_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "shift_start_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_created_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "order_modified_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_breakdown": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "contract_info": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "is_compliant": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_partial_post_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "pay_rate_summary": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "distance": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_post_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_country_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_province": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_address_line_1": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_address_line_2": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_city": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_post_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_country_code": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_province": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_address_line_1": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_address_line_2": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_city": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "position_description": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "staffing_instructions": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "compliance_contract_id": {
              "type": "integer",
              "enum": [
                1
              ]
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "agency_candidate_possible_shifts_advanced_search_query_fields": {
      "type": "object",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_candidate_possible_shifts_advanced_search_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_candidate_possible_shifts_advanced_search_query_fields"
          }
        },
        "shift_start_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "shift_end_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "user_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "username": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_type_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "shift_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_order_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_display_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_locale": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_title_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_title_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_family_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_family_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_reference": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "org_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "org_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "agency_shift_status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "order_modified_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "order_created_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "is_compliant": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "site_partial_post_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "distance": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "candidate_physical_address_geo_location": {
          "$ref": "#/definitions/advanced_search_operations_geo_location_field"
        },
        "site_address_geo_location": {
          "$ref": "#/definitions/advanced_search_operations_geo_location_field"
        },
        "current_status": {
          "$ref": "#/definitions/advanced_search_current_status_query_fields"
        },
        "agency_contact_info": {
          "$ref": "#/definitions/advanced_search_agency_contact_info_query_fields"
        },
        "contract_breakdown": {
          "$ref": "#/definitions/advanced_search_embedded_query_contract_breakdown_query_fields"
        },
        "contract_info": {
          "$ref": "#/definitions/advanced_search_contract_info_query_fields"
        },
        "pay_rate_summary": {
          "$ref": "#/definitions/advanced_search_pay_rate_summary_query_fields"
        },
        "site_post_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_country_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_province": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_city": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_post_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_country_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_province": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_city": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "position_description": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "staffing_instructions": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      },
      "additionalProperties": false
    },
    "agency_candidate_possible_shifts_advanced_search_result": {
      "type": "object",
      "properties": {
        "_id": {
          "type": "string"
        },
        "user_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "username": {
          "type": "string"
        },
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "candidate_physical_address_geo_location": {
          "$ref": "#/definitions/address_geo_location_schema"
        },
        "candidate_type_id": {
          "type": "string"
        },
        "current_status": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string"
            },
            "status_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "date": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "shift_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "order_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_order_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_avatar_url": {
          "type": "string"
        },
        "agency_display_name": {
          "type": "string"
        },
        "agency_locale": {
          "type": "string"
        },
        "agency_contact_info": {
          "type": "object",
          "properties": {
            "compliance_tel_number": {
              "type": "string"
            },
            "staffing_tel_number": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "job_family_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_family_name": {
          "type": "string"
        },
        "job_title_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_title_name": {
          "type": "string"
        },
        "order_reference": {
          "type": "string"
        },
        "org_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "org_name": {
          "type": "string"
        },
        "agency_shift_status": {
          "type": "string"
        },
        "site_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "site_name": {
          "type": "string"
        },
        "site_address_geo_location": {
          "$ref": "#/definitions/address_geo_location_schema"
        },
        "ward_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "ward_name": {
          "type": "string"
        },
        "shift_end_date": {
          "type": "string",
          "format": "date-time"
        },
        "shift_start_date": {
          "type": "string",
          "format": "date-time"
        },
        "order_created_date": {
          "type": "string",
          "format": "date-time"
        },
        "order_modified_date": {
          "type": "string",
          "format": "date-time"
        },
        "contract_breakdown": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "start_date": {
                "type": "string",
                "format": "date-time"
              },
              "end_date": {
                "type": "string",
                "format": "date-time"
              },
              "min_duration": {
                "type": "string"
              },
              "job_code": {
                "type": "string"
              },
              "pay_rate": {
                "type": "number"
              }
            },
            "additionalProperties": false
          }
        },
        "contract_info": {
          "type": "object",
          "properties": {
            "contract_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "contract_name": {
              "type": "string"
            },
            "contract_version": {
              "type": "number"
            },
            "contract_link_id": {
              "type": "string",
              "pattern": "^[0-9a-fA-F]{24}$"
            },
            "vat_applicable": {
              "type": "boolean"
            },
            "unit": {
              "type": "string"
            },
            "initial_start_date": {
              "type": "string",
              "format": "date-time"
            },
            "final_end_date": {
              "type": "string",
              "format": "date-time"
            },
            "currency": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "is_compliant": {
          "type": "boolean"
        },
        "pay_rate_summary": {
          "type": "object",
          "properties": {
            "high": {
              "type": "number"
            },
            "low": {
              "type": "number"
            },
            "unit": {
              "type": "string"
            },
            "currency": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "distance": {
          "type": "number"
        },
        "site_partial_post_code": {
          "type": "string"
        },
        "site_post_code": {
          "type": "string"
        },
        "site_country_code": {
          "type": "string"
        },
        "site_province": {
          "type": "string"
        },
        "site_address_line_1": {
          "type": "string"
        },
        "site_address_line_2": {
          "type": "string"
        },
        "site_city": {
          "type": "string"
        },
        "candidate_post_code": {
          "type": "string"
        },
        "candidate_country_code": {
          "type": "string"
        },
        "candidate_province": {
          "type": "string"
        },
        "candidate_address_line_1": {
          "type": "string"
        },
        "candidate_address_line_2": {
          "type": "string"
        },
        "candidate_city": {
          "type": "string"
        },
        "position_description": {
          "type": "string"
        },
        "staffing_instructions": {
          "type": "string"
        },
        "compliance_contract_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      },
      "additionalProperties": false
    },
    "address_geo_location_schema": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "coordinates": {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      },
      "additionalProperties": false
    },
    "agency_canidate_possible_shifts_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED",
            "MINIMUM"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_candidate_possible_shifts_validation_error_single_model"
          }
        }
      }
    },
    "agency_candidate_possible_shifts_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "INVALID_TYPE",
            "ENUM_MISMATCH",
            "TOO_MANY_OPERATORS",
            "INVALID_OPERATION_FOR_FIELD",
            "INVALID_OPERATOR",
            "INVALID_OPERATION",
            "UNSUPPORTED_FIELD",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "INVALID_PROJECTION",
            "MINIMUM"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "advanced_search_current_status_query_fields": {
      "type": "object",
      "properties": {
        "status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "status_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_agency_contact_info_query_fields": {
      "type": "object",
      "properties": {
        "compliance_tel_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "staffing_tel_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_contract_breakdown_query_fields": {
      "type": "object",
      "properties": {
        "start_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "end_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "min_duration": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "pay_rate": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        }
      }
    },
    "advanced_search_embedded_query_contract_breakdown_query_fields": {
      "allOf": [
        {
          "$ref": "#/definitions/advanced_search_contract_breakdown_query_fields"
        },
        {
          "type": "object",
          "properties": {
            "contains": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/advanced_search_contract_breakdown_query_fields"
              }
            },
            "contains_any": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/advanced_search_contract_breakdown_query_fields"
              }
            }
          }
        }
      ]
    },
    "advanced_search_contract_info_query_fields": {
      "type": "object",
      "properties": {
        "contract_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_version": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "contract_link_id": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "vat_applicable": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "unit": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "initial_start_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "final_end_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "currency": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_pay_rate_summary_query_fields": {
      "type": "object",
      "properties": {
        "high": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "low": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "unit": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "currency": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_medium_dnc_query_fields": {
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "value": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        }
      }
    },
    "medium_dnc": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "value": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    },
    "agency_previously_booked_candidate_advanced_search_query": {
      "type": "object",
      "required": [
        "project"
      ],
      "properties": {
        "sort": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "last_shift_worked_at",
              "-last_shift_worked_at",
              "next_shift_date",
              "-next_shift_date",
              "booking_count",
              "-booking_count",
              "job_title_id",
              "-job_title_id",
              "job_title_name",
              "-job_title_name",
              "site_id",
              "-site_id",
              "site_name",
              "-site_name",
              "ward_name",
              "-ward_name",
              "ward_id",
              "-ward_id",
              "candidate_id",
              "-candidate_id",
              "candidate_full_name",
              "-candidate_full_name",
              "candidate_type",
              "-candidate_type",
              "candidate_status.status",
              "-candidate_status.status",
              "agency_id",
              "-agency_id",
              "organisation_id",
              "-organisation_id",
              "candidate_type_id",
              "-candidate_type_id",
              "_id",
              "-_id"
            ]
          }
        },
        "page": {
          "type": "integer",
          "minimum": 1
        },
        "items_per_page": {
          "type": "integer",
          "minimum": 1
        },
        "query": {
          "type": "object",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_previously_booked_candidate_advanced_search_query_fields"
              }
            },
            "or": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_previously_booked_candidate_advanced_search_query_fields"
              }
            }
          },
          "additionalProperties": false
        },
        "project": {
          "type": "object",
          "required": [
            "agency_id",
            "candidate_id",
            "organisation_id",
            "site_id",
            "site_name",
            "ward_id",
            "ward_name",
            "candidate_full_name",
            "job_title_id",
            "job_title_name",
            "booking_count"
          ],
          "properties": {
            "agency_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "organisation_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_full_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_title_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_title_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_family_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "job_family_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "booking_count": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "considered_shifts": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "advanced_search_agency_client_no_collation_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "compliance_contract_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "compliance_contract_link_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "last_shift_worked_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "next_shift_date": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_type": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_type_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "compliance_contract_status": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "currently_excluded": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "exclusions": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "compliant": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "compliance_contract": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "availability_last_updated_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "available": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "created_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "updated_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "__v": {
              "type": "integer",
              "enum": [
                1
              ]
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "agency_previously_booked_candidate_advanced_search_query_fields": {
      "type": "object",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_previously_booked_candidate_advanced_search_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_previously_booked_candidate_advanced_search_query_fields"
          }
        },
        "agency_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "organisation_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_full_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_status": {
          "$ref": "#/definitions/advanced_search_current_status_query_fields"
        },
        "candidate_type_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_title_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_title_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_family_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "job_family_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "booking_count": {
          "$ref": "#/definitions/advanced_search_operations_number_field"
        },
        "compliance_contract_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "compliance_contract_link_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "compliance_contract_status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "last_shift_worked_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "next_shift_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "currently_excluded": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "compliant": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "availability_last_updated_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "available": {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "status": {
                  "$ref": "#/definitions/advanced_search_operations_string_field"
                },
                "period": {
                  "$ref": "#/definitions/advanced_search_operations_string_field"
                },
                "range_start": {
                  "$ref": "#/definitions/advanced_search_operations_date_without_time_field"
                },
                "range_end": {
                  "$ref": "#/definitions/advanced_search_operations_date_without_time_field"
                }
              }
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "status": {
                        "$ref": "#/definitions/advanced_search_operations_string_field"
                      },
                      "period": {
                        "$ref": "#/definitions/advanced_search_operations_string_field"
                      },
                      "range_start": {
                        "$ref": "#/definitions/advanced_search_operations_date_without_time_field"
                      },
                      "range_end": {
                        "$ref": "#/definitions/advanced_search_operations_date_without_time_field"
                      }
                    }
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "status": {
                        "$ref": "#/definitions/advanced_search_operations_string_field"
                      },
                      "period": {
                        "$ref": "#/definitions/advanced_search_operations_string_field"
                      },
                      "range_start": {
                        "$ref": "#/definitions/advanced_search_operations_date_without_time_field"
                      },
                      "range_end": {
                        "$ref": "#/definitions/advanced_search_operations_date_without_time_field"
                      }
                    }
                  }
                }
              }
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "agency_previously_booked_candidate_advanced_search_result": {
      "type": "object",
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "organisation_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "site_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "site_name": {
          "type": "string"
        },
        "ward_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "ward_name": {
          "type": "string"
        },
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "candidate_full_name": {
          "type": "string"
        },
        "job_title_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_title_name": {
          "type": "string"
        },
        "job_family_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_family_name": {
          "type": "string"
        },
        "booking_count": {
          "type": "integer"
        },
        "considered_shifts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "shift_id": {
                "type": "string"
              },
              "advanced_search_agency_shift_id": {
                "type": "string"
              }
            }
          }
        },
        "advanced_search_agency_client_no_collation_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "compliance_contract_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "compliance_contract_link_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "last_shift_worked_at": {
          "type": "string",
          "format": "date-time"
        },
        "next_shift_date": {
          "type": "string",
          "format": "date-time"
        },
        "candidate_type": {
          "type": "string"
        },
        "candidate_type_id": {
          "type": "string"
        },
        "candidate_status": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string"
            },
            "status_id": {
              "type": "string"
            },
            "date": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "compliance_contract_status": {
          "type": "string"
        },
        "currently_excluded": {
          "type": "boolean"
        },
        "exclusions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "compliant": {
          "type": "boolean"
        },
        "compliance_contract": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "contract_id": {
                "type": "string",
                "pattern": "^[0-9a-fA-F]{24}$"
              },
              "contract_output": {
                "type": "integer"
              }
            }
          }
        },
        "availability_last_updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "available": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string"
              },
              "period": {
                "type": "string"
              },
              "range_start": {
                "type": "string",
                "format": "date-time"
              },
              "range_end": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "__v": {
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "agency_previously_booked_candidate_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED",
            "PATTERN",
            "REQUIRED",
            "INVALID_TYPE"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_previously_booked_candidate_validation_error_item"
          }
        }
      },
      "additionalProperties": false
    },
    "agency_previously_booked_candidate_validation_error_item": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "INVALID_TYPE",
            "ENUM_MISMATCH",
            "TOO_MANY_OPERATORS",
            "INVALID_OPERATION_FOR_FIELD",
            "INVALID_OPERATOR",
            "INVALID_OPERATION",
            "UNSUPPORTED_FIELD",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "INVALID_PROJECTION",
            "MINIMUM",
            "INVALID_ATLAS_SEARCH_OPERATION",
            "INVALID_FORMAT",
            "OBJECT_MISSING_REQUIRED_PROPERTY"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_client_advanced_search_query": {
      "type": "object",
      "properties": {
        "sort": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "linked",
              "-linked",
              "agency_id",
              "-agency_id",
              "organisation_id",
              "-organisation_id",
              "organisation_name",
              "-organisation_name",
              "site_id",
              "-site_id",
              "site_name",
              "-site_name",
              "ward_id",
              "-ward_id",
              "ward_name",
              "-ward_name",
              "node_level",
              "-node_level",
              "client_reference",
              "-client_reference",
              "site_type_id",
              "-site_type_id",
              "site_type_name",
              "-site_type_name",
              "ward_type_id",
              "-ward_type_id",
              "ward_type_name",
              "-ward_type_name",
              "site_address_line_1",
              "-site_address_line_1",
              "site_address_line_2",
              "-site_address_line_2",
              "site_province",
              "-site_province",
              "site_post_code",
              "-site_post_code",
              "site_city",
              "-site_city",
              "site_country_code",
              "-site_country_code",
              "site_reference_number",
              "-site_reference_number",
              "ward_reference_number",
              "-ward_reference_number",
              "compliance_contract_link_id",
              "-compliance_contract_link_id",
              "compliance_contract_id",
              "-compliance_contract_id",
              "compliance_contract_name",
              "-compliance_contract_name",
              "compliance_contract_description",
              "-compliance_contract_description",
              "compliance_contract_status",
              "-compliance_contract_status",
              "package_of_care",
              "-package_of_care"
            ]
          }
        },
        "page": {
          "type": "integer",
          "minimum": 1
        },
        "items_per_page": {
          "type": "integer",
          "minimum": 1
        },
        "query": {
          "type": "object",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_client_advanced_search_query_fields"
              }
            },
            "or": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/agency_client_advanced_search_query_fields"
              }
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "agency_client_advanced_search_query_fields": {
      "type": "object",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_client_advanced_search_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/agency_client_advanced_search_query_fields"
          }
        },
        "next_shift_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "previous_shift_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "first_shift_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "next_booking_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "previous_booking_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "first_booking_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "linked": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "agency_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "organisation_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "organisation_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "node_level": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "client_reference": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_type_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_type_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_type_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_type_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_address_line_1": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_address_line_2": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_province": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_post_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_city": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_country_code": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_reference_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_reference_number": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_physical_geo_location": {
          "$ref": "#/definitions/advanced_search_operations_geo_location_field"
        },
        "compliance_contract_link_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "compliance_contract_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "compliance_contract_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "compliance_contract_description": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "compliance_contract_status": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "activities": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_activities_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_activities_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_activities_query_fields"
                  }
                }
              }
            }
          ]
        },
        "client_tag_links": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_tags_links_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_tags_links_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_tags_links_query_fields"
                  }
                }
              }
            }
          ]
        },
        "client_consultants": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_client_consultants_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_client_consultants_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_client_consultants_query_fields"
                  }
                }
              }
            }
          ]
        },
        "client_consultant_role_details": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_client_consultant_role_details_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_client_consultant_role_details_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_client_consultant_role_details_query_fields"
                  }
                }
              }
            }
          ]
        },
        "payroll_contract_links": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_payroll_contract_links_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_payroll_contract_links_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_payroll_contract_links_query_fields"
                  }
                }
              }
            }
          ]
        },
        "has_payroll_contract": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "has_active_payroll_contract": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "payment_term": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "payment_term_inherited": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "financial_hold": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "financial_hold_inherited": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "booking_preferences": {
          "type": "object",
          "properties": {
            "requires_po_number": {
              "$ref": "#/definitions/advanced_search_operations_boolean_field"
            },
            "requires_unique_po_number": {
              "$ref": "#/definitions/advanced_search_operations_boolean_field"
            },
            "requires_booking_password": {
              "$ref": "#/definitions/advanced_search_operations_boolean_field"
            },
            "requires_shift_ref_number": {
              "$ref": "#/definitions/advanced_search_operations_boolean_field"
            }
          }
        },
        "client_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "allocated_agency_verified_documents": {
          "allOf": [
            {
              "$ref": "#/definitions/advanced_search_allocated_agency_verified_documents_query_fields"
            },
            {
              "type": "object",
              "properties": {
                "contains": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_allocated_agency_verified_documents_query_fields"
                  }
                },
                "contains_any": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/advanced_search_allocated_agency_verified_documents_query_fields"
                  }
                }
              }
            }
          ]
        },
        "has_pending_agency_verification_documents": {
          "$ref": "#/definitions/advanced_search_operations_boolean_field"
        },
        "package_of_care": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      },
      "additionalProperties": false
    },
    "agency_client_advanced_search_result": {
      "type": "object",
      "required": [
        "payment_term_inherited",
        "financial_hold_inherited",
        "booking_preferences"
      ],
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "linked": {
          "type": "boolean"
        },
        "agency_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "organisation_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "organisation_name": {
          "type": "string"
        },
        "site_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "site_name": {
          "type": "string"
        },
        "ward_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "ward_name": {
          "type": "string"
        },
        "node_level": {
          "type": "string"
        },
        "client_reference": {
          "type": "string"
        },
        "site_type_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "site_type_name": {
          "type": "string"
        },
        "ward_type_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "ward_type_name": {
          "type": "string"
        },
        "site_address_line_1": {
          "type": "string"
        },
        "site_address_line_2": {
          "type": "string"
        },
        "site_province": {
          "type": "string"
        },
        "site_post_code": {
          "type": "string"
        },
        "site_city": {
          "type": "string"
        },
        "site_country_code": {
          "type": "string"
        },
        "site_reference_number": {
          "type": "string"
        },
        "site_timezone": {
          "type": "string"
        },
        "ward_reference_number": {
          "type": "string"
        },
        "site_physical_geo_location": {
          "$ref": "#/definitions/physical_address_geo_location_def"
        },
        "compliance_contract_link_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "compliance_contract_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "compliance_contract_name": {
          "type": "string"
        },
        "compliance_contract_description": {
          "type": "string"
        },
        "compliance_contract_status": {
          "type": "string"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "__v": {
          "type": "integer"
        },
        "activities": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/activity_type_def"
          }
        },
        "client_tag_links": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/tags_links_def"
          }
        },
        "client_consultants": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/client_consultants_def"
          }
        },
        "client_consultant_role_details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/client_consultant_role_details_def"
          }
        },
        "payroll_contract_links": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/payroll_contract_link_def"
          }
        },
        "has_payroll_contract": {
          "type": "boolean"
        },
        "has_active_payroll_contract": {
          "type": "boolean"
        },
        "next_shift_at": {
          "type": "string",
          "format": "date-time"
        },
        "previous_shift_at": {
          "type": "string",
          "format": "date-time"
        },
        "first_shift_at": {
          "type": "string",
          "format": "date-time"
        },
        "next_booking_at": {
          "type": "string",
          "format": "date-time"
        },
        "previous_booking_at": {
          "type": "string",
          "format": "date-time"
        },
        "first_booking_at": {
          "type": "string",
          "format": "date-time"
        },
        "payment_term": {
          "type": "string",
          "enum": [
            "credit",
            "pay_in_advance"
          ]
        },
        "payment_term_inherited": {
          "type": "boolean"
        },
        "financial_hold": {
          "type": "string",
          "enum": [
            "applied",
            "cleared"
          ]
        },
        "financial_hold_inherited": {
          "type": "boolean"
        },
        "booking_preferences": {
          "type": "object",
          "required": [
            "requires_po_number",
            "requires_unique_po_number",
            "requires_booking_password",
            "requires_shift_ref_number"
          ],
          "properties": {
            "requires_po_number": {
              "type": "boolean"
            },
            "requires_unique_po_number": {
              "type": "boolean"
            },
            "requires_booking_password": {
              "type": "boolean"
            },
            "requires_shift_ref_number": {
              "type": "boolean"
            }
          }
        },
        "allocated_agency_verified_documents": {
          "$ref": "#/definitions/allocated_agency_client_verified_documents_def"
        },
        "has_pending_agency_verified_documents": {
          "type": "boolean"
        },
        "package_of_care": {
          "type": "string",
          "enum": [
            "initiated"
          ]
        }
      }
    },
    "agency_group_compliance_contract_response": {
      "type": "object",
      "required": [
        "contract_id"
      ],
      "properties": {
        "contract_id": {
          "type": "string"
        },
        "agency_id": {
          "type": "string"
        },
        "contract_output": {
          "type": "integer"
        }
      }
    },
    "agency_compliance_contract_response": {
      "type": "object",
      "required": [
        "contract_id"
      ],
      "properties": {
        "contract_id": {
          "type": "string"
        },
        "contract_output": {
          "type": "integer"
        }
      }
    },
    "compliance_rule_response": {
      "type": "object",
      "required": [
        "rule_id"
      ],
      "properties": {
        "rule_id": {
          "type": "string"
        },
        "rule_output": {
          "type": "integer"
        },
        "rule_output_change_date": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "compliance_condition_response": {
      "type": "object",
      "required": [
        "condition_id"
      ],
      "properties": {
        "condition_id": {
          "type": "string"
        },
        "rule_id": {
          "type": "string"
        },
        "condition_output": {
          "type": "integer"
        },
        "condition_dump_created_date": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "advanced_search_rule_query_fields": {
      "type": "object",
      "properties": {
        "rule_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "rule_output": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        },
        "rule_output_change_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        }
      }
    },
    "advanced_search_condition_query_fields": {
      "type": "object",
      "properties": {
        "rule_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "condition_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "condition_output": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        },
        "condition_dump_created_date": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        }
      }
    },
    "advanced_search_agency_group_contract_query_fields": {
      "type": "object",
      "properties": {
        "agency_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_output": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        }
      }
    },
    "advanced_search_agency_contract_query_fields": {
      "type": "object",
      "properties": {
        "contract_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "contract_output": {
          "$ref": "#/definitions/advanced_search_operations_integer_field"
        }
      }
    },
    "advanced_search_agency_client_event_log_sort": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "agency_id",
          "-agency_id",
          "organisation_id",
          "-organisation_id",
          "organisation_name",
          "-organisation_name",
          "site_id",
          "-site_id",
          "site_name",
          "-site_name",
          "ward_id",
          "-ward_id",
          "ward_name",
          "-ward_name",
          "client_type",
          "-client_type",
          "actioned_at",
          "-actioned_at"
        ]
      }
    },
    "advanced_search_agency_client_event_log_query": {
      "type": "object",
      "properties": {
        "sort": {
          "$ref": "#/definitions/advanced_search_agency_client_event_log_sort"
        },
        "page": {
          "type": "integer",
          "minimum": 1
        },
        "items_per_page": {
          "type": "integer",
          "minimum": 1
        },
        "query": {
          "type": "object",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/advanced_search_agency_client_event_log_query_fields"
              }
            },
            "or": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/advanced_search_agency_client_event_log_query_fields"
              }
            }
          }
        }
      },
      "additionalProperties": false
    },
    "advanced_search_agency_client_event_log_query_fields": {
      "type": "object",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_agency_client_event_log_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_agency_client_event_log_query_fields"
          }
        },
        "event_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "event_type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "actioned_at": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "agency_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "organisation_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "organisation_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_name": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "client_type": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      },
      "additionalProperties": false
    },
    "advanced_search_agency_client_event_log_result": {
      "type": "object",
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "event_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "event_type": {
          "type": "string"
        },
        "actioned_at": {
          "type": "string",
          "format": "date-time"
        },
        "agency_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "organisation_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "organisation_name": {
          "type": "string"
        },
        "site_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "site_name": {
          "type": "string"
        },
        "ward_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "ward_name": {
          "type": "string"
        },
        "client_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "client_type": {
          "type": "string"
        },
        "client_reference": {
          "type": "string"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "__v": {
          "type": "integer"
        },
        "diff_before": {
          "type": "string"
        },
        "diff_after": {
          "type": "string"
        }
      }
    },
    "advanced_search_agency_client_event_log_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/advanced_search_agency_client_event_log_validation_error_single_model"
          }
        }
      }
    },
    "advanced_search_agency_client_event_log_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "INVALID_FORMAT",
            "INVALID_TYPE",
            "TOO_MANY_OPERATORS",
            "INVALID_OPERATION_FOR_FIELD",
            "INVALID_OPERATOR",
            "INVALID_OPERATION",
            "UNSUPPORTED_FIELD",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "INVALID_PROJECTION",
            "MINIMUM"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "agency_client_event_log_data_export_payload": {
      "type": "object",
      "required": [
        "project"
      ],
      "properties": {
        "sort": {
          "$ref": "#/definitions/advanced_search_agency_client_event_log_sort"
        },
        "query": {
          "$ref": "#/definitions/advanced_search_agency_client_event_log_query_fields"
        },
        "project_config": {
          "type": "object",
          "minProperties": 1,
          "properties": {
            "event_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "event_type": {
              "$ref": "#/definitions/project_config_field"
            },
            "actioned_at": {
              "$ref": "#/definitions/project_config_field"
            },
            "agency_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "organisation_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "organisation_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "site_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "site_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "ward_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "ward_name": {
              "$ref": "#/definitions/project_config_field"
            },
            "client_id": {
              "$ref": "#/definitions/project_config_field"
            },
            "client_type": {
              "$ref": "#/definitions/project_config_field"
            },
            "client_reference": {
              "$ref": "#/definitions/project_config_field"
            },
            "updated_at": {
              "$ref": "#/definitions/project_config_field"
            },
            "created_at": {
              "$ref": "#/definitions/project_config_field"
            },
            "diff_before": {
              "$ref": "#/definitions/project_config_field"
            },
            "diff_after": {
              "$ref": "#/definitions/project_config_field"
            }
          },
          "additionalProperties": false
        },
        "project": {
          "type": "object",
          "properties": {
            "event_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "event_type": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "organisation_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "organisation_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "client_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "client_type": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "client_reference": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "updated_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "created_at": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "diff_before": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "diff_after": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "actioned_at": {
              "type": "integer",
              "enum": [
                1
              ]
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "compliance_rule_exemption_advanced_search_query": {
      "type": "object",
      "properties": {
        "sort": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/compliance_rule_exemption_sort_items"
          }
        },
        "query": {
          "$ref": "#/definitions/compliance_rule_exemption_query"
        },
        "page": {
          "type": "integer",
          "minimum": 1
        },
        "items_per_page": {
          "type": "integer",
          "minimum": 1
        },
        "project": {
          "type": "object",
          "required": [
            "agency_id",
            "site_id",
            "ward_id",
            "organisation_id",
            "candidate_id",
            "applies_to",
            "range_id",
            "compliance_rule_id",
            "compliance_rule_exemption_id"
          ],
          "properties": {
            "agency_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "agency_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "organisation_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "organisation_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "site_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "ward_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "compliance_rule_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "compliance_rule_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "candidate_name": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "applies_to": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "effective_from": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "effective_to": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "compliance_rule_exemption_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "range_id": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "change_history": {
              "type": "integer",
              "enum": [
                1
              ]
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "compliance_rule_exemption_sort_items": {
      "type": "string",
      "enum": [
        "applies_to",
        "-applies_to",
        "effective_from",
        "-effective_from",
        "effective_to",
        "-effective_to",
        "candidate_name",
        "-candidate_name",
        "organisation_name",
        "-organisation_name",
        "site_name",
        "-site_name",
        "ward_name",
        "-ward_name",
        "compliance_rule_name",
        "-compliance_rule_name",
        "agency_name",
        "-agency_name"
      ]
    },
    "compliance_rule_exemption_query": {
      "type": "object",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/compliance_rule_exemption_advanced_search_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/compliance_rule_exemption_advanced_search_query_fields"
          }
        }
      },
      "additionalProperties": false
    },
    "compliance_rule_exemption_advanced_search_query_fields": {
      "type": "object",
      "properties": {
        "and": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/compliance_rule_exemption_advanced_search_query_fields"
          }
        },
        "or": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/compliance_rule_exemption_advanced_search_query_fields"
          }
        },
        "agency_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "organisation_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "site_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "ward_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "compliance_rule_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "candidate_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "applies_to": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "effective_from": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "effective_to": {
          "$ref": "#/definitions/advanced_search_operations_date_field"
        },
        "range_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        },
        "compliance_rule_exemption_id": {
          "$ref": "#/definitions/advanced_search_operations_string_field"
        }
      }
    },
    "compliance_rule_exemption_search_result": {
      "type": "object",
      "properties": {
        "_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "agency_name": {
          "type": "string"
        },
        "organisation_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "organisation_name": {
          "type": "string"
        },
        "site_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "site_name": {
          "type": "string"
        },
        "ward_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "ward_name": {
          "type": "string"
        },
        "compliance_rule_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "compliance_rule_name": {
          "type": "string"
        },
        "applies_to": {
          "type": "string"
        },
        "effective_from": {
          "type": "string",
          "format": "date-time"
        },
        "effective_to": {
          "type": "string",
          "format": "date-time"
        },
        "compliance_rule_exemption_id": {
          "type": "string"
        },
        "range_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "change_history": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "event_name",
              "note",
              "actioned_by_user_id",
              "date_actioned",
              "effective_from",
              "effective_to"
            ],
            "properties": {
              "event_name": {
                "type": "string"
              },
              "note": {
                "type": "string"
              },
              "actioned_by_user_id": {
                "type": "string"
              },
              "date_actioned": {
                "type": "string",
                "format": "date-time"
              },
              "effective_from": {
                "type": "string",
                "format": "date-time"
              },
              "effective_to": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "__v": {
          "type": "integer"
        }
      }
    },
    "compliance_rule_exemption_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/compliance_rule_exemption_validation_error_single_model"
          }
        }
      }
    },
    "compliance_rule_exemption_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "INVALID_TYPE",
            "ENUM_MISMATCH",
            "TOO_MANY_OPERATORS",
            "INVALID_OPERATION_FOR_FIELD",
            "INVALID_OPERATOR",
            "INVALID_OPERATION",
            "UNSUPPORTED_FIELD",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "INVALID_PROJECTION",
            "MINIMUM",
            "INVALID_FORMAT"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    },
    "booked_candidates_report_advanced_search_query": {
      "type": "object",
      "required": [
        "site_id",
        "job_title_id",
        "shift_start_date"
      ],
      "properties": {
        "site_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "ward_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "job_title_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "min_shift_date_booked": {
          "description": "The query param to specify the minimum date for the range to be matched on start_date field, useful for doing 'shift in x days' queries",
          "type": "string",
          "format": "date-time"
        },
        "max_shift_date_booked": {
          "description": "The query param to specify the maximum date for the range to be matched on start_date field, useful for doing 'shift in x days' queries",
          "type": "string",
          "format": "date-time"
        },
        "shift_start_date": {
          "description": "The query param to specify the start date of the current shift, used to match override compliance",
          "type": "string",
          "format": "date-time"
        },
        "compliance_contract_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        }
      },
      "additionalProperties": false
    },
    "booked_candidates_report_search_result": {
      "type": "object",
      "required": [
        "agency_id",
        "candidate_id",
        "candidate_full_name",
        "booking_count",
        "last_shift_date",
        "is_job_title_match",
        "compliance_status",
        "exclusion_status"
      ],
      "properties": {
        "agency_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "candidate_id": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{24}$"
        },
        "candidate_full_name": {
          "type": "string"
        },
        "booking_count": {
          "type": "number"
        },
        "last_shift_date": {
          "type": "string",
          "format": "date-time"
        },
        "is_job_title_match": {
          "type": "boolean"
        },
        "compliance_status": {
          "type": "string",
          "enum": [
            "NO_COMPLIANCE_CONTRACT_SET",
            "NOT_YET_COMPUTED",
            "NOT_APPLICABLE",
            "INCOMPLIANT",
            "COMPLIANT"
          ]
        },
        "exclusion_status": {
          "type": "string",
          "enum": [
            "NOT_EXCLUDED",
            "EXCLUDED",
            "UNKNOWN"
          ]
        }
      }
    },
    "booked_candidates_report_validation_error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "SCHEMA_VALIDATION_FAILED",
            "MODEL_VALIDATION_FAILED"
          ]
        },
        "message": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/booked_candidates_report_validation_error_single_model"
          }
        }
      }
    },
    "booked_candidates_report_validation_error_single_model": {
      "type": "object",
      "required": [
        "code",
        "message",
        "path"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "PATTERN",
            "INVALID_TYPE",
            "OBJECT_ADDITIONAL_PROPERTIES",
            "OBJECT_MISSING_REQUIRED_PROPERTY",
            "MAX_SHIFT_DATE_SHOULD_BE_GREATER_THAN_MIN_SHIFT_DATE"
          ]
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        }
      }
    }
  },
  "securityDefinitions": {
    "staffshift": {
      "type": "basic"
    },
    "agencyCandidate": {
      "type": "basic"
    },
    "agencyGroupCandidate": {
      "type": "basic"
    },
    "pathContextValidator": {
      "type": "basic"
    },
    "staffshiftUser": {
      "type": "basic"
    },
    "staffshiftOperation": {
      "type": "basic"
    },
    "candidateSettings": {
      "type": "basic"
    },
    "candidateLinkToAgencyAgencyGroup": {
      "type": "basic"
    },
    "contextCandidateLink": {
      "type": "basic"
    },
    "agencyGroupAgency": {
      "type": "basic"
    },
    "agencyGroupAgencyCandidateAccess": {
      "type": "basic"
    },
    "agencyClientLink": {
      "type": "basic"
    },
    "candidateExists": {
      "type": "basic"
    },
    "candidateAgencyGroup": {
      "type": "basic"
    },
    "globalSearchIndexTypeAccess": {
      "type": "basic"
    },
    "staffshiftFromPayload": {
      "type": "basic"
    },
    "googleTokenVerification": {
      "type": "basic"
    }
  }
}