{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://xeolite.app/schemas/request.schema.json","type":"object","required":["competitor","url"],"properties":{"competitor":{"type":"string","minLength":2,"maxLength":100,"pattern":"^\\S(?:[\\s\\S]*\\S)?$"},"url":{"type":"string","format":"uri","pattern":"^[hH][tT][tT][pP][sS]?://(?![^/?#]*@)(?![^/?#]*%)(?![^/?#]*:)(?!\\[)(?![^/?#]*\\.\\.)(?!0[xX][0-9A-Fa-f]+(?:[./?#]|$))(?![^/?#]*\\.0[xX][0-9A-Fa-f]+(?:[./?#]|$))(?=[^/?#:]*[A-Za-z\\u0080-\\uFFFF])(?=[^/?#:]+\\.[^/?#:]+(?:[/?#]|$))(?!(?:[lL][oO][cC][aA][lL][hH][oO][sS][tT]|[^/?#:]+\\.(?:[lL][oO][cC][aA][lL][hH][oO][sS][tT]|[lL][oO][cC][aA][lL]|[iI][nN][tT][eE][rR][nN][aA][lL]|[lL][aA][nN]))(?:[/?#]|$)).+","maxLength":500,"description":"Public HTTP(S) URL with a DNS host and no credentials or explicit port; IP literals, encoded hosts, local names and private-network suffixes are rejected. Runtime performs final URL normalization and validation."},"resultsJson":{"type":"string","maxLength":200000,"description":"UTF-8 payload must also be 200,000 bytes or less."}},"additionalProperties":false}