# IMQService.describe() method · @imqueue/rpc

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

Returns this service's description metadata — the exposed method list plus the registered complex types — synchronously.

**Signature:**

```typescript
describe(): Description;
```
**Returns:**

[Description](https://imqueue.org/api/rpc/latest/rpc.description/)

a plain object matching the [Description](https://imqueue.org/api/rpc/latest/rpc.description/) shape, not a class instance

## Remarks

This method is itself exposed, so a remote caller invoking it through a generated client receives a `Promise<Description>` — but called locally it is not a promise and must not be awaited as one.

The result is built once per service name and cached process-wide for the lifetime of the process, so methods attached after the first call are not reflected. The cache key is the service `name` while the method list is resolved from the concrete class name, so constructing two differently-classed services under the same `name` in one process makes them share a single description.

