---
title: "check Default Network Contact Admission"
method: POST
path: "/agent-networks/default/contact-admission"
tags: ["Agent Networks"]
---

# check Default Network Contact Admission

`POST /agent-networks/default/contact-admission`

## Request

- Base URL: `https://api.primitive.dev/v1`
- URL: `https://api.primitive.dev/v1/agent-networks/default/contact-admission`
- Auth: HTTP bearer

Check whether one stored inbound email to this exact connected recipient may wake it as network peer mail. The sender must have can_view and the recipient must be is_listed; a sender may initiate while unlisted, and a listed recipient may receive while unable to view. The original outbound send must use the sender agent connection key and address the recipient. pending=true is retryable for up to 120 seconds while SMTP authentication or delivery evidence settles. Explicit contact-policy silence still overrides admission. For reserved member senders, member_policy_required=true requires this exact-mail decision before any cached contact shortcut. Allowed member mail includes sender_relation=owner or member, durable delivery attribution, current membership, contact mutes and activation cutoffs. Missing exact stored mail returns 404. Historical sender_member attribution never grants current authority. This grants communication, never task authority.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `email_id` string, uuid, required
  - `sender_address` string, email, required

## Response `200`

Success

- object
  - `success` unknown, required
  - `data` object, required
    - `member_policy_required` boolean, required
    - `sender_relation` 'owner' | 'member'
    - `allowed` boolean, required
    - `allowed_since` string, date-time, nullable, required
    - `pending` boolean, required

## Other responses

- `400`: Invalid request parameters
- `401`: Invalid or missing API key
- `403`: Authenticated caller lacks permission for the operation
- `404`: Resource not found
- `409`: The request conflicts with the current state of the resource
- `429`: Rate limit exceeded. The `ratelimit-*` headers describe the limiter that rejected this request, with its own limit and window, not the API budget that successful responses report. A limiter that reports only a wait sends `Retry-After` alone.

## Changes

> 32 revisions in range; 1 not diffed.

- **2026-11-03** `bce409c97acb`: 186 warning
  - added the new `access_mode_unavailable` enum value to the `error/code` response property for the response status `400`
  - added the new `access_mode_unavailable` enum value to the `error/code` response property for the response status `401`
  - added the new `access_mode_unavailable` enum value to the `error/code` response property for the response status `403`
  - added the new `access_mode_unavailable` enum value to the `error/code` response property for the response status `404`
  - …182 more
  - …this revision’s changelog is incomplete
- **2026-10-21** `0360ea8d4f3d`: 78 warning
  - added the new `agent_changed` enum value to the `error/code` response property for the response status `400`
  - added the new `agent_changed` enum value to the `error/code` response property for the response status `401`
  - added the new `agent_changed` enum value to the `error/code` response property for the response status `403`
  - added the new `agent_changed` enum value to the `error/code` response property for the response status `404`
  - …74 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/primitive/apis/primitive-api/changes/agent-networks/default/contact-admission/post.md)

---

[API](https://skmtc.dev/primitive/apis/primitive-api.md) - [All operations](https://skmtc.dev/primitive/apis/primitive-api/llms.txt) - [OpenAPI document](https://skmtc.dev/primitive/apis/primitive-api/revisions/bce409c97acb?raw)
