Documentation index: llms.txt. Markdown versions available by appending .md.
Istruzione Messina public API
The API returns a date-based angel-number calculation as JSON. It is free and requires no account or API key. Contract details are in the OpenAPI document.
Date-based angel number
POST https://istruzionemessina.it/api/public/v1/angel-number.php
Send Content-Type: application/json with one field, date, in YYYY-MM-DD format. The synthetic fixture 1990-06-15 is suitable for documentation or a dry run. Dates must be valid and from 1900 through the current UTC date. The response contains version: "1", method: "digit-root-date-v1", an integer number from 1 through 9, and a source URL. This is a digit-root result, not a personalized reading. Unknown body fields and URL query parameters are rejected.
curl -A 'OpenAI File Downloader, XaiImageApiFetch/1.0' \
-H 'Content-Type: application/json' \
--data '{"date":"1990-06-15"}' \
https://istruzionemessina.it/api/public/v1/angel-number.php
Request and response rules
- Use HTTPS and send only the fields needed for the calculation. The JSON body is limited to 2,048 bytes; compressed request bodies are not accepted.
- Dates must be real calendar dates. Successful responses have
version: "1"; error responses contain anerrorobject with a stablecodeand displayablemessage. - URLs over 1,024 characters are rejected. The OpenAPI document describes the response schema.
- This is a free public tool with no availability or throughput guarantee. A method identifier and API version are part of the result; availability and returned content can change.
Rate limits and errors
This site has its own limiter. Per verified client connection group (one IPv4 address or one IPv6 /64), the limit is a burst of 10 requests, refilling at one request every 2 seconds. The service limit is a burst of 20, refilling at 10 requests per second. The service allows at most 8 in-flight requests and remembers up to 2,048 client entries. Its file-backed limiter is shared by PHP workers; client entries expire and concurrency leases expire after 5 seconds. IPv6 clients are grouped by /64. These limits are not throughput entitlements.
| Status | Meaning |
|---|---|
| 400 | Invalid JSON, date, or unsupported parameter |
| 405 | Wrong method; check Allow |
| 408 | Request body timed out |
| 413 | Body exceeds 2,048 bytes |
| 414 | URL exceeds 1,024 characters |
| 415 | Unsupported content type or content encoding |
| 429 | Client or origin rate limit reached |
| 503 | Service busy or client connection could not be verified |
| 500 | Unexpected server error |
429 and 503 may include Retry-After. Honor it, use a bounded retry with backoff, and do not rotate networks, proxies, or accounts to evade a limit. Do not retry validation errors automatically.
Privacy
Send no names, email addresses, account identifiers, or extra fields. POST date bodies are processed transiently and are not logged by the endpoint. Avoid putting a real birth date in a URL, shell history, logs, tickets, analytics, or examples. For a personal date, use a local CLI with JSON from standard input where available. Rate limiting uses a trusted socket/proxy-derived client address, not a caller-controlled forwarding header.
The endpoint performs the existing date calculation; it does not call AI services or access an application database, account, purchase, premium reading, or PDF. Do not repeat a personal date in an assistant response unless necessary.