# IMQLock.acquire() method · @imqueue/rpc

Source: https://imqueue.org/api/rpc/latest/rpc.imqlock.acquire/
Published: 2026-08-04
Author: @imqueue maintainers (https://github.com/imqueue)
Package: @imqueue/rpc 3.5.3 — generated reference, not hand-written

Acquires a lock for a given key.

**Signature:**

```typescript
static acquire<T>(key: string, callback?: (...args: any[]) => any, metadata?: IMQLockMetadataItem): Promise<AcquiredLock<T>>;
```

## Parameters


| Parameter | Type | Description |
| --- | --- | --- |
| key | string | key to acquire the lock for |
| callback | (...args: any\[\]) => any | _(Optional)_ callback invoked on lock resolution |
| metadata | [IMQLockMetadataItem](https://imqueue.org/api/rpc/latest/rpc.imqlockmetadataitem/) | _(Optional)_ metadata for the locked call |


**Returns:**

Promise<[AcquiredLock](https://imqueue.org/api/rpc/latest/rpc.acquiredlock/)<T>>

