addedInput schema / additionalProperties
Added value: +false
changedInput schema / properties / categories / description
Previous value: -"One or more category slugs"New value: +"Category slugs — call list_categories to get valid ones"
addedInput schema / properties / categories / items / minLength
Added value: +1
addedInput schema / properties / categorySuggestions
Added value: +{
+ "description": "Free-text category hints when none of the real slugs fit; recorded for the reviewer",
+ "items": {
+ "maxLength": 60,
+ "type": "string"
+ },
+ "type": "array"
+}
addedInput schema / properties / cons
Added value: +{
+ "description": "Short editorial cons",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
changedInput schema / properties / description / description
Previous value: -"Neutral listing copy (min 20 chars; promotional/ranking language is rejected)"New value: +"Neutral listing copy (min 20 chars; ranking language is rejected)"
addedInput schema / properties / description / minLength
Added value: +20
changedInput schema / properties / externalId / description
Previous value: -"Your own id for idempotent replays"New value: +"Your stable id for idempotent replays; derived from the URL when omitted"
addedInput schema / properties / externalId / maxLength
Added value: +200
addedInput schema / properties / features / items / additionalProperties
Added value: +false
addedInput schema / properties / features / items / properties / description / maxLength
Added value: +300
addedInput schema / properties / features / items / properties / label / maxLength
Added value: +80
addedInput schema / properties / features / items / properties / label / minLength
Added value: +1
addedInput schema / properties / freePlan
Added value: +{
+ "description": "Offers a free plan",
+ "type": "boolean"
+}
addedInput schema / properties / freeTrial
Added value: +{
+ "description": "Offers a free trial",
+ "type": "boolean"
+}
addedInput schema / properties / name / minLength
Added value: +1
removedInput schema / properties / paymentRef
Removed value: -{
- "description": "Required for paid proof",
- "type": "string"
-}
addedInput schema / properties / pricing
Added value: +{
+ "additionalProperties": false,
+ "description": "Starting price (USD)",
+ "properties": {
+ "amount": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "currency": {
+ "const": "USD",
+ "type": "string"
+ },
+ "period": {
+ "enum": [
+ "month",
+ "year",
+ "one-time"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency",
+ "period"
+ ],
+ "type": "object"
+}
changedInput schema / properties / proof / description
Previous value: -"Inclusion path (default none). sayabout/badge need verificationUrl; paid needs paymentRef."New value: +"Inclusion path (default none). sayabout (Wall of Love URL, recommended) and badge need verificationUrl. For a paid (dofollow) listing use upgrade_listing."
changedInput schema / properties / proof / enum
Previous value: -[
- "none",
- "sayabout",
- "badge",
- "paid"
-]New value: +[
+ "none",
+ "sayabout",
+ "badge"
+]
addedInput schema / properties / pros
Added value: +{
+ "description": "Short editorial pros",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedInput schema / properties / resubmit
Added value: +{
+ "description": "Set true to send a fresh copy after a previous submission for this URL was rejected. Mints a new idempotency key so the reviewer gets a new row instead of a replay of the rejected one.",
+ "type": "boolean"
+}
addedInput schema / properties / source / pattern
Added value: +"^[a-z0-9][a-z0-9:_-]{1,63}$"
addedInput schema / properties / url / format
Added value: +"uri"
addedInput schema / properties / verificationUrl / format
Added value: +"uri"
changedInput schema / required
Previous value: -[
- "name",
- "url",
- "categories"
-]New value: +[
+ "name",
+ "url"
+]