GET/v1/compliance/requirements/{country}

Get EU Pay Transparency requirements for a specific country

Return the current state of EU Pay Transparency Directive (2023/970) transposition for a given country, including job posting rules, reporting obligations, the salary history ban status, penalties, and the responsible enforcement body. **When to use:** answer questions like 'What are the pay transparency rules in Germany?', 'Does France require salary ranges in job postings?', or 'When does the EU directive take effect in Poland?'. **Response:** a `ComplianceRequirements` object with the transposition status (`transposed` / `draft` / `pending`), the transposition date and law reference (where known), posting rules, reporting rules, enforcement info, and a bulleted list of `key_obligations` for employers. **Not legal advice** — consult an employment lawyer for compliance decisions in your jurisdiction. Source: EU Directive 2023/970, national transposition laws. Required scope: `compliance:read` (Pro tier or higher).

Authentication

Requires API key via X-API-Key header.

Parameters

NameInTypeRequiredDescription
countrypathstringrequired

Example request

curl
curl -X GET \
  "https://salary.wageapi.com/api/v1/compliance/requirements/DE" \
  -H "X-API-Key: YOUR_API_KEY"

Responses

200Successful Response
country_codestringrequired
country_namestringrequired
directive_transposedbooleanrequired
transposition_dateanyoptional
one of:
option 1:
string
option 2:
null
transposition_statusstringrequiredenum: transposed | draft | pending
law_referenceanyoptional
one of:
option 1:
string
option 2:
null
job_posting_rulesJobPostingRulesrequired

Job posting transparency rules for a country.

salary_range_requiredbooleanrequired
salary_range_in_postingbooleanrequired
salary_history_banbooleanrequired
reporting_rulesReportingRulesrequired

Pay gap reporting obligations for a country.

pay_gap_reporting_requiredbooleanrequired
reporting_threshold_employeesanyoptional
one of:
option 1:
integer
option 2:
null
reporting_frequencyanyoptional
one of:
option 1:
string
option 2:
null
enforcementEnforcementInforequired

Enforcement and penalty information for a country.

penalty_descriptionanyoptional
one of:
option 1:
string
option 2:
null
enforcement_bodyanyoptional
one of:
option 1:
string
option 2:
null
key_obligationsarray<string>optional

default []

array of string
string
source_urlanyoptional
one of:
option 1:
string
option 2:
null
last_verifiedanyoptional
one of:
option 1:
string
option 2:
null
data_freshness_warninganyoptional
one of:
option 1:
string
option 2:
null
notesanyoptional
one of:
option 1:
string
option 2:
null
disclaimerstringoptional

default "This information provides a summary of known requirements only. It does not constitute legal advice. Consult a qualified employment lawyer for compliance decisions specific to your situation."

401Missing or invalid API key.
errorErrorDetailrequired

Structured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.

codestringrequired

Machine-readable error code (e.g. INVALID_API_KEY)

messagestringrequired

Human-readable error message

statusintegerrequired

HTTP status code

request_idstringrequired

Request identifier — include in support tickets

suggestionanyoptional

Actionable hint on how to resolve the error

one of:
option 1:
string
option 2:
null
doc_urlanyoptional

Link to full documentation for this error code

one of:
option 1:
string
option 2:
null
fieldanyoptional

Field that caused the error (if applicable)

one of:
option 1:
string
option 2:
null
errorsanyoptional

Per-field validation errors (only for 422 VALIDATION_ERROR responses)

one of:
option 1:
array of object
object
option 2:
null
403API key lacks the required scope for this endpoint.
errorErrorDetailrequired

Structured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.

codestringrequired

Machine-readable error code (e.g. INVALID_API_KEY)

messagestringrequired

Human-readable error message

statusintegerrequired

HTTP status code

request_idstringrequired

Request identifier — include in support tickets

suggestionanyoptional

Actionable hint on how to resolve the error

one of:
option 1:
string
option 2:
null
doc_urlanyoptional

Link to full documentation for this error code

one of:
option 1:
string
option 2:
null
fieldanyoptional

Field that caused the error (if applicable)

one of:
option 1:
string
option 2:
null
errorsanyoptional

Per-field validation errors (only for 422 VALIDATION_ERROR responses)

one of:
option 1:
array of object
object
option 2:
null
404Unrecognised country or compliance data not yet loaded.
errorErrorDetailrequired

Structured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.

codestringrequired

Machine-readable error code (e.g. INVALID_API_KEY)

messagestringrequired

Human-readable error message

statusintegerrequired

HTTP status code

request_idstringrequired

Request identifier — include in support tickets

suggestionanyoptional

Actionable hint on how to resolve the error

one of:
option 1:
string
option 2:
null
doc_urlanyoptional

Link to full documentation for this error code

one of:
option 1:
string
option 2:
null
fieldanyoptional

Field that caused the error (if applicable)

one of:
option 1:
string
option 2:
null
errorsanyoptional

Per-field validation errors (only for 422 VALIDATION_ERROR responses)

one of:
option 1:
array of object
object
option 2:
null
422Request validation failed (bad JSON shape, missing required fields, etc.).
errorErrorDetailrequired

Structured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.

codestringrequired

Machine-readable error code (e.g. INVALID_API_KEY)

messagestringrequired

Human-readable error message

statusintegerrequired

HTTP status code

request_idstringrequired

Request identifier — include in support tickets

suggestionanyoptional

Actionable hint on how to resolve the error

one of:
option 1:
string
option 2:
null
doc_urlanyoptional

Link to full documentation for this error code

one of:
option 1:
string
option 2:
null
fieldanyoptional

Field that caused the error (if applicable)

one of:
option 1:
string
option 2:
null
errorsanyoptional

Per-field validation errors (only for 422 VALIDATION_ERROR responses)

one of:
option 1:
array of object
object
option 2:
null
429Daily rate limit exceeded for this API key.
errorErrorDetailrequired

Structured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.

codestringrequired

Machine-readable error code (e.g. INVALID_API_KEY)

messagestringrequired

Human-readable error message

statusintegerrequired

HTTP status code

request_idstringrequired

Request identifier — include in support tickets

suggestionanyoptional

Actionable hint on how to resolve the error

one of:
option 1:
string
option 2:
null
doc_urlanyoptional

Link to full documentation for this error code

one of:
option 1:
string
option 2:
null
fieldanyoptional

Field that caused the error (if applicable)

one of:
option 1:
string
option 2:
null
errorsanyoptional

Per-field validation errors (only for 422 VALIDATION_ERROR responses)

one of:
option 1:
array of object
object
option 2:
null
500Unexpected server error. Includes a request_id for support.
errorErrorDetailrequired

Structured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.

codestringrequired

Machine-readable error code (e.g. INVALID_API_KEY)

messagestringrequired

Human-readable error message

statusintegerrequired

HTTP status code

request_idstringrequired

Request identifier — include in support tickets

suggestionanyoptional

Actionable hint on how to resolve the error

one of:
option 1:
string
option 2:
null
doc_urlanyoptional

Link to full documentation for this error code

one of:
option 1:
string
option 2:
null
fieldanyoptional

Field that caused the error (if applicable)

one of:
option 1:
string
option 2:
null
errorsanyoptional

Per-field validation errors (only for 422 VALIDATION_ERROR responses)

one of:
option 1:
array of object
object
option 2:
null

Try this endpoint

Create a free Aethar account and generate an API key in 2 minutes.

Create free account →