# Source: https://upstash.com/docs/redis/sdks/ts/commands/generic/pexpireat.md

# Source: https://upstash.com/docs/redis/sdks/py/commands/generic/pexpireat.md

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

# PEXPIREAT

> Sets a timeout on key. After the timeout has expired, the key will automatically be deleted.

## Arguments

<ParamField body="key" type="str" required>
  The key to expire.
</ParamField>

<ParamField body="unix_time_milliseconds" type="int | datetime.datetime" required>
  The timeout in unix milliseconds timestamp as int or a datetime.datetime object.
</ParamField>

<ParamField body="nx" type="bool">
  Set expiry only when the key has no expiry
</ParamField>

<ParamField body="xx" type="bool">
  Set expiry only when the key has an existing expiry
</ParamField>

<ParamField body="gt" type="bool">
  Set expiry only when the new expiry is greater than current one
</ParamField>

<ParamField body="lt" type="bool">
  Set expiry only when the new expiry is less than current one
</ParamField>

## Response

<ResponseField type="bool">
  `True` if the timeout was set
</ResponseField>

<RequestExample>
  ```py Example theme={"system"}
  # With a unix timestamp
  redis.set("mykey", "Hello")
  redis.pexpireat("mykey", int(time.time() * 1000) )

  # With a datetime object
  redis.set("mykey", "Hello")
  redis.pexpireat("mykey", datetime.datetime.now() + datetime.timedelta(seconds=5))
  ```
</RequestExample>