# RecordId

The RecordId type identifies a single record in the SurrealDB Kotlin SDK.

`RecordId` identifies a single record by its table and ID, rendered as `table:id`. Pass it to the [CRUD builders](/docs/reference/kotlin/concepts/data-manipulation.md) to target one record.

**Source:** [surrealdb.kotlin](https://github.com/surrealdb/surrealdb.kotlin)

```kotlin title="Import"
import com.surrealdb.kotlin.query.RecordId
```

---

## Constructor

```kotlin title="Method Syntax"
RecordId(table, id)
```

<table>
    <thead>
        <tr><th>Parameter</th><th>Type</th><th>Description</th></tr>
    </thead>
    <tbody>
        <tr><td><code>table</code> _(required)_</td><td><code>String</code></td><td>The table name.</td></tr>
        <tr><td><code>id</code> _(required)_</td><td><code>String</code></td><td>The record identifier within the table.</td></tr>
    </tbody>
</table>

```kotlin title="Example"
val ada = RecordId("person", "ada")

client.select(ada).awaitAs<Person>()
```

When bound into a query, a `RecordId` is rendered with `type::record(table, id)` so the value is always passed safely.

## Learn more

- [Value types](/docs/reference/kotlin/concepts/value-types.md)
- [`Table`](/docs/reference/kotlin/api/values/table.md) and [`RecordIdRange`](/docs/reference/kotlin/api/values/record-id-range.md)
