> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openpayload.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get DID delivery constraints

> Read requested and chain-derived delivery limits for a recipient DID

Read the clock-time retention, message-size, chunking, and replication limits published by a DID operator. These constraints apply before any matching rule narrows them.

## Request

<ParamField path="did" type="string" required>
  The URL-encoded recipient DID.
</ParamField>

<RequestExample>
  ```bash Request theme={null}
  curl --request GET \
    --url "https://directory.example.com/dids/did%3Aopenpayload%3A1111111111111111111111/delivery-constraints"
  ```
</RequestExample>

## Response

```json 200 Response theme={null}
{
  "did": "did:openpayload:1111111111111111111111",
  "delivery_constraints": {
    "requested_cache_seconds": 86400,
    "effective_ttl_seconds": 86400,
    "max_http_envelope_bytes": 26214400,
    "max_unchunked_message_bytes": 16777216,
    "max_chunk_bytes": 2097152,
    "max_message_bytes": 4294967295,
    "max_chunks": 65535,
    "max_replicas": 2
  }
}
```

When the operator has not set a value, the response uses the network default. `effective_ttl_seconds` is chain-derived, read-only, and never exceeds `172800`. `max_message_bytes` and `max_chunks` are deprecated SCALE compatibility fields. Their sentinel values mean unbounded by delivery policy; nodes still enforce their individual-envelope, individual-chunk, and operational-capacity limits.

## Straight to the point

```http theme={null}
GET /dids/{url-encoded-did}/delivery-constraints
```

* Authentication: none
* State: finalized chain state
* Success: `200`
* Unknown DID: `404`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.