DUTYRANK

NYC civil service lists by the numbers, 2026 edition: certifications, credits and how long lists last

Published
Last updated
Last checked against sources

By DutyRank. Independent; not affiliated with DCAS, MTA or NYS UCS. What changed

In this snapshot, 234 of 426 eligible citywide lists established since January 15, 2021 with a recorded certification had an almost-whole first block (54.9%). The measure counts referrals for consideration, not hires. It uses current open-competitive lists with at least 10 entries and the source window explained below.[D1][D2]

Data as of · Frozen .
View the current report · Download CSV tables

  1. 54.9% almost-whole first blocks. The first recorded block covers at least 97% of the current list’s entries for 234 of 426 open-competitive lists established since January 15, 2021.[D1][D2]
  2. 40.3% marked for provisional replacement. That is 7,518 of 18,635 distinct certification issues since January 1, 2020, not a count of workers replaced.[D2]
  3. 2.4% with veterans’ credit. The open-competitive snapshot contains 8,721 credited entries out of 359,037; a person can appear on more than one list.[D1]
  4. 1,473 exact four-year anniversaries. This is out of 1,494 established list groups; 229 groups have an extension date.[D1]
  5. A Police Officer coverage gap since . This is the latest certification date recorded for that title in this dataset, although NYPD reports later hiring.[D2][2]

“Almost whole” means a first recorded block covering at least 97% of the current Active entries. It does not mean the whole list was interviewed, hired or still available. Of 481 lists meeting the citywide filters, 426 have a matching recorded block; the percentage excludes the others.[D1][D2]

In this snapshot, smaller lists more often meet that definition: 67.4% in the smallest class, compared with 26.7% in the largest (n = 15 lists).[D1][D2]

Same-day blocks. On the first certification day, 68 of the 426 lists had more than one block. This edition takes the block with the lowest issue number. Taking the largest block of that day instead gives 245 of 426 (57.5%), and the 100–499 class moves from 52.1% to 56.9%. Under both rules, the share falls as lists get larger.[D1][D2]

Almost-whole first blocks by current list sizePercentage of lists with a matching recorded certification whose first block meets the threshold. Full values are in the table immediately after this chart.10–99 list entries67.4%100–499 list entries52.1%500–1,999 list entries46.6%2,000+ list entries26.7%DutyRank analysis · NYC Open DataSource updated 2026-10-16
Citywide cohort: lists, not people
Current sizeLists with a blockAlmost wholeShare
10–991359167.4%
100–4991889852.1%
500–1,999884146.6%
2,000+15426.7%

Download this table (CSV)

Five title lines, with their own cohort

For the five own-title-code groups below, 57 of 59 lists meet the threshold. This comparison uses earlier certification coverage and excludes the shared Public Safety Exam code. The live tracker can attribute that shared list separately to Traffic Enforcement and School Safety, so its summed title–list denominator is different.[D1][D2]

Own title codes; shared Public Safety Exam excluded
TitleWith a blockAlmost whole
Traffic Enforcement Agent1515
School Safety Agent1111
Correction Officer1313
Police Communications Technician1312
Environmental Police Officer76

Download this table (CSV)

Use the eligible-list guide to understand certification. These group comparisons cannot show how close an individual candidate is to appointment.

The provisional-replacement flag is “Yes” on 7,518 issues, “No” on 11,056, and missing on 61. The flagged share is 40.3%. An issue can involve several lists and many candidates; this is not the number of provisional employees removed or permanent appointments made.[D2]

A provisional appointment fills a competitive position when an appropriate list is unavailable. A later list creates a separate appointment process.[1]

Under Civil Service Law §65(3), a provisional appointment generally must end within 2 months after an appropriate list is established. An authorized waiver for disruption of essential services can extend that period to 4 months; §65(4) separately addresses inadequate or exhausted lists. The primer’s “up to 4 months” summary should therefore not be read as the ordinary deadline in every case.[4][1]

One count per certification issue; coverage since 2020
Replacement flagIssues
Yes7,518
No11,056
Not supplied61

Download this table (CSV)

These are credits already recorded in the snapshot, not an eligibility calculator. Receiving residency credit on one exam does not establish a right to it on another. The visible examples below describe list entries, not unique residents or veterans.[D1]

Residency credit

The published concentrations are in the titles below. Smaller cells and the exact citywide residency total are withheld so subtraction cannot reveal a suppressed group.[D1]

Recorded residency-credit sharesShare of current open-competitive entries with residency credit in each displayed title. Full values are in the table immediately after this chart.Sanitation Worker86.5%Firefighter71.4%Police Officer66.7%DutyRank analysis · NYC Open DataSource updated 2026-10-16
Residency credit: publishable title aggregates
TitleList entriesWith creditShare
Sanitation Worker31,30927,09286.5%
Firefighter20,68714,77771.4%
Police Officer40,32326,89066.7%

Download this table (CSV)

Veterans’ credit

The citywide total combines non-disabled and disabled-veteran categories. The table shows the 6 highest shares among titles with at least 500 list entries and sufficiently large credited and noncredited groups; the download contains the other publishable title aggregates.[D1]

Veterans’ credit: selected title examples
TitleList entriesWith creditShare
Environmental Police Officer1,9431397.2%
Firefighter20,6871,4377.0%
Police Officer40,3231,9824.9%
Oiler1,397684.9%
Deputy City Sheriff2,6921284.8%
Correction Officer11,7774924.2%

Download this table (CSV)

The snapshot includes 1,582 list groups, of which 1,494 have an establishment date. Exactly 1,473 have an anniversary four calendar years later. This comparison uses calendar dates, including leap years, rather than rounding a number of days.[D1]

Date-field coverage across current Active list groups
Recorded featureList groupsHow to read it
An extension date229Anniversary alone is not enough to identify a list’s end date.
Published, no establishment date88The fields distinguish publication from establishment; a missing field is not a promised future action.
No publication date1,263The first-block calculation uses establishment as its fallback cutoff.

Download this table (CSV)

A record in Active does not prove that its candidate remains available or that the list can legally be used today. The data does not supply a termination flag. Read how list duration and extensions work.[D1][1]

The chart counts distinct issue numbers in each event year. The 2026 bar stops at this snapshot and must not be compared as a full year with the preceding bars. A larger count means more recorded certification issues, not necessarily more hiring.[D2]

The chart starts in 2017. The source also holds 1 issue dated 2007 and 246 issues dated 2016, plus 1 without a date. These are outside the chart: the earlier years are not full-year coverage.[D2]

Distinct certification issues by yearAnnual event counts with the final snapshot year explicitly marked year to date. Full values are in the table immediately after this chart.20172,38020182,93320192,89420201,17020212,18520223,45420233,47620243,58920252,45320262,308 · YTDDutyRank analysis · NYC Open DataSource updated 2026-10-16
Full years and the partial snapshot year
YearIssuesCoverage
20172,380Full-year interval; source coverage may vary
20182,933Full-year interval; source coverage may vary
20192,894Full-year interval; source coverage may vary
20201,170Full-year interval; source coverage may vary
20212,185Full-year interval; source coverage may vary
20223,454Full-year interval; source coverage may vary
20233,476Full-year interval; source coverage may vary
20243,589Full-year interval; source coverage may vary
20252,453Full-year interval; source coverage may vary
20262,308Through (YTD)

Download this table (CSV)

The latest recorded Police Officer certification is . The source cannot establish why later certifications are missing, and the gap does not establish that NYPD stopped hiring.[D2]

NYPD’s later City Council testimony reports 2,041 hires in 2022, 2,356 hires in 2023 and 2,631 hires in 2024. Those figures come from a different reporting source and are not inferred from certification rows.[2]

  • Who was hired. A certification is a referral for consideration. Repeated appearances are not repeated hires.
  • How many people are still waiting. Active retains entries that may be off-side; one person can appear on several lists.
  • The pass rate. These data do not supply all test takers as a denominator.
  • Your appointment date or chance. No personal list-number inclusion, certification depth or forecast is published.
  • Time from test to list. These datasets do not supply the necessary test date for each list.

DCAS publishes other reports with different measures, including appointments and removals. This report describes the two Open Data datasets and does not claim that those other outcomes are unreported. See the official reporting links in Sources.[3]

Retrieved from to . Each dataset’s update timestamp was unchanged between the checks before and after retrieval. This freezes one observed state; it does not guarantee the publisher will retain that state.

[D1] Civil Service List (Active) · vx8i-nprf
Source rows updated . Dataset metadata.
[D2] Civil Service List Certification · a9md-ynri
Source rows updated . Dataset metadata.

Which lists and which first block?

Current open-competitive lists established on or after 2021-01-15, with at least 10 entries; certifications queried from 2021-01-01. Current open-competitive lists under own codes 71651, 60817, 70410, 71012 and 70811, each with at least 10 entries; certifications since 2018. Shared code 33333 is excluded.

The calculation calls the same firstCertification function as the eligible-list tracker. It selects the earliest matching block on or after publication, or establishment when publication is missing. Same-day ties use issue number, agency and title. Within each block, distinct list numbers are counted; the share of current Active entries is capped at 100%.[D1][D2]

Exam numbers are normalized to four digits and joined with title codes. List numbers can be fractional, so the list’s size is a row count, not its highest number. Old certifications before the list cutoff are excluded.

Same-day ties matter for 68 of 426 lists. Under this edition’s rule (lowest issue number first), 234 of 426 lists are almost whole (54.9%). Taking the largest block of the first day instead gives 245 (57.5%). The sensitivity was computed on from this edition’s own cached inputs, whose fingerprints match the query receipts below.[D1][D2]

Data-quality flags

  • Special Officer exam 5324. It has 921 entries, published , with no establishment date. The shared Public Safety Exam list 5325 (code 33333) has the same number of entries and was established the same day. It may be the same list under a second title code; the source does not say. Exam 5324 is counted in the Active totals and in the Special Officer row of credits-by-title.csv. It is outside the first-certification cohort, which needs an establishment date.[D1]
  • group_no. The data dictionary describes it as the list’s certification order.[5] In the Active dataset it is “000” on 404,404 entries in 439 title codes; “001” on 2,453 entries in 5 title codes. This report does not use the field: entries in a non-“000” group count toward the same list as the rest of that exam.[D1]
  • Police Officer request_date. In 3 of 12 Police Officer certification issues with a request date (21,610 of 145,343 rows), the recorded request date is later than the certification date. This report does not use request dates.[D2]

These flags come from aggregate queries run on against the same source updates as this edition.

Active entries and title codes by group_no, citywide.

https://data.cityofnewyork.us/resource/vx8i-nprf.json?%24select=group_no%2Ccount%28*%29+AS+n%2Ccount%28distinct+list_title_code%29+AS+titles&%24group=group_no&%24order=group_no&%24limit=100

SHA-256 of the validated rows, re-serialized as indented JSON (not the raw HTTP response): d67f64c4312a5acd4951bddc24d9375a4726c423ce9919508203b6d65c05cd3c

Police Officer certification rows and issues whose request_date is later than cert_date.

https://data.cityofnewyork.us/resource/a9md-ynri.json?%24select=count%28*%29+AS+n%2Ccount%28distinct+cert_issue_no%29+AS+issues&%24where=list_title_code+%3D+%2770210%27+AND+request_date+%3E+cert_date&%24limit=10

SHA-256 of the validated rows, re-serialized as indented JSON (not the raw HTTP response): 00aaaf0fc49190207dcba42a0f077b3f40a5508c3bc8d4af26ef8ad32183b524

Police Officer certification rows and issues with any request_date.

https://data.cityofnewyork.us/resource/a9md-ynri.json?%24select=count%28*%29+AS+n%2Ccount%28distinct+cert_issue_no%29+AS+issues&%24where=list_title_code+%3D+%2770210%27+AND+request_date+IS+NOT+NULL&%24limit=10

SHA-256 of the validated rows, re-serialized as indented JSON (not the raw HTTP response): aaa0b43f395b2b2f2d931c9c4dc8cc49201553b16796e30018b421544bc98103

Biases and privacy

  • Current Active lists are a surviving snapshot, not every list ever created.
  • The first block is the first recorded in the queried source window, not a guarantee of complete historical coverage.
  • Current list size can differ from its size when a historical block was issued.
  • List entries are not unique people, unappointed candidates or hires.
  • Certification issues are not appointments and can include several lists.
  • No score distributions, individual list-number observations, per-list partial shares or waiting-time forecasts are published.
  • Anniversary and extension fields do not prove a list’s current legal status.
  • Rows without a year and the partial 2016 coverage are excluded from the annual chart, which begins in 2017.

Credits combine veteran categories and publish only titles with at least 500 entries and at least 10 credit and 10 noncredit entries. An additional veteran title is withheld if subtracting published rows from the citywide veteran total would reveal a group smaller than 10. No exact citywide residency total or suppressed residual is published; raw aggregate caches stay outside public artifacts.

Provisional counts group by issue number and reject conflicting flags. A published credit group must have at least 10 credited and 10 noncredited entries. The raw intermediate caches are not part of the public downloads.

Exact aggregate queries

These links reproduce the query definitions against the live source. Their results may differ after a refresh; use the frozen CSVs for this edition’s values.

Current list groups and their sizes; no candidate-level columns.

https://data.cityofnewyork.us/resource/vx8i-nprf.json?%24select=list_title_code%2Clist_title_desc%2Cexam_no%2Clist_agency_desc%2Cpublished_date%2Cestablished_date%2Canniversary_date%2Cextension_date%2Ccount%28*%29+AS+n&%24group=list_title_code%2Clist_title_desc%2Cexam_no%2Clist_agency_desc%2Cpublished_date%2Cestablished_date%2Canniversary_date%2Cextension_date&%24limit=50000

Retrieved ; completed .

SHA-256 of the validated rows, re-serialized as indented JSON (not the raw HTTP response): 0b3d174dd82f5fe463ae2d786261ad51003404db128c71b0c9bdbf8c7ba6a978

Certification blocks since 2021, counting distinct list numbers within each block.

https://data.cityofnewyork.us/resource/a9md-ynri.json?%24select=list_title_code%2Cexam_no%2Ccert_issue_no%2Clist_agency_desc%2Cmin%28cert_date%29+AS+first_cert_date%2Ccount%28distinct+list_no%29+AS+names&%24where=cert_date+%3E%3D+%272021-01-01%27&%24group=list_title_code%2Cexam_no%2Ccert_issue_no%2Clist_agency_desc&%24limit=50000

Retrieved ; completed .

SHA-256 of the validated rows, re-serialized as indented JSON (not the raw HTTP response): 63a3628de844b816e3ae341cdbf4d3c2b00a1f5d1a8be2d04357b9380dba3fc6

Earlier coverage for the five own-title-code comparison; shared Public Safety Exam code 33333 is excluded.

https://data.cityofnewyork.us/resource/a9md-ynri.json?%24select=list_title_code%2Cexam_no%2Ccert_issue_no%2Clist_agency_desc%2Cmin%28cert_date%29+AS+first_cert_date%2Ccount%28distinct+list_no%29+AS+names&%24where=list_title_code+in+%28%2771651%27%2C%2760817%27%2C%2770410%27%2C%2771012%27%2C%2770811%27%29+AND+cert_date+%3E%3D+%272018-01-01%27&%24group=list_title_code%2Cexam_no%2Ccert_issue_no%2Clist_agency_desc&%24limit=50000

Retrieved ; completed .

SHA-256 of the validated rows, re-serialized as indented JSON (not the raw HTTP response): 07349e3c872610b88f2b47aa28106ac7ab8b8a553f91ace96ec0698d6353999b

Residency-credit categories aggregated by open-competitive title; small cells are withheld from publication.

https://data.cityofnewyork.us/resource/vx8i-nprf.json?%24select=list_title_code%2Clist_title_desc%2Cresidency_credit%2Ccount%28*%29+AS+n&%24where=list_agency_desc+%3D+%27OPEN+COMPETITIVE%27&%24group=list_title_code%2Clist_title_desc%2Cresidency_credit&%24limit=50000

Retrieved ; completed .

SHA-256 of the validated rows, re-serialized as indented JSON (not the raw HTTP response): df6e327664f8d622c93f7a93df5a091d4a78ab8124acbe73022f1983e84b646c

Veteran and disabled-veteran credit categories, combined before publication.

https://data.cityofnewyork.us/resource/vx8i-nprf.json?%24select=list_title_code%2Clist_title_desc%2Cveteran_credit%2Ccount%28*%29+AS+n&%24where=list_agency_desc+%3D+%27OPEN+COMPETITIVE%27&%24group=list_title_code%2Clist_title_desc%2Cveteran_credit&%24limit=50000

Retrieved ; completed .

SHA-256 of the validated rows, re-serialized as indented JSON (not the raw HTTP response): 4de5c69115798933a306009c7f96d9f960db60dc52c10dfe6c1bb6466ec9fc25

One aggregate per certification issue, checking whether replacement flags conflict.

https://data.cityofnewyork.us/resource/a9md-ynri.json?%24select=cert_issue_no%2Cmin%28provisional_replacement%29+AS+min_flag%2Cmax%28provisional_replacement%29+AS+max_flag&%24where=cert_date+%3E%3D+%272020-01-01%27&%24group=cert_issue_no&%24limit=50000

Retrieved ; completed .

SHA-256 of the validated rows, re-serialized as indented JSON (not the raw HTTP response): c973b3e9793261cd0f4cb4a56698ebb72459de051148ecc5e8673940fb9b9466

Distinct certification issues by event year; charts begin in 2017 and mark the snapshot year as partial.

https://data.cityofnewyork.us/resource/a9md-ynri.json?%24select=date_extract_y%28cert_date%29+AS+yr%2Ccount%28distinct+cert_issue_no%29+AS+certs%2Ccount%28distinct+list_title_code%29+AS+titles%2Cmin%28cert_date%29+AS+first_event%2Cmax%28cert_date%29+AS+last_event&%24group=yr&%24order=yr&%24limit=100

Retrieved ; completed .

SHA-256 of the validated rows, re-serialized as indented JSON (not the raw HTTP response): eb9e5b8f6b0e5884e9f90dbc17b52bb815ad6ffca092c73ae698565d00be5940

Police Officer certification coverage across all available event dates.

https://data.cityofnewyork.us/resource/a9md-ynri.json?%24select=count%28distinct+cert_issue_no%29+AS+certs%2Cmin%28cert_date%29+AS+first_event%2Cmax%28cert_date%29+AS+last_event&%24where=list_title_code+%3D+%2770210%27&%24limit=100

Retrieved ; completed .

SHA-256 of the validated rows, re-serialized as indented JSON (not the raw HTTP response): 0b2fdc62d980a6111696072bda69fa9f4f2f904aea1f1d3a1b0b11a32c36be25

Counts of lists, list entries and certification issues are different units. Each file below defines its columns and source calculation.

whole-list-by-size.csv
Almost-whole first certification by list size
Column / typeDefinitionSource or calculation
size_band
string
Current list-size class, in Active entries.Active: count(*)
eligible_lists
integer
Current eligible list groups in this cohort; each contains at least 10 entries.Active: grouped count(*) and cohort filters
certified_lists
integer
Eligible groups with a matching recorded certification on or after publication, or on or after establishment if publication is absent.Active joined to Certification by title code and padded exam number
almost_whole_lists
integer
Groups whose chronologically first matching block contains at least 97% of current Active entries.Canonical firstCertification; distinct list_no within each block
almost_whole_percent
decimal
100 × almost_whole_lists ÷ certified_lists, rounded to two decimal places; blank if no observations.DutyRank calculation
whole-list-five-titles.csv
Almost-whole first certification for five own title codes
Column / typeDefinitionSource or calculation
title_code
string
DCAS title code; shared Public Safety Exam code 33333 is excluded.Active.list_title_code
title_name
string
Title description from the source.Active.list_title_desc
eligible_lists
integer
Current eligible list groups in this cohort; each contains at least 10 entries.Active: grouped count(*) and cohort filters
certified_lists
integer
Eligible groups with a matching recorded certification on or after publication, or on or after establishment if publication is absent.Active joined to Certification by title code and padded exam number
almost_whole_lists
integer
Groups whose chronologically first matching block contains at least 97% of current Active entries.Canonical firstCertification; distinct list_no within each block
almost_whole_percent
decimal
100 × almost_whole_lists ÷ certified_lists, rounded to two decimal places; blank if no observations.DutyRank calculation
provisional-certifications.csv
Provisional replacement flags since 2020
Column / typeDefinitionSource or calculation
replacement_flag
string
Y, N or unknown; conflicting flags stop publication.Certification.provisional_replacement
certification_issues
integer
Distinct certification issue numbers with this flag since 2020-01-01.Certification: count(distinct cert_issue_no)
share_percent
decimal
Percentage of all distinct issues in the period, including unknown flags.DutyRank calculation
credits-by-title.csv
Recorded credits on selected open-competitive titles
Column / typeDefinitionSource or calculation
credit_type
string
residency or veterans; veterans combines ordinary and disabled-veteran credit.Active.residency_credit / veteran_credit
title_code
string
DCAS title code; only titles with at least 500 entries and both credit/noncredit groups of at least 10 are included.Active.list_title_code
title_name
string
Title description from the source.Active.list_title_desc
list_entries
integer
Entries on current open-competitive lists for the title, not unique people or people waiting.Active: count(*)
credit_entries
integer
Entries carrying a nonempty value for this credit category.Active: count(*) grouped by credit field
credit_percent
decimal
100 × credit_entries ÷ list_entries, rounded to two decimals.DutyRank calculation
lifecycle.csv
List inventory and recorded lifecycle dates
Column / typeDefinitionSource or calculation
metric
string
Named inventory metric; all counts are current-source groups or entries.Active grouped inventory
count
integer
Observed count for the metric, not a legal-status determination.Active: count(*) / grouped dates
denominator
integer
Comparison total; blank when no denominator is needed.DutyRank calculation
unit
string
list_groups, list_entries or title_codes.DutyRank definition
Each metric value in lifecycle.csv
MetricDefinition
current_list_groupsList groups in the Active snapshot. A group is one combination of title code, exam number, list type and the four list-date fields.
current_list_entriesEntries (rows) across all current list groups. One person can hold entries on several lists.
current_title_codesDistinct title codes with at least one current list group.
open_competitive_list_groupsList groups whose list type is open competitive; the denominator is all current list groups.
open_competitive_list_entriesEntries on open-competitive list groups; the denominator is all current entries.
established_list_groupsList groups with an establishment date; the denominator is all current list groups.
exact_four_year_anniversaryEstablished groups whose anniversary date is exactly four calendar years after establishment; the denominator is established groups that have an anniversary date.
recorded_extension_dateList groups with any extension date recorded; the denominator is all current list groups.
published_without_establishmentList groups with a publication date and no establishment date; the denominator is all current list groups.
missing_publication_dateList groups without a publication date; the denominator is all current list groups.
certifications-by-year.csv
Certification issues by recorded event year
Column / typeDefinitionSource or calculation
year
integer
Calendar year of the certification event.date_extract_y(Certification.cert_date)
certification_issues
integer
Distinct issue numbers recorded in this year; not people or appointments.Certification: count(distinct cert_issue_no)
title_codes
integer
Distinct title codes with recorded certification events in the year.Certification: count(distinct list_title_code)
first_recorded_event
date
Earliest cert_date recorded in the year; not the dataset refresh date.min(Certification.cert_date)
last_recorded_event
date
Latest cert_date recorded in the year; not a promise of complete coverage.max(Certification.cert_date)
partial_year
boolean
true when the snapshot falls before the end of this calendar year.Snapshot date compared with December 31

These UTF-8 CSVs contain aggregates only. Cite the permanent edition and state the snapshot date when reusing a figure.

Each note links to the original publisher. Page and rule references help you find the evidence. Archive details identify the exact copy checked; archived documents are not republished here.

  1. DCAS Civil Service Primer, August 29, 2024 · Wayback snapshot

    PDF pages 7, 15–21 and 28–29: provisional appointments; list publication, certification and call letters; off-side status.

    Archived copy and fingerprint

    Archived copy on file, retrieved .

    SHA-256 of the archived PDF, as downloaded: 8a403f84ca8574331cd7769aef3095d3a452ce122eaf8c202bfd97d9a3d06230

    Back to article
  2. NYC Council hearing transcript, NYPD, May 29, 2025

    Page 25: Commissioner Tisch’s figures for hires in 2022, 2023 and 2024.

    Archived copy and fingerprint

    Archived copy on file, retrieved .

    SHA-256 of the archived PDF, as downloaded: 9307da9981af3bd80585f4523e7d0c824ed77b6aee940f2f12ddde3c5304d11a

    Back to article
  3. DCAS Local Law 50 annual report for 2025 — cover letter

    pp. 1–2: established lists and disposition actions; p. 3: removal actions

    Archived copy and fingerprint

    Archived copy on file, retrieved .

    SHA-256 of the archived PDF, as downloaded: 2b032c6f1dc5e4c219ec933858a18d89bb072a74cd44cfde4911d0532c0de2f6

    Back to article
  4. New York Civil Service Law §65 — provisional appointments

    §65(3): ordinary two-month limit and authorized waiver up to four months; §65(4): inadequate or exhausted lists.

    Archived copy and fingerprint

    Archived copy on file, retrieved .

    SHA-256 of the archived text transcript: 83ea925a39c0de24c27de92f96aabd56dd24429db008f087b3d083a7eda98ea4

    Back to article
  5. DCAS Civil Service List (Active): data dictionary

    Adjusted Final Average definition and credit-field labels.

    Archived copy and fingerprint

    Archived copy on file, retrieved .

    SHA-256 of the archived text capture: 48f7b3e3e82d80b7a30ad12e06e57d437ae0d5a5b55b05ab86bee9e67bb8659f

    Back to article

Other official reporting: the DCAS Local Law 50 report for 2025 covers appointments, removals and provisional actions. Its period and population differ from this snapshot.

DutyRank. “NYC civil service lists by the numbers, 2026 edition: certifications, credits and how long lists last.” Updated 2026-10-19. https://dutyrank.com/data/nyc-civil-service-lists/2026

Contact DutyRank at [email protected] with the figure, CSV name or source query you are checking. This analysis publishes aggregates only, never names. DutyRank is independent of DCAS and the hiring agencies.

This is the first frozen 2026 edition, dated . The current-report URL points to this edition’s figures. A future snapshot will be identified separately; a correction to this edition will describe the affected figures, reason and date here.

Revisions

  1. No published figure or CSV changed. Added an addendum computed from this edition’s own inputs: the same-day-block sensitivity, the certification years outside the chart and three data-quality flags. Corrected the documentation: the CSV dictionary now says “on or after” publication, as the calculation does; query fingerprints are described as hashes of re-serialized rows; the Dataset’s temporal coverage is an interval; findings state their cohort and period; an unverified link and an unsourced sentence were removed.

  1. Gave the frozen edition its own title; added an addendum from the edition’s own inputs (same-day-block sensitivity, years outside the chart, data-quality flags); corrected documentation. No published figure or CSV changed.

  2. Published the first frozen 2026 edition with aggregate tables, CSV fingerprints and the source snapshot’s retrieval record.