Attributes

Attributes are typed custom fields for your POIs. Define them once per team, then set their values on each POI and filter POIs by them. On this page, we look at how to list, create, retrieve, update and delete attributes.

The attribute model

Properties

  • Name
    id
    Type
    string
    Description

    Unique identifier (ULID) of the attribute.

  • Name
    name
    Type
    string
    Description

    Name of the attribute.

  • Name
    type
    Type
    string
    Description

    Type of the values: string, number or boolean. Defaults to string and cannot be changed after creation.

  • Name
    created_at
    Type
    timestamp
    Description

    When the attribute was created.

  • Name
    updated_at
    Type
    timestamp
    Description

    When the attribute was last updated.


GET/v1/attributes

List all attributes

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

Optional attributes

  • Name
    limit
    Type
    integer
    Description

    Number of attributes 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.

Request

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

Response

{
  "data": [
    {
      "id": "01J9ZC0Q3K4ZY2PZSWRBFX6KWP",
      "name": "rating",
      "type": "number",
      "created_at": "2026-09-27T09:10:02.000000Z",
      "updated_at": "2026-09-27T09:10:02.000000Z"
    }
  ],
  "next": null
}

POST/v1/attributes

Create an attribute

Create an attribute. Returns a 201. Requires the create-attributes permission.

Required attributes

  • Name
    name
    Type
    string
    Description

    Name of the attribute, up to 255 characters, unique in your team. Only letters, numbers and underscores; limit and cursor are reserved.

Optional attributes

  • Name
    type
    Type
    string
    Description

    string, number or boolean. Defaults to string.

Request

POST
/v1/attributes
curl https://api.lanewise.app/v1/attributes \
  -H "X-API-KEY: {YOUR_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"name": "rating", "type": "number"}'

Response (201)

{
  "data": {
    "id": "01J9ZC0Q3K4ZY2PZSWRBFX6KWP",
    "name": "rating",
    "type": "number",
    "created_at": "2026-09-27T09:10:02.000000Z",
    "updated_at": "2026-09-27T09:10:02.000000Z"
  }
}

GET/v1/attributes/:id

Retrieve an attribute

Retrieve an attribute by its ID. Requires the read-attributes permission.

Request

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

Response

{
  "data": {
    "id": "01J9ZC0Q3K4ZY2PZSWRBFX6KWP",
    "name": "rating",
    "type": "number",
    "created_at": "2026-09-27T09:10:02.000000Z",
    "updated_at": "2026-09-27T09:10:02.000000Z"
  }
}

PUT/v1/attributes/:id

Update an attribute

Rename an attribute. Its values on your POIs are kept. The type cannot be changed: create a new attribute instead. Requires the update-attributes permission.

Optional attributes

  • Name
    name
    Type
    string
    Description

    New name, following the same rules as on creation.

Request

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

DELETE/v1/attributes/:id

Delete an attribute

Delete an attribute and its values on every POI. Returns a 204 with no body. Requires the delete-attributes permission.

Request

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