{
  "openapi": "3.0.1",
  "info": {
    "title": "Maven Central Artifact Versions, Dates and Upgrade Check",
    "description": "Java and JVM dependency checks from the official Maven Central search index: every published version with its UTC release date, the newest release derived from those dates, how old a pinned version is and how many versions it is behind. Batch coordinates, keyword, group and class search.",
    "version": "0.1",
    "x-build-id": "64cnpBBWPa2j7z0cb"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yadroo~maven-central-artifact-versions/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yadroo-maven-central-artifact-versions",
        "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/yadroo~maven-central-artifact-versions/runs": {
      "post": {
        "operationId": "runs-sync-yadroo-maven-central-artifact-versions",
        "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/yadroo~maven-central-artifact-versions/run-sync": {
      "post": {
        "operationId": "run-sync-yadroo-maven-central-artifact-versions",
        "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": {
          "coordinates": {
            "title": "Maven coordinates",
            "maxItems": 50,
            "type": "array",
            "description": "Artifacts to check, one per line, as `groupId:artifactId`, or `groupId:artifactId:version` to compare a pinned version with the newest release. Surrounding spaces, stray quotes and a trailing `:jar` or `@aar` are ignored. One dataset row per artifact. A coordinate Maven Central does not hold comes back as a row with `found: false` instead of disappearing; a value that cannot be a coordinate at all (an artifact name without a group) stops the run and names the expected shape.",
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "Search queries",
            "maxItems": 10,
            "type": "array",
            "description": "Free-text searches over the same index, for artifacts whose coordinates you do not know. Plain words search names and descriptions (`json parser`, `jdbc postgres`). Index qualifiers are passed on exactly as typed: `g:com.squareup.okhttp3` for a whole group, `a:okhttp` for an artifact id in any group, `tags:kotlin`, `c:ObjectMapper` for a simple class name, `fc:com.fasterxml.jackson.databind.ObjectMapper`. Each query returns up to `searchMaxItems` artifacts; an artifact found twice is one row.",
            "items": {
              "type": "string"
            }
          },
          "searchMaxItems": {
            "title": "Max artifacts per search query",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Top N artifacts of each search query, ranked by the index itself. Every artifact kept is a billed row, so a wide word search with a high value here is the expensive way to use this actor.",
            "default": 20
          },
          "searchHydrate": {
            "title": "Read the full version history of search hits",
            "type": "boolean",
            "description": "Off (default): a search hit is written from its index entry - group, artifact id, the index's own latest version, the number of versions and the date of that entry - and the row says `versionsSource: \"index\"`. On: each hit also gets its version list read, so it carries the same dated history and derived newest release as a coordinate (`versionsSource: \"history\"`), at one extra request per hit. Coordinates always get the full history, whatever this is set to.",
            "default": false
          },
          "includePrereleases": {
            "title": "Count prereleases as the newest release",
            "type": "boolean",
            "description": "Off (default): alpha, beta, RC, milestone (`-M3`), snapshot, dev and preview versions stay out of `latestVersion`, `versionsBehind` and `isLatest`, so an upgrade check never points at a beta; they stay visible in `latestAnyVersion` and in `recentVersions` with `prerelease: true`. On: the newest release wins whatever it is called. The index's own latest-version field often names an old prerelease, which is why a read history derives the newest release from release dates.",
            "default": false
          },
          "packaging": {
            "title": "Packaging",
            "type": "string",
            "description": "Keep only versions published with this packaging - `aar` for Android libraries, `pom` for parent and bill-of-materials artifacts. Case and a leading dot are ignored, and any packaging the source uses is accepted, not only the suggested ones. Empty (default) = every packaging; each row reports the packaging of its newest release in `packaging`."
          },
          "releasedSince": {
            "title": "Newest release on or after (YYYY-MM-DD)",
            "type": "string",
            "description": "Keep only artifacts whose newest release is on or after this UTC date - the filter for \"what is still alive\" and \"what moved since our last audit\". `recentVersions` then lists only versions released inside the window and `versionsInWindow` counts them. Artifacts filtered out are counted in the run status and in SUMMARY, and are neither written nor billed."
          },
          "versionsLimit": {
            "title": "Versions listed per artifact",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "How many of the most recent versions go into the `recentVersions` array of a row, each with its version string, UTC release date, packaging and prerelease flag. 0 leaves the array out and keeps rows small; the counted fields (`versionCount`, `versionsBehind`, `releasesLast365Days`) are computed from the whole scanned history either way.",
            "default": 10
          },
          "maxVersionsScanned": {
            "title": "Maximum versions to read per artifact",
            "minimum": 50,
            "maximum": 2000,
            "type": "integer",
            "description": "How deep into an artifact's history one run reads, newest first, in pages of 200 versions. Two pages cover all but the busiest artifacts: a library with 150 releases is one request, while an SDK that publishes daily can have well over a thousand versions. Raising this costs requests and time and changes only the dated history fields. When the cap cuts a history, the row says so in `historyTruncated`.",
            "default": 400
          },
          "onlyNew": {
            "title": "Skip artifacts whose newest version has not changed",
            "type": "boolean",
            "description": "Remember the newest version of every artifact this run writes, and on the next run of the same actor or task write only the artifacts whose newest version (prereleases included) changed since then. Made for a schedule: each run then holds exactly the dependency updates that appeared since the last one, which is what a CI check or a dependency dashboard needs. The first run writes everything. The memory is kept per actor or task, so two tasks watching two stacks do not interfere.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum rows",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Hard cap on the rows this run writes, and so on what it costs. Coordinates are written before search hits, in the order you gave them. The run also stops at the maximum cost per run you set on the platform.",
            "default": 50
          },
          "fields": {
            "title": "Only these columns",
            "type": "array",
            "description": "Keep only the named columns, in the order given - for example `id, pinnedVersion, latestVersion, versionsBehind`. Empty = every column. `id`, `groupId`, `artifactId`, `found`, `versionsSource`, `url` and `fetchedAt` are always present; name one of them here and it moves to the position you gave it. Unknown names are reported in the run's status message instead of being dropped in silence.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}