ClutterStock API (v1)

Download OpenAPI specification:

Because "somewhere in the garage" isn't a location. Home inventory for your actual clutter—electronics, parts, homelab and all.


Version: v0.13.0

Items

Creates a new item.

Creates a new item.

Request Body schema: application/json
required
roomId
integer <int32>

Id of the room this item belongs to.

name
string or null

Display name of the item.

description
string or null

Optional longer description.

category
string or null

Optional category (e.g. Electronics, Furniture).

notes
string or null

Optional free-form notes.

Responses

Request samples

Content type
application/json
{
  • "roomId": 1,
  • "name": "Vintage Lamp",
  • "description": "Brass table lamp, 1980s",
  • "category": "Electronics",
  • "notes": "Needs new shade"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "roomId": 1,
  • "name": "Vintage Lamp",
  • "description": "Brass table lamp, 1980s",
  • "category": "Electronics",
  • "notes": "Needs new shade",
  • "createdAtUtc": "2024-01-15T10:30:00Z",
  • "updatedAtUtc": "2024-02-01T14:00:00Z"
}

Returns all items.

Returns all items.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Deletes an item by id.

Deletes an item by id.

path Parameters
id
required
integer <int32>

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Returns a single item by id.

Returns a single item by id.

path Parameters
id
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "roomId": 1,
  • "name": "Vintage Lamp",
  • "description": "Brass table lamp, 1980s",
  • "category": "Electronics",
  • "notes": "Needs new shade",
  • "createdAtUtc": "2024-01-15T10:30:00Z",
  • "updatedAtUtc": "2024-02-01T14:00:00Z"
}

Updates an existing item by id.

Updates an existing item by id.

path Parameters
id
required
integer <int32>
Request Body schema: application/json
required
roomId
integer <int32>

Id of the room this item belongs to.

name
string or null

Display name of the item.

description
string or null

Optional longer description.

category
string or null

Optional category (e.g. Electronics, Furniture).

notes
string or null

Optional free-form notes.

Responses

Request samples

Content type
application/json
{
  • "roomId": 1,
  • "name": "Vintage Lamp",
  • "description": "Brass table lamp, 1980s",
  • "category": "Electronics",
  • "notes": "Needs new shade"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "roomId": 1,
  • "name": "Vintage Lamp",
  • "description": "Brass table lamp, 1980s",
  • "category": "Electronics",
  • "notes": "Needs new shade",
  • "createdAtUtc": "2024-01-15T10:30:00Z",
  • "updatedAtUtc": "2024-02-01T14:00:00Z"
}

Locations

Creates a new location.

Creates a new location.

Request Body schema: application/json
required
name
string or null

Display name of the location (e.g. home, office).

description
string or null

Optional description of the location.

Responses

Request samples

Content type
application/json
{
  • "name": "Home",
  • "description": "Main residence"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Home",
  • "description": "Main residence",
  • "createdAtUtc": "2024-01-15T10:30:00Z",
  • "updatedAtUtc": "2024-02-01T14:00:00Z"
}

Returns all locations.

Returns all locations.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Deletes a location by id.

Deletes a location by id.

path Parameters
id
required
integer <int32>

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Returns a single location by id.

Returns a single location by id.

path Parameters
id
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Home",
  • "description": "Main residence",
  • "createdAtUtc": "2024-01-15T10:30:00Z",
  • "updatedAtUtc": "2024-02-01T14:00:00Z"
}

Updates an existing location by id.

Updates an existing location by id.

path Parameters
id
required
integer <int32>
Request Body schema: application/json
required
name
string or null

Display name of the location (e.g. home, office).

description
string or null

Optional description of the location.

Responses

Request samples

Content type
application/json
{
  • "name": "Home",
  • "description": "Main residence"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Home",
  • "description": "Main residence",
  • "createdAtUtc": "2024-01-15T10:30:00Z",
  • "updatedAtUtc": "2024-02-01T14:00:00Z"
}

Rooms

Creates a new room.

Creates a new room.

Request Body schema: application/json
required
locationId
integer <int32>

Id of the parent location.

name
string or null

Display name of the room (e.g. Living Room, Garage).

description
string or null

Optional description of the room.

Responses

Request samples

Content type
application/json
{
  • "locationId": 1,
  • "name": "Living Room",
  • "description": "Main gathering space"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "locationId": 1,
  • "name": "Living Room",
  • "description": "Main gathering space",
  • "createdAtUtc": "2024-01-15T10:30:00Z",
  • "updatedAtUtc": "2024-02-01T14:00:00Z"
}

Returns all rooms.

Returns all rooms.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Deletes a room by id.

Deletes a room by id.

path Parameters
id
required
integer <int32>

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Returns a single room by id.

Returns a single room by id.

path Parameters
id
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "locationId": 1,
  • "name": "Living Room",
  • "description": "Main gathering space",
  • "createdAtUtc": "2024-01-15T10:30:00Z",
  • "updatedAtUtc": "2024-02-01T14:00:00Z"
}

Updates an existing room by id.

Updates an existing room by id.

path Parameters
id
required
integer <int32>
Request Body schema: application/json
required
locationId
integer <int32>

Id of the parent location.

name
string or null

Display name of the room (e.g. Living Room, Garage).

description
string or null

Optional description of the room.

Responses

Request samples

Content type
application/json
{
  • "locationId": 1,
  • "name": "Living Room",
  • "description": "Main gathering space"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "locationId": 1,
  • "name": "Living Room",
  • "description": "Main gathering space",
  • "createdAtUtc": "2024-01-15T10:30:00Z",
  • "updatedAtUtc": "2024-02-01T14:00:00Z"
}

Test

Test endpoint that returns a greeting.

Test endpoint that returns a greeting.

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}