ETAR · Public information
ETAR industrial components integration guide
Find published information about springs and metal components made to drawing, manufacturing capabilities and supplier documentation. Use these sources to prepare an inquiry; quotations, lead times and technical approvals require ETAR's assessment of your specification.
Quickstart: choose a representation
- Get the public directory below to discover published page URLs and current validated document metadata. Add
?lang=enor?lang=es; omit the parameter for both languages. - Follow a returned page URL for its complete content: HTML is the default. Request
Accept: text/markdownat that same URL for Markdown, including this guide. Responses declareVary: AcceptandContent-Language. - Keep the source URL with your summary. Confirm the published scope and conditions before preparing an inquiry through the HTML contact form.
Read the directory
curl -sS --fail-with-body 'https://www.etar.com.ar/api/v1/content?lang=en'
Read a page in Markdown
curl -sS --fail-with-body -H 'Accept: text/markdown' 'https://www.etar.com.ar/en'
A page URL selects its language; lang filters the JSON directory only. JSON is an index, not a complete technical specification. An empty documents array means no document meets the current publication, validation, validity and language filters; it is not a certification claim.
Public content API
GET /api/v1/content?lang=en · HEAD /api/v1/content
Both methods are safe retrieval operations. GET returns application/json; HEAD returns response headers without a body and also counts toward the request limit. The optional lang query parameter accepts exactly es or en. An empty or other value returns 400.
curl -sS --head 'https://www.etar.com.ar/api/v1/content?lang=en'
Response fields
name/access- Publisher and permissions:
ETAR,public_read_only,authentication_required: false,writes_supported: false. pages[]- Published page records:
key,language,title,descriptionand canonicalurl. Titles and paths can change through editorial updates; follow the returned URL. documents[]- Current, published and validated document metadata:
title,language,version,scope, downloadurl,valid_fromandvalid_until. Dates are ISO 8601YYYY-MM-DDornull. A null date does not establish unlimited validity. The download rechecks availability and publication permissions. links- Canonical discovery URLs, including
documentation,openapi,directoryandsitemap. Integrations should accept additional fields.
JSON response excerpt
This excerpt shows the current homepage record. The complete response also contains other published pages, document records when available, and links. The schema, not this excerpt, defines the complete contract.
{
"name": "ETAR",
"access": {
"mode": "public_read_only",
"authentication_required": false,
"writes_supported": false
},
"pages": [{
"key": "home",
"language": "en",
"title": "Springs and metal components made to drawing.",
"description": "Springs and metal components made to drawing. Process engineering, samples, validation and supply. Discuss your next manufacturing project with ETAR.",
"url": "https://www.etar.com.ar/en"
}]
}
Download the OpenAPI 3.1.1 contract for complete schemas, parameter definitions and responses. Its operation IDs are getEtarPublishedContent and headEtarPublishedContent. The specification itself supports GET and HEAD.
curl -sS --fail-with-body 'https://www.etar.com.ar/openapi.json'
Authentication and permissions
Public retrieval requires no API key, access token, account or OAuth scope. Do not attach credentials. The content API exposes no write operations, visitor records, private attachment names or signed storage URLs. ETAR does not operate an OAuth authorization server or a GraphQL API. Preview deployments may separately require Vercel access before reaching this website.
Administration uses authorized staff sessions. Private inquiry attachments require inquiry-download permission; application CVs require a separate application-download permission. These resources are outside the public API.
Inquiries and job applications are human HTML flows with session, consent and CSRF protection. A person must review and submit the appropriate form; neither a JSON request nor an MCP tool can submit it. Do not send drawings, personal information or attachments as retrieval query parameters. Read the privacy notice before submitting them through the form.
Errors and rate limits
API errors return a real HTTP error status and an RFC 9457 application/problem+json body. Check the status and code; use detail and resolution to explain recovery. Error text is in English in both language filters.
400 invalid_parameter: fixlangbefore retrying.404 api_route_not_found: the API route does not exist; check OpenAPI.405 method_not_allowed: useAllow: GET, HEADon the content endpoint; POST, PUT, PATCH and DELETE do not perform writes.429 rate_limit_exceeded: wait for theRetry-Afterinterval before retrying.500 service_error/503 service_unavailable: retry later with increasing delays; avoid repeated immediate requests. Contact ETAR if the error persists.
Invalid language example
curl -sS -i 'https://www.etar.com.ar/api/v1/content?lang=fr'
HTTP 400 · Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Bad Request",
"status": 400,
"detail": "The lang parameter must be es or en, or omitted for both languages.",
"code": "invalid_parameter",
"resolution": "Use the parameters documented in /openapi.json."
}
Reading the quota
The JSON content endpoint permits 120 requests per client in a 60-second fixed window. These are best-effort limits from the configured cache: they can reset across instances or deployments and are not a contractual global quota. Read the actual headers rather than assuming the reset time.
RateLimit-Policy: "public-read";q=120;w=60
RateLimit: "public-read";r=119;t=60
Cache-Control: private, no-store
In this illustrative response, q is the request quota, w the window in seconds, r the remaining requests and t the seconds until reset. A 429 adds Retry-After in seconds. GET and HEAD share this quota. The public API does not promise a polling interval or a service-level agreement.
Connect through MCP
The public MCP endpoint is https://www.etar.com.ar/mcp, using Streamable HTTP with JSON responses. It requires no authentication and offers only list_public_content, with an optional lang argument (es or en). The tool returns the same published directory as the content API; it cannot submit inquiries or access private records.
Configure your MCP client's remote HTTP server URL as above; client configuration keys vary. Send JSON-RPC requests by POST with Content-Type: application/json and Accept: application/json, text/event-stream. GET, HEAD and DELETE return 405. Request bodies are limited to 64 KiB, and MCP shares the API's request quota. Server-to-server clients may omit Origin; when present, it must match the configured site origin.
Protocol discovery
For protocol 2026-07-28, use server/discover without an initialization handshake. Every request includes protocol metadata in params._meta and matching MCP-Protocol-Version and MCP-Method headers; a tool call also requires MCP-Name. The ETAR MCP discovery document at /.well-known/mcp provides ETAR-specific metadata; it is not a core MCP discovery standard.
curl -sS 'https://www.etar.com.ar/mcp' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'MCP-Method: server/discover' \
--data '{"jsonrpc":"2.0","id":1,"method":"server/discover","params":{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientCapabilities":{}}}}'
Compatibility with protocol 2025-11-25
Clients using 2025-11-25 initialize first, then send notifications/initialized. After that, use tools/list to inspect the tool schema and tools/call to read the directory. Use the negotiated protocol version on subsequent requests.
curl -sS 'https://www.etar.com.ar/mcp' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"etar-guide","version":"1.0.0"}}}'
curl -sS 'https://www.etar.com.ar/mcp' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2025-11-25' \
--data '{"jsonrpc":"2.0","method":"notifications/initialized"}'
curl -sS 'https://www.etar.com.ar/mcp' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2025-11-25' \
--data '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_public_content","arguments":{"lang":"en"}}}'
Command-line access
The @etar-srl/cli package, version 0.1.0, is available as a direct package download. It is not published in the npm registry. Install the downloaded package from its URL; the curl examples above also work without the CLI.
npm install --global 'https://www.etar.com.ar/downloads/etar-cli-0.1.0.tgz'
Requires Node.js 22 or later. The command is etar; it reads public resources without credentials and cannot submit information. Choose a page path from content for read, or use one of the integration-guide paths.
etar --version
etar content --lang en
etar openapi
etar read /en/developers --format markdown
content and openapi print JSON. read prints a JSON object with url, content_type and markdown; --format markdown selects raw Markdown. Results go to stdout and JSON errors to stderr. Exit codes are 0 for success, 1 for network or response errors, and 2 for invalid arguments. The CLI preserves HTTP error status and Retry-After when present, without automatic retries.
Versions, sources and next steps
The current content contract uses /api/v1. Version 1 is active with no scheduled retirement. Additive metadata may appear within v1; ignore unknown fields. Breaking changes require a new major URL. Before a planned retirement, ETAR will publish a notice and migration documentation and signal deprecation through response headers.
Versioning and deprecation policy
- ETAR llms.txt: entry points to published industrial source material.
- ETAR sitemap.xml: published URLs and language alternatives.
- About ETAR: company context and published experience.
- Contact ETAR: hand off a specification for evaluation, a defined drawing for quotation, or supplier onboarding requirements.
Use canonical page and download URLs rather than keeping deployment-specific storage links. Cite the original certificate and its exact scope where a document supports a claim; public access alone does not establish suitability for a specific part or application.
