I have the following rest structure for 'keyboard' objects:

```
GET /keyboards/           -> Lists user keyboards
POST /keyboards/          -> Creates new keyboard
GET /keyboards/{id}       -> Get specific keyboard by id
PUT /keyboards/{id}       -> Update specific keyboard by id
DELETE /keyboards/{id}    -> Delete specific keyboard by id

```

The front end uses whatever keyboard is set to the users default keyboard, or, if the user has no custom keyboard set, simply returns a generic default.

At present, that is done by requesting another URL:

```
GET /keyboards/default

```

However, this appears a little misleading to me, as the resource 'default' could change whenever the user changes their default, and actually is a pointer to a different specific resource.

I'm not sure of a more elegant solution to this, as the front-end would appear to need to make two requests otherwise:

```
GET /keyboards/         -> Revealing the default
GET /keyboards/{id}     -> To get the mappings associated with the keyboard

```

Which seems a more laborious, two step process. Is the first option a reasonable one, or am I missing a more elegant implementation?