{
  "openapi": "3.0.1",
  "info": {
    "title": "German Case Law Search & Ruling Alerts (BGH, BVerfG, BAG)",
    "description": "$1 per 1,000 decisions. Search German federal court decisions (Rechtsprechung, Urteile) of BGH, BVerfG, BVerwG, BFH, BAG, BSG and BPatG by keyword, court, date, ECLI or file number via the official NeuRIS API. Optional full text and alerts for new rulings.",
    "version": "0.1",
    "x-build-id": "DF4L3l2Gq5mh0zJKW"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/orange_briefcase_hrj~german-case-law-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-orange_briefcase_hrj-german-case-law-search",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/orange_briefcase_hrj~german-case-law-search/runs": {
      "post": {
        "operationId": "runs-sync-orange_briefcase_hrj-german-case-law-search",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/orange_briefcase_hrj~german-case-law-search/run-sync": {
      "post": {
        "operationId": "run-sync-orange_briefcase_hrj-german-case-law-search",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "jurisdictions": {
            "title": "Jurisdictions",
            "type": "array",
            "description": "Countries to search. Germany (DE, federal courts) is available now; France and the Netherlands are planned.",
            "items": {
              "type": "string",
              "enum": [
                "DE"
              ],
              "enumTitles": [
                "Germany (federal courts)"
              ]
            },
            "default": [
              "DE"
            ]
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "lookup"
            ],
            "type": "string",
            "description": "Search by keywords and filters, or look up specific decisions by ECLI / file number. Leave empty to choose automatically."
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Full-text search in German. All words must appear in the decision, e.g. \"Mietminderung Schimmel\" or \"Datenschutz Schadensersatz\"."
          },
          "courts": {
            "title": "Courts",
            "type": "array",
            "description": "Limit to these courts. Empty = all federal courts.",
            "items": {
              "type": "string",
              "enum": [
                "BGH",
                "BVerfG",
                "BVerwG",
                "BFH",
                "BAG",
                "BSG",
                "BPatG"
              ],
              "enumTitles": [
                "BGH - Federal Court of Justice",
                "BVerfG - Federal Constitutional Court",
                "BVerwG - Federal Administrative Court",
                "BFH - Federal Finance Court",
                "BAG - Federal Labour Court",
                "BSG - Federal Social Court",
                "BPatG - Federal Patent Court"
              ]
            }
          },
          "decisionTypes": {
            "title": "Decision types",
            "type": "array",
            "description": "Judgments (Urteil), orders (Beschluss) or other types. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "judgment",
                "order",
                "other"
              ],
              "enumTitles": [
                "Judgment (Urteil)",
                "Order (Beschluss)",
                "Other"
              ]
            }
          },
          "dateFrom": {
            "title": "Decided on or after",
            "type": "string",
            "description": "Decision date from (YYYY-MM-DD)."
          },
          "dateTo": {
            "title": "Decided on or before",
            "type": "string",
            "description": "Decision date to (YYYY-MM-DD)."
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "newest",
              "oldest",
              "relevance"
            ],
            "type": "string",
            "description": "Order of results. Alert mode always uses newest first.",
            "default": "newest"
          },
          "eclis": {
            "title": "ECLIs (lookup)",
            "type": "array",
            "description": "European Case Law Identifiers, e.g. ECLI:DE:BGH:2016:130416UVIIIZR198.15.0",
            "items": {
              "type": "string"
            }
          },
          "fileNumbers": {
            "title": "File numbers / Aktenzeichen (lookup)",
            "type": "array",
            "description": "Court file numbers, e.g. VIII ZR 198/15. Add a single court above to narrow ambiguous numbers.",
            "items": {
              "type": "string"
            }
          },
          "includeFullText": {
            "title": "Include full text",
            "type": "boolean",
            "description": "Add headnote, operative part (Tenor), facts, reasons, norms cited and previous decisions. One extra API call per decision.",
            "default": false
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum decisions to save in this run (you pay per decision saved).",
            "default": 50
          },
          "onlyNew": {
            "title": "Only new decisions since last run (alert mode)",
            "type": "boolean",
            "description": "Schedule the Actor daily or weekly and get only decisions it has not returned before for this search. State is kept in a named key-value store.",
            "default": false
          },
          "alertWindowDays": {
            "title": "Alert window (days)",
            "minimum": 7,
            "maximum": 730,
            "type": "integer",
            "description": "In alert mode, check decisions dated within this many days (courts often publish weeks after the decision date).",
            "default": 90
          },
          "firstRunBaselineOnly": {
            "title": "First alert run: mark existing as seen",
            "type": "boolean",
            "description": "If on, the first alert run saves nothing and only records the current decisions, so later runs return just genuinely new rulings.",
            "default": false
          },
          "stateStoreName": {
            "title": "State store name",
            "type": "string",
            "description": "Named key-value store that remembers which decisions were already returned.",
            "default": "case-law-alerts-state"
          },
          "stateKey": {
            "title": "Alert name (state key)",
            "type": "string",
            "description": "Optional name for this alert. Defaults to a hash of the search, so different searches keep separate state."
          },
          "requestIntervalSecs": {
            "title": "Seconds between API requests",
            "minimum": 0.1,
            "maximum": 10,
            "type": "number",
            "description": "Politeness delay. The API allows 600 requests per minute per IP.",
            "default": 0.2
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}