# RegusciLabs agent access

## Discover
Public information, REST agent tools and the MCP endpoints use anonymous access. No account, API key, registration or access_token is required. See [API instructions](https://www.reguscilabs.com/api.md) and [OpenAPI](https://www.reguscilabs.com/openapi.json).

## Choose an action
Read and search public information freely. To send a project inquiry, obtain the person's approval to transmit their contact details and idea. To subscribe to The Pulse, obtain separate, explicit newsletter consent, including the chosen frequency and format. Never infer consent from another action.

## Validate before sending
Use dryRun:true (the default) to validate an input without delivery or storage. Live submission requires both dryRun:false and confirmed:true. Subscription also requires consent:true. Preview deployments reject all live submissions; validation remains available.

## Limits and retry keys
Agent API and MCP requests share a limit of 120 per minute per client IP. New live actions are limited to 5 per hour per IP and per recipient. RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset describe the active window; Reset is seconds until reset. A 429 includes Retry-After in seconds.

For a live action, provide an Idempotency-Key header (REST) or idempotencyKey input (REST, MCP or WebMCP): 8–128 letters, digits, dots, underscores, colons or hyphens. Save one key per approved action and reuse it with identical input for retries for seven days. A different payload with the same key returns 409. Pending or uncertain outcomes are never automatically redelivered. Legacy calls without a key are accepted; do not automatically retry them. Never generate a fresh key to retry an uncertain action. After seven days contact the team before retrying.

## Errors and uncertain outcomes
The API reports invalid input (400), rejected browser origins or preview writes (403), missing pages/tools (404), a reused key with changed input or pending outcome (409), too many requests (429), oversized payloads (413), wrong content type (415), delivery/storage uncertainty (502), and missing service configuration (503). A failed live call may have partially completed. After a timeout, a request with the original key and identical input can check the saved result. A submission_status_unknown result requires the team to check the outcome; contact info@reguscilabs.com. Never retry with a new key.

## Withdrawal
Use [unsubscribe](https://www.reguscilabs.com/en/unsubscribe.md) to stop communications and [data deletion](https://www.reguscilabs.com/en/data-deletion.md) to request deletion. These public tools cannot read or administer private CUPER OS, customer records or contacts. No OAuth authorization server, identity exchange or protected-resource metadata is advertised.
