{
  "openapi": "3.0.1",
  "info": {
    "title": "NL Jurisprudentie Monitor per Rechtsgebied",
    "description": "Monitor nieuwe rechtspraak-uitspraken per rechtsgebied, met wijzigingsdetectie en Hoge Raad-landmark-signalen.",
    "version": "0.1",
    "x-build-id": "NaSAcp3ryejoQeYkf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/codeclouds~nl-jurisprudentie-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-codeclouds-nl-jurisprudentie-monitor",
        "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/codeclouds~nl-jurisprudentie-monitor/runs": {
      "post": {
        "operationId": "runs-sync-codeclouds-nl-jurisprudentie-monitor",
        "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/codeclouds~nl-jurisprudentie-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-codeclouds-nl-jurisprudentie-monitor",
        "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": {
          "rechtsgebieden": {
            "title": "Rechtsgebieden",
            "type": "array",
            "description": "Filter by legal area. Only rulings from selected areas are returned. Leave empty to include all areas.",
            "items": {
              "type": "string",
              "enum": [
                "Civiel recht",
                "Strafrecht",
                "Bestuursrecht",
                "Belastingrecht",
                "Vakantietoelichten- en toezichtsrecht",
                "Vreemdelingenrecht",
                "Omgevingsrecht",
                "Socialezekerheidsrecht",
                "Handelsrecht",
                "Intellectueel eigendomsrecht",
                "Personen- en familierecht",
                "Arbeidsrecht",
                "Insolventierecht",
                "Verbintenissenrecht",
                "Ambtenarenrecht",
                "Europees recht",
                "Internationaal publiekrecht"
              ],
              "enumTitles": [
                "Civiel recht",
                "Strafrecht",
                "Bestuursrecht",
                "Belastingrecht",
                "Vakantietoelichten- en toezichtsrecht",
                "Vreemdelingenrecht",
                "Omgevingsrecht",
                "Socialezekerheidsrecht",
                "Handelsrecht",
                "Intellectueel eigendomsrecht",
                "Personen- en familierecht",
                "Arbeidsrecht",
                "Insolventierecht",
                "Verbintenissenrecht",
                "Ambtenarenrecht",
                "Europees recht",
                "Internationaal publiekrecht"
              ]
            },
            "default": []
          },
          "instantieTypes": {
            "title": "Instantie Types",
            "type": "array",
            "description": "Filter by court instance level.",
            "items": {
              "type": "string",
              "enum": [
                "Hoge Raad",
                "Gerechtshof",
                "Rechtbank"
              ],
              "enumTitles": [
                "Hoge Raad",
                "Gerechtshof",
                "Rechtbank"
              ]
            },
            "default": [
              "Hoge Raad",
              "Gerechtshof",
              "Rechtbank"
            ]
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of rulings to return (1-500). Each result requires an extra content fetch, so keep this reasonable.",
            "default": 100
          },
          "alleenNieuweSindsVorigeRun": {
            "title": "Only New Since Last Run",
            "type": "boolean",
            "description": "When enabled, only return rulings modified since the previous run, and trigger alerts for new rulings in selected areas. Ideal for scheduled monitoring. Default is true, so this behavior is already active on an ad-hoc call unless explicitly disabled. On the very first call (no stored baseline yet), it falls back to a 30-day lookback window rather than returning nothing. Uses a shared, persistent key-value store baseline that is also updated by scheduled monitoring runs — an ad-hoc call in between can shift that baseline forward.",
            "default": true
          },
          "trackVolumeTrend": {
            "title": "Track ruling volume trend per legal area",
            "type": "boolean",
            "description": "Compares the number of rulings delivered per legal area against the previous run (via the actor's key-value store). New charged event volumetrend-signaal ($0.01), only when a previous count is actually known for that legal area.",
            "default": false
          },
          "haalVolledigeTekstOp": {
            "title": "Fetch full ruling text",
            "type": "boolean",
            "description": "Extracts the full ruling text from the same content response already fetched for the metadata (no extra API call). New charged event volledige-tekst-record ($0.015), only when text is actually found.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}