% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/reference.R
\name{aemo_participants}
\alias{aemo_participants}
\title{NEM market participants and their registered DUIDs}
\source{
AEMO NEMweb MMSDM archive, PARTICIPANT and
DUDETAILSUMMARY tables. AEMO Copyright Permissions Notice.
}
\usage{
aemo_participants()
}
\value{
An \code{aemo_tbl} with columns \code{participantid},
\code{participantclassid} (e.g. \code{GENERATOR}, \code{LOAD}, \code{TRADER}),
\code{name} (company name), \code{duid}, \code{stationid}, \code{regionid},
\code{dispatchtype}, \code{schedule_type}. Rows are one per
participant-DUID combination. If MMSDM is unreachable,
returns an empty table with a warning.
}
\description{
Returns a mapping of NEM market participants (companies) to
their registered Dispatchable Unit Identifiers (DUIDs), joined
from the MMSDM \code{PARTICIPANT} and \code{DUDETAILSUMMARY} tables.
Use this for corporate ownership analysis: rolling up generator
output or bids from DUID-level data to the company level.
}
\examples{
\donttest{
op <- options(aemo.cache_dir = tempdir())
try({
  pt <- aemo_participants()
  # DUIDs owned by AGL
  pt[grepl("AGL", pt$name, ignore.case = TRUE), ]
})
options(op)
}
}
\seealso{
\code{\link[=aemo_units]{aemo_units()}} for DUID-level registry without
participant mapping.

Other reference: 
\code{\link{aemo_dlf}()},
\code{\link{aemo_interconnectors}()},
\code{\link{aemo_mlf}()},
\code{\link{aemo_price_caps}()},
\code{\link{aemo_regions}()},
\code{\link{aemo_settlement}()},
\code{\link{aemo_snapshot}()},
\code{\link{aemo_units}()}
}
\concept{reference}
