% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/de_any_dataset.R
\name{de_any_dataset}
\alias{de_any_dataset}
\title{Pull any Delaware Open Data dataset from a Socrata JSON endpoint}
\usage{
de_any_dataset(
  json_link,
  limit = 10000,
  timeout_sec = 30,
  clean_names = TRUE,
  coerce_types = TRUE
)
}
\arguments{
\item{json_link}{A single Socrata dataset JSON endpoint URL, such as
`"https://data.delaware.gov/resource/yhim-4378.json"`.}

\item{limit}{Number of rows to retrieve. Defaults to 10,000.}

\item{timeout_sec}{Request timeout in seconds. Defaults to 30.}

\item{clean_names}{Logical. If `TRUE`, column names are converted to
snake_case using [janitor::clean_names()]. Defaults to `TRUE`.}

\item{coerce_types}{Logical. If `TRUE`, the package attempts lightweight,
heuristic-based type coercion after downloading the data. Columns are
converted only when at least 95 percent of non-missing values can be parsed
as the target type. This helps avoid unsafe conversions when source data are
inconsistent.}
}
\value{
A tibble containing rows from the requested Delaware Open Data
  endpoint.
}
\description{
Downloads data from any Delaware Open Data Socrata JSON endpoint and returns
the result as a tibble. This function is useful for datasets that are not
included in the curated catalog returned by [de_list_datasets()].
}
\details{
Delaware Open Data datasets have Socrata JSON endpoints that usually follow
this pattern:

`https://data.delaware.gov/resource/<dataset_uid>.json`

For example, a dataset with the Socrata UID `"yhim-4378"` would have the JSON
endpoint:

`https://data.delaware.gov/resource/yhim-4378.json`

Users can find a dataset's UID from the Delaware Open Data Portal URL, the API
documentation page for the dataset, or the output of [de_list_datasets()].


`de_any_dataset()` bypasses the package catalog and sends a request directly
to the supplied JSON endpoint. Unlike [de_pull_dataset()], it does not look
up defaults such as catalog keys, date fields, or default ordering.

This function is intended for direct endpoint access. For catalog-based
workflows using readable keys or Socrata UIDs, use [de_pull_dataset()].
}
\examples{
# Examples that hit the live Delaware Open Data API are guarded so CRAN
# checks do not fail when the network is unavailable or slow.
if (interactive() && curl::has_internet()) {
  # Build a JSON endpoint from a Socrata UID
  uid <- "yhim-4378"
  endpoint <- paste0("https://data.delaware.gov/resource/", uid, ".json")

  out <- try(de_any_dataset(endpoint, limit = 3), silent = TRUE)
  if (!inherits(out, "try-error")) {
    head(out)
  }
}

}
