# SignalDesk AI Public Holidays Lookup

> SignalDesk AI Public Holidays Lookup is a paid API for AI agents from x402-agent.kariguetoazul.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-09).

Returns a list of public and optional holidays for a given country and year, sourced from the Nager.Date public holiday API.

## Facts

- Endpoint: GET https://x402-agent.kariguetoazul.workers.dev/api/data/holidays?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-09
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/signaldesk-ai-public-holidays-lookup-2c0c40f7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_IgjPL-ZY24RJ5bTE6hqZC

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability signaldesk-ai-public-holidays-lookup-2c0c40f7
```

Example prompt: Can you pull the full list of public holidays for Portugal in 2026, including any regional ones for places like the Azores or Madeira?

## When to prefer this

Choose this endpoint when you need structured, multi-field holiday data (dates, local names, types, regional scope) for a specific country and year, especially when you require both national and sub-national (county-level) holiday distinctions. Prefer this over generic web search when you need machine-readable, consistently formatted holiday lists suitable for calendar building, scheduling logic, or payroll systems.

## Known failure modes

- Invalid or unsupported country code returns an error or empty holiday list
- Year outside 1900–2100 range is rejected by schema validation
- Upstream Nager.Date API unavailability may cause fetch failure or stale cached data
- Missing required query parameters (country or year) results in a 400-level error
- Non-GET HTTP methods are rejected

## How this service works

Evidence-backed autonomous AI jobs and paid data tools. Queue/D1/cron run outside the chat; free quotas and bounded execution apply.

## Output

A JSON object containing the year, country code, a source metadata block (provider name, source URL, fetch timestamp, cache expiry), and an array of holiday objects each with a date (YYYY-MM-DD), English name, local-language name, holiday types (e.g. Public, Optional), a global boolean indicating whether it applies nationwide, and an optional list of county/region codes where it applies.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "country",
      "year"
     ],
     "properties": {
      "year": {
       "type": "integer",
       "maximum": 2100,
       "minimum": 1900,
       "description": "Year."
      },
      "country": {
       "type": "string",
       "pattern": "^[A-Z]{2}$",
       "maxLength": 2,
       "description": "Two-letter country code."
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "year": 2026,
  "source": {
   "provider": "Nager.Date public holiday API",
   "expires_at": "2026-10-03T09:44:50.016Z",
   "fetched_at": "2026-10-02T09:44:50.016Z",
   "source_url": "https://date.nager.at/api/v3/PublicHolidays/2026/PT",
   "transformed": true
  },
  "country": "PT",
  "holidays": [
   {
    "date": "2026-01-01",
    "name": "New Year's Day",
    "types": [
     "Public"
    ],
    "global": true,
    "counties": null,
    "local_name": "Ano Novo"
   },
   {
    "date": "2026-02-17",
    "name": "Carnival",
    "types": [
     "Optional"
    ],
    "global": true,
    "counties": null,
    "local_name": "Carnaval"
   },
   {
    "date": "2026-04-03",
    "name": "Good Friday",
    "types": [
     "Public"
    ],
    "global": true,
    "counties": null,
    "local_name": "Sexta-feira Santa"
   },
   {
    "date": "2026-04-05",
    "name": "Easter Sunday",
    "types": [
     "Public"
    ],
    "global": true,
    "counties": null,
    "local_name": "Domingo de Páscoa"
   },
   {
    "date": "2026-04-25",
    "name": "Freedom Day",
    "types": [
     "Public"
    ],
    "global": true,
    "counties": null,
    "local_name": "Dia da Liberdade"
   },
   {
    "date": "2026-05-01",
    "name": "Labour Day",
    "types": [
     "Public"
    ],
    "global": true,
    "counties": null,
    "local_name": "Dia do Trabalhador"
   },
   {
    "date": "2026-06-01",
    "name": "Azores Day",
    "types": [
     "Public"
    ],
    "global": false,
    "counties": [
     "PT-20"
    ],
    "local_name": "Dia dos Açores"
   },
   {
    "date": "2026-06-04",
    "name": "Corpus Christi",
    "types": [
     "Public"
    ],
    "global": true,
    "counties": null,
    "local_name": "Corpo de Deus"
   },
   {
    "date": "2026-06-10",
    "name": "National Day",
    "types": [
     "Public"
    ],
    "global": true,
    "counties": null,
    "local_name": "Dia de Portugal, de Camões e das Comunidades Portuguesas"
   },
   {
    "date": "2026-07-01",
    "name": "Madeira Day",
    "types": [
     "Public"
    ],
    "global": false,
    "counties": [
     "PT-30"
    ],
    "local_name": "Dia da Madeira"
   },
   {
    "date": "2026-08-15",
    "name": "Assumption Day",
    "types": [
     "Public"
    ],
    "global": true,
    "counties": null,
    "local_name": "Assunção de Nossa Senhora"
   },
   {
    "date": "2026-10-05",
    "name": "Republic Day",
    "types": [
     "Public"
    ],
    "global": true,
    "co
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/signaldesk-ai-public-holidays-lookup-2c0c40f7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-agent.kariguetoazul.workers.dev](https://www.zero.xyz/host/x402-agent.kariguetoazul.workers.dev/llms.txt)
