Categories

Categories group your POIs by type, such as restaurants, parks or depots. Each POI has at most one category, and you can filter POIs by it. On this page, we look at how to list, create, retrieve, update and delete categories.

The category model

Properties

  • Name
    id
    Type
    string
    Description

    Unique identifier (ULID) of the category.

  • Name
    name
    Type
    string
    Description

    Name of the category.

  • Name
    created_at
    Type
    timestamp
    Description

    When the category was created.

  • Name
    updated_at
    Type
    timestamp
    Description

    When the category was last updated.


GET/v1/categories

List all categories

Retrieve a paginated list of your categories, sorted by ID. Requires the read-categories permission.

Optional attributes

  • Name
    limit
    Type
    integer
    Description

    Number of categories per page, between 1 and 100. Defaults to 15.

  • Name
    cursor
    Type
    string
    Description

    Cursor of the page to fetch, from the next attribute of the previous page.

  • Name
    name
    Type
    string
    Description

    Only return categories whose name contains this text.

Request

GET
/v1/categories
curl -G https://api.lanewise.app/v1/categories \
  -H "X-API-KEY: {YOUR_API_KEY}"

Response

{
  "data": [
    {
      "id": "01J9ZC2M8TGDMQEWN2AY9CCP5V",
      "name": "restaurant",
      "created_at": "2026-09-27T09:10:02.000000Z",
      "updated_at": "2026-09-27T09:10:02.000000Z"
    }
  ],
  "next": null
}

POST/v1/categories

Create a category

Create a category. Returns a 201. Requires the create-categories permission.

Required attributes

  • Name
    name
    Type
    string
    Description

    Name of the category, up to 255 characters, unique in your team.

Request

POST
/v1/categories
curl https://api.lanewise.app/v1/categories \
  -H "X-API-KEY: {YOUR_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"name": "restaurant"}'

Response (201)

{
  "data": {
    "id": "01J9ZC2M8TGDMQEWN2AY9CCP5V",
    "name": "restaurant",
    "created_at": "2026-09-27T09:10:02.000000Z",
    "updated_at": "2026-09-27T09:10:02.000000Z"
  }
}

GET/v1/categories/:id

Retrieve a category

Retrieve a category by its ID. Requires the read-categories permission.

Request

GET
/v1/categories/01J9ZC2M8TGDMQEWN2AY9CCP5V
curl https://api.lanewise.app/v1/categories/01J9ZC2M8TGDMQEWN2AY9CCP5V \
  -H "X-API-KEY: {YOUR_API_KEY}"

Response

{
  "data": {
    "id": "01J9ZC2M8TGDMQEWN2AY9CCP5V",
    "name": "restaurant",
    "created_at": "2026-09-27T09:10:02.000000Z",
    "updated_at": "2026-09-27T09:10:02.000000Z"
  }
}

PUT/v1/categories/:id

Update a category

Rename a category. Its POIs keep it. Requires the update-categories permission.

Optional attributes

  • Name
    name
    Type
    string
    Description

    New name, following the same rules as on creation.

Request

PUT
/v1/categories/01J9ZC2M8TGDMQEWN2AY9CCP5V
curl -X PUT https://api.lanewise.app/v1/categories/01J9ZC2M8TGDMQEWN2AY9CCP5V \
  -H "X-API-KEY: {YOUR_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"name": "restaurants"}'

DELETE/v1/categories/:id

Delete a category

Delete a category. Its POIs are kept, without a category. Returns a 204 with no body. Requires the delete-categories permission.

Request

DELETE
/v1/categories/01J9ZC2M8TGDMQEWN2AY9CCP5V
curl -X DELETE https://api.lanewise.app/v1/categories/01J9ZC2M8TGDMQEWN2AY9CCP5V \
  -H "X-API-KEY: {YOUR_API_KEY}"