{
  "name": "benchmarks.finance submissions API",
  "version": 1,
  "endpoint": "https://benchmarks.finance/api/submissions",
  "method": "POST",
  "contentType": "application/json",
  "guide": [
    "Send one JSON object per submission with a `kind` and that kind's fields (schemas below).",
    "A 202 response carries `id`, a reference to quote if you write to us about it. 400 lists the fields to fix.",
    "Submissions are read by people at Moneda, not applied automatically; corrections need a source we can check.",
    "Do not send personal data beyond a name and a reply address. Leave `website` empty.",
    "No authentication. Keep to a few submissions a day per sender; more than that is treated as abuse."
  ],
  "kinds": {
    "correction": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "name": {
          "description": "Your name, or the name of the person the agent acts for.",
          "type": "string"
        },
        "email": {
          "description": "Where we reply.",
          "type": "string"
        },
        "organisation": {
          "description": "Company or group, if any.",
          "type": "string"
        },
        "agent": {
          "description": "The software sending this, e.g. 'acme-research-bot/1.2', when not a person.",
          "type": "string"
        },
        "website": {
          "default": "",
          "description": "Leave empty.",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "const": "correction"
        },
        "page": {
          "description": "The page the error is on, e.g. /leaderboards/finqa/.",
          "type": "string"
        },
        "wrong": {
          "description": "What the page says now.",
          "type": "string"
        },
        "correct": {
          "description": "What it should say.",
          "type": "string"
        },
        "source": {
          "type": "string",
          "maxLength": 2000,
          "format": "uri",
          "description": "A page that shows the correct value."
        },
        "notes": {
          "description": "Anything else.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "email",
        "kind",
        "page",
        "wrong",
        "correct",
        "source"
      ],
      "description": "A score, date, licence, credit or other fact on the site is wrong."
    },
    "model": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "name": {
          "description": "Your name, or the name of the person the agent acts for.",
          "type": "string"
        },
        "email": {
          "description": "Where we reply.",
          "type": "string"
        },
        "organisation": {
          "description": "Company or group, if any.",
          "type": "string"
        },
        "agent": {
          "description": "The software sending this, e.g. 'acme-research-bot/1.2', when not a person.",
          "type": "string"
        },
        "website": {
          "default": "",
          "description": "Leave empty.",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "const": "model"
        },
        "modelName": {
          "description": "The model's name as its maker writes it.",
          "type": "string"
        },
        "maker": {
          "description": "The lab or company.",
          "type": "string"
        },
        "version": {
          "description": "Version or dated snapshot id, if any.",
          "type": "string"
        },
        "url": {
          "type": "string",
          "maxLength": 2000,
          "format": "uri",
          "description": "The model's page or documentation."
        },
        "access": {
          "type": "string",
          "enum": [
            "api",
            "app",
            "weights"
          ],
          "description": "How we can run it: an API, a product app, or open weights."
        },
        "benchmarks": {
          "description": "Benchmarks to run it on, by site slug (e.g. finqa); empty means all seven Moneda Bench benchmarks.",
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "notes": {
          "description": "Anything else, e.g. access instructions.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "email",
        "kind",
        "modelName",
        "maker",
        "url",
        "access"
      ],
      "description": "Ask for a model or AI product to be run on the benchmarks."
    },
    "benchmark": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "name": {
          "description": "Your name, or the name of the person the agent acts for.",
          "type": "string"
        },
        "email": {
          "description": "Where we reply.",
          "type": "string"
        },
        "organisation": {
          "description": "Company or group, if any.",
          "type": "string"
        },
        "agent": {
          "description": "The software sending this, e.g. 'acme-research-bot/1.2', when not a person.",
          "type": "string"
        },
        "website": {
          "default": "",
          "description": "Leave empty.",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "const": "benchmark"
        },
        "benchmarkName": {
          "description": "The benchmark's name.",
          "type": "string"
        },
        "maker": {
          "description": "Who made it.",
          "type": "string"
        },
        "url": {
          "type": "string",
          "maxLength": 2000,
          "format": "uri",
          "description": "Its home page or repository."
        },
        "paper": {
          "description": "The paper, if there is one.",
          "type": "string",
          "maxLength": 2000,
          "format": "uri"
        },
        "licence": {
          "description": "The licence of the items and the code.",
          "type": "string"
        },
        "useCase": {
          "description": "What it tests, in a few words.",
          "type": "string"
        },
        "publicSplit": {
          "default": "unknown",
          "description": "Whether the items are public.",
          "type": "string",
          "enum": [
            "yes",
            "no",
            "unknown"
          ]
        },
        "notes": {
          "description": "Anything else.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "email",
        "kind",
        "benchmarkName",
        "maker",
        "url"
      ],
      "description": "Ask for a finance benchmark to be added to the directory."
    },
    "product": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "name": {
          "description": "Your name, or the name of the person the agent acts for.",
          "type": "string"
        },
        "email": {
          "description": "Where we reply.",
          "type": "string"
        },
        "organisation": {
          "description": "Company or group, if any.",
          "type": "string"
        },
        "agent": {
          "description": "The software sending this, e.g. 'acme-research-bot/1.2', when not a person.",
          "type": "string"
        },
        "website": {
          "default": "",
          "description": "Leave empty.",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "const": "product"
        },
        "productName": {
          "description": "The product's name.",
          "type": "string"
        },
        "maker": {
          "description": "The company behind it.",
          "type": "string"
        },
        "url": {
          "type": "string",
          "maxLength": 2000,
          "format": "uri",
          "description": "Its home page."
        },
        "docs": {
          "description": "Documentation that states what it can do.",
          "type": "string",
          "maxLength": 2000,
          "format": "uri"
        },
        "functionality": {
          "description": "What it offers, one item each (e.g. 'live quotes', 'company filings'), each backed by the docs.",
          "maxItems": 40,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "notes": {
          "description": "Anything else.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "email",
        "kind",
        "productName",
        "maker",
        "url"
      ],
      "description": "Ask for a finance AI product to be listed, with its functionality."
    },
    "contact": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "name": {
          "description": "Your name, or the name of the person the agent acts for.",
          "type": "string"
        },
        "email": {
          "description": "Where we reply.",
          "type": "string"
        },
        "organisation": {
          "description": "Company or group, if any.",
          "type": "string"
        },
        "agent": {
          "description": "The software sending this, e.g. 'acme-research-bot/1.2', when not a person.",
          "type": "string"
        },
        "website": {
          "default": "",
          "description": "Leave empty.",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "const": "contact"
        },
        "subject": {
          "description": "One line.",
          "type": "string"
        },
        "message": {
          "description": "The message.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "email",
        "kind",
        "subject",
        "message"
      ],
      "description": "Anything else."
    }
  }
}