---
title: "DOL PERM Case"
method: POST
path: "/us/dol-oflc/perm-case/v1"
tags: ["United States", "DOL H-1B and PERM"]
---

# DOL PERM Case

`POST /us/dol-oflc/perm-case/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/us/dol-oflc/perm-case/v1`
- Auth: HTTP bearer

Resolve one PERM labor certification by its DOL case number, on either form: every determination of it, newest fiscal year first. `found: false` when DOL has published no determination under that number since fiscal year 2008. Served by Croma (`as_of` says how current the data is), brought up to date as DOL publishes each quarter.

**Dataset endpoint**: answers from the whole source in milliseconds and carries `as_of`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `case_number` string, required: Número de caso PERM de DOL, p. ej. `G-100-25273-349207` o `A-23043-00641`.

## Response `200`

Successful response

- DolOflcPermCaseResponse
  - `data` DolOflcPermCaseData, required
    - `found` boolean, required
    - `case_number` string, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `determinations` object[], required: Every determination of the case, newest fiscal year first: a case decided again in a later fiscal year is a determination of its own.
      - `id` string, required: `<fiscal_year>:<case_number>`.
      - `fiscal_year` integer, required: The federal fiscal year (October to September) DOL published the determination under.
      - `case_number` string, required: DOL's case number: `A-23043-00641` on the form used until 2023, `G-100-25273-349207` on the revised one.
      - `form` '9089' | '9089_2023', required: `9089` for the ETA-9089 used until 2023 (fiscal years 2008 to 2024), `9089_2023` for the revised form filed from June 2023.
      - `case_status` string, required: `Certified`, `Certified - Expired`, `Withdrawn` or `Denied`.
      - `received_date` string, nullable, required
      - `decision_date` string, nullable, required
      - `decision_dates` string[], required: Every decision date DOL's file lists for the case, oldest first: two only for a few cases DOL lists twice.
      - `employer` object, required
        - `name` string, nullable, required
        - `trade_name` string, nullable, required
        - `address_1` string, nullable, required
        - `address_2` string, nullable, required
        - `city` string, nullable, required
        - `state` string, nullable, required: Two-letter code where the filing names a US state.
        - `postal_code` string, nullable, required
        - `country` string, nullable, required
        - `province` string, nullable, required
        - `phone` string, nullable, required
        - `phone_ext` string, nullable, required
        - `fein` string, nullable, required: Nine digits (published from fiscal year 2024).
        - `naics_code` string, nullable, required
        - `employees` integer, nullable, required
        - `year_commenced` integer, nullable, required: The year the employer began business.
        - `worker_ownership_interest` boolean, nullable, required: The worker has an ownership interest in the employer.
        - `relationship_to_worker` boolean, nullable, required: A familial relationship between the owners and the worker (revised form).
      - `employer_contact` object, required
        - `name` string, nullable, required: The form used until 2023 gives one name field.
        - `last_name` string, nullable, required
        - `first_name` string, nullable, required
        - `middle_name` string, nullable, required
        - `job_title` string, nullable, required
        - `address_1` string, nullable, required
        - `address_2` string, nullable, required
        - `city` string, nullable, required
        - `state` string, nullable, required
        - `postal_code` string, nullable, required
        - `country` string, nullable, required
        - `province` string, nullable, required
        - `phone` string, nullable, required
        - `phone_ext` string, nullable, required
        - `email` string, nullable, required
      - `agent_attorney` object, required
        - `representative_type` string, nullable, required: `Attorney`, `Agent` or `None` (revised form).
        - `name` string, nullable, required: The form used until 2023 gives one name field.
        - `last_name` string, nullable, required
        - `first_name` string, nullable, required
        - `middle_name` string, nullable, required
        - `law_firm` string, nullable, required
        - `law_firm_fein` string, nullable, required
        - `state_bar_number` string, nullable, required
        - `good_standing_state` string, nullable, required
        - `good_standing_court` string, nullable, required
        - `address_1` string, nullable, required
        - `address_2` string, nullable, required
        - `city` string, nullable, required
        - `state` string, nullable, required
        - `postal_code` string, nullable, required
        - `country` string, nullable, required
        - `province` string, nullable, required
        - `phone` string, nullable, required
        - `phone_ext` string, nullable, required
        - `email` string, nullable, required
      - `job` object, required
        - `title` string, nullable, required
        - `soc_code` string, nullable, required: The occupation's SOC code, e.g. `15-1252.00`.
        - `soc_title` string, nullable, required
        - `occupation_type` string, nullable, required: `Professional occupation`, `Non-professional`, `College/University Teacher`, `Schedule A` and others (revised form).
      - `wage` object, required
        - `offer_from` number, nullable, required: The offered wage, US dollars per `offer_unit`.
        - `offer_to` number, nullable, required
        - `offer_unit` string, nullable, required
        - `offer_conditions` string, nullable, required
        - `prevailing_wage` number, nullable, required
        - `prevailing_wage_unit` string, nullable, required
        - `prevailing_wage_level` string, nullable, required
        - `prevailing_wage_source` string, nullable, required
        - `prevailing_wage_source_other` string, nullable, required
        - `prevailing_wage_tracking_number` string, nullable, required
        - `prevailing_wage_determined_on` string, nullable, required
        - `prevailing_wage_expires_on` string, nullable, required
      - `worksite` object, required
        - `type` string, nullable, required
        - `address_1` string, nullable, required
        - `address_2` string, nullable, required
        - `city` string, nullable, required
        - `county` string, nullable, required
        - `state` string, nullable, required: Two-letter code where the filing names a US state.
        - `postal_code` string, nullable, required
        - `bls_area` string, nullable, required
        - `multiple_locations` boolean, nullable, required
      - `worker` object, required: The foreign worker, on the form used until 2023; the revised form moved the worker to an appendix DOL does not publish, so every field is null there.
        - `country_of_citizenship` string, nullable, required: As DOL writes it, e.g. `INDIA`.
        - `birth_country` string, nullable, required
        - `class_of_admission` string, nullable, required: The worker's current visa, e.g. `H-1B`.
        - `education` string, nullable, required
        - `education_other` string, nullable, required
        - `major` string, nullable, required
        - `education_completed_year` integer, nullable, required
        - `institution` string, nullable, required
        - `institution_address_1` string, nullable, required
        - `institution_address_2` string, nullable, required
        - `institution_city` string, nullable, required
        - `institution_state` string, nullable, required
        - `institution_country` string, nullable, required
        - `institution_postal_code` string, nullable, required
        - `currently_employed` boolean, nullable, required: The worker already works for the employer.
      - `preparer` object, required
        - `name` string, nullable, required
        - `title` string, nullable, required
        - `last_name` string, nullable, required
        - `first_name` string, nullable, required
        - `middle_name` string, nullable, required
        - `email` string, nullable, required
        - `law_firm` string, nullable, required
        - `law_firm_fein` string, nullable, required
      - `answers` object, required: Every other answer on the form, under DOL's column name in lower case (`recr_info_newspaper_name`, `other_req_emp_layoff`): requirements, recruitment, notices and declarations. Text as filed (`Y`, `N`, `N/A`), numbers as numbers, dates as `yyyy-mm-dd`; a question left blank is absent.
      - `source_file` string, required: The DOL disclosure file the row was read from.

## Other responses

- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
