{
  "openapi": "3.1.0",
  "info": {
    "title": "Mundane Read API",
    "version": "1.0.0",
    "description": "Neutralization, six independent bias indicators, and fact-check triage. Every score returns the spans of text that produced it."
  },
  "servers": [
    {
      "url": "https://mundaneread.com"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "paths": {
    "/v1/neutralize": {
      "post": {
        "summary": "Remove evaluative language",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The article text to analyze."
                  },
                  "include_quotes": {
                    "type": "boolean",
                    "default": false,
                    "description": "Count charged language inside quotation marks toward the score."
                  },
                  "market": {
                    "type": "string",
                    "enum": [
                      "global",
                      "us",
                      "uk",
                      "in"
                    ],
                    "default": "global",
                    "description": "Political engine only. The left/right axis is not portable between countries."
                  }
                }
              }
            }
          }
        },
        "tags": [
          "neutralizer"
        ]
      }
    },
    "/v1/factcheck": {
      "post": {
        "summary": "Extract, audit and corroborate claims",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The article text to analyze."
                  },
                  "include_quotes": {
                    "type": "boolean",
                    "default": false,
                    "description": "Count charged language inside quotation marks toward the score."
                  },
                  "market": {
                    "type": "string",
                    "enum": [
                      "global",
                      "us",
                      "uk",
                      "in"
                    ],
                    "default": "global",
                    "description": "Political engine only. The left/right axis is not portable between countries."
                  }
                }
              }
            }
          }
        },
        "tags": [
          "factcheck"
        ]
      }
    },
    "/v1/inshorts": {
      "post": {
        "summary": "Fifty words or fewer, extracted from the source",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The article text to analyze."
                  },
                  "include_quotes": {
                    "type": "boolean",
                    "default": false,
                    "description": "Count charged language inside quotation marks toward the score."
                  },
                  "market": {
                    "type": "string",
                    "enum": [
                      "global",
                      "us",
                      "uk",
                      "in"
                    ],
                    "default": "global",
                    "description": "Political engine only. The left/right axis is not portable between countries."
                  }
                }
              }
            }
          }
        },
        "tags": [
          "inshorts"
        ]
      }
    },
    "/v1/summarize": {
      "post": {
        "summary": "Thirty plain words a young child can follow, checked against the source",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The article text to analyze."
                  },
                  "include_quotes": {
                    "type": "boolean",
                    "default": false,
                    "description": "Count charged language inside quotation marks toward the score."
                  },
                  "market": {
                    "type": "string",
                    "enum": [
                      "global",
                      "us",
                      "uk",
                      "in"
                    ],
                    "default": "global",
                    "description": "Political engine only. The left/right axis is not portable between countries."
                  }
                }
              }
            }
          }
        },
        "tags": [
          "summarize"
        ]
      }
    },
    "/v1/media/describe": {
      "post": {
        "summary": "Describe an image or video frame and read its framing",
        "tags": [
          "media"
        ]
      }
    },
    "/v1/bias/all": {
      "post": {
        "summary": "All six indicators in one call",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The article text to analyze."
                  },
                  "include_quotes": {
                    "type": "boolean",
                    "default": false,
                    "description": "Count charged language inside quotation marks toward the score."
                  },
                  "market": {
                    "type": "string",
                    "enum": [
                      "global",
                      "us",
                      "uk",
                      "in"
                    ],
                    "default": "global",
                    "description": "Political engine only. The left/right axis is not portable between countries."
                  }
                }
              }
            }
          }
        },
        "tags": [
          "bias"
        ]
      }
    },
    "/v1/fidelity": {
      "post": {
        "summary": "Check whether a headline’s claims are supported by its body",
        "tags": [
          "fidelity"
        ]
      }
    },
    "/v1/omissions": {
      "post": {
        "summary": "Facts corroborated by other outlets but absent from this article",
        "tags": [
          "omission"
        ]
      }
    },
    "/v1/articles": {
      "get": {
        "summary": "Neutralized article feed",
        "tags": [
          "corpus"
        ]
      }
    },
    "/v1/articles/{id}": {
      "get": {
        "summary": "One article with full indicator payloads",
        "tags": [
          "corpus"
        ]
      }
    },
    "/v1/clusters/{id}": {
      "get": {
        "summary": "One event across every outlet, with the spread",
        "tags": [
          "corpus"
        ]
      }
    },
    "/v1/pricing": {
      "get": {
        "summary": "Plans, products and limits",
        "tags": [
          "account"
        ]
      }
    },
    "/v1/usage": {
      "get": {
        "summary": "Current month usage for the calling account",
        "tags": [
          "account"
        ]
      }
    },
    "/v1/bias/sentiment": {
      "post": {
        "summary": "sentiment indicator",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The article text to analyze."
                  },
                  "include_quotes": {
                    "type": "boolean",
                    "default": false,
                    "description": "Count charged language inside quotation marks toward the score."
                  },
                  "market": {
                    "type": "string",
                    "enum": [
                      "global",
                      "us",
                      "uk",
                      "in"
                    ],
                    "default": "global",
                    "description": "Political engine only. The left/right axis is not portable between countries."
                  }
                }
              }
            }
          }
        },
        "tags": [
          "bias"
        ]
      }
    },
    "/v1/bias/jingoistic": {
      "post": {
        "summary": "jingoistic indicator",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The article text to analyze."
                  },
                  "include_quotes": {
                    "type": "boolean",
                    "default": false,
                    "description": "Count charged language inside quotation marks toward the score."
                  },
                  "market": {
                    "type": "string",
                    "enum": [
                      "global",
                      "us",
                      "uk",
                      "in"
                    ],
                    "default": "global",
                    "description": "Political engine only. The left/right axis is not portable between countries."
                  }
                }
              }
            }
          }
        },
        "tags": [
          "bias"
        ]
      }
    },
    "/v1/bias/religious": {
      "post": {
        "summary": "religious indicator",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The article text to analyze."
                  },
                  "include_quotes": {
                    "type": "boolean",
                    "default": false,
                    "description": "Count charged language inside quotation marks toward the score."
                  },
                  "market": {
                    "type": "string",
                    "enum": [
                      "global",
                      "us",
                      "uk",
                      "in"
                    ],
                    "default": "global",
                    "description": "Political engine only. The left/right axis is not portable between countries."
                  }
                }
              }
            }
          }
        },
        "tags": [
          "bias"
        ]
      }
    },
    "/v1/bias/political": {
      "post": {
        "summary": "political indicator",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The article text to analyze."
                  },
                  "include_quotes": {
                    "type": "boolean",
                    "default": false,
                    "description": "Count charged language inside quotation marks toward the score."
                  },
                  "market": {
                    "type": "string",
                    "enum": [
                      "global",
                      "us",
                      "uk",
                      "in"
                    ],
                    "default": "global",
                    "description": "Political engine only. The left/right axis is not portable between countries."
                  }
                }
              }
            }
          }
        },
        "tags": [
          "bias"
        ]
      }
    },
    "/v1/bias/generational": {
      "post": {
        "summary": "generational indicator",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The article text to analyze."
                  },
                  "include_quotes": {
                    "type": "boolean",
                    "default": false,
                    "description": "Count charged language inside quotation marks toward the score."
                  },
                  "market": {
                    "type": "string",
                    "enum": [
                      "global",
                      "us",
                      "uk",
                      "in"
                    ],
                    "default": "global",
                    "description": "Political engine only. The left/right axis is not portable between countries."
                  }
                }
              }
            }
          }
        },
        "tags": [
          "bias"
        ]
      }
    },
    "/v1/bias/gender": {
      "post": {
        "summary": "gender indicator",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The article text to analyze."
                  },
                  "include_quotes": {
                    "type": "boolean",
                    "default": false,
                    "description": "Count charged language inside quotation marks toward the score."
                  },
                  "market": {
                    "type": "string",
                    "enum": [
                      "global",
                      "us",
                      "uk",
                      "in"
                    ],
                    "default": "global",
                    "description": "Political engine only. The left/right axis is not portable between countries."
                  }
                }
              }
            }
          }
        },
        "tags": [
          "bias"
        ]
      }
    },
    "/v1/bias/mood": {
      "post": {
        "summary": "mood indicator",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The article text to analyze."
                  },
                  "include_quotes": {
                    "type": "boolean",
                    "default": false,
                    "description": "Count charged language inside quotation marks toward the score."
                  },
                  "market": {
                    "type": "string",
                    "enum": [
                      "global",
                      "us",
                      "uk",
                      "in"
                    ],
                    "default": "global",
                    "description": "Political engine only. The left/right axis is not portable between countries."
                  }
                }
              }
            }
          }
        },
        "tags": [
          "bias"
        ]
      }
    }
  }
}