Skip to content
LydieDevelopers
Menu

Change a property's type

View as Markdown
POST/v1/database-properties/{id}/type

Changes the type and converts every row's value (see the conversion table in the docs). convert: false keeps the values as they are.

docs:writeUndoable
Request
curl -X POST "https://api.lydie.co/v1/database-properties/01JCQ3V5MZ8G4ZK2X7T9R6N1PB/type" \
  -H "Authorization: Bearer $LYDIE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "title"
  }'

Path parameters

  • idULIDrequired

Body

  • typestringrequired

    One oftitletextnumberselectmultiSelectstatusdatecheckboxurlemailphonepersonfilesrelationrollupformulauniqueIdcreatedTimeupdatedTimecreatedByupdatedBy

  • configPropertyConfigSpecInput
    Show 11 fields
    • optionsobject[]

      select, multiSelect, status

      Show 4 fields
      • idULID
      • namestringrequired· 1–200 chars
      • colorstring

        One ofdefaultgraybrownorangeyellowgreenbluepurplepinkred

        Default "default"

      • groupstring

        One oftodoinProgresscomplete

    • One ofnumberintegercommaspercentcurrency

    • decimalsinteger· 0–10
    • currencystring· 3–3 chars

      ISO 4217 code, with numberFormat currency

    • date: values carry a time

    • rangeboolean

      date: values may carry an end (start/end)

    • relationRelationConfigInput
      Show 4 fields
      • databaseIdULIDrequired

        The database whose rows this relation points at.

      • twoWayboolean

        Default false

      • The synced property on the other database (two-way relations).

        Default null

      • limitstring

        One ofonemany

        Default "many"

    • rollupRollupConfigInput
      Show 3 fields
      • relationPropertyIdULIDrequired
      • targetPropertyIdULIDrequired

        A property of the related database.

      • functionstringrequired

        One ofshowOriginalshowUniquecountcountValuescountUniquecountEmptycountNotEmptypercentEmptypercentNotEmptysumaveragemedianminmaxrangeearliestlatestcheckeduncheckedpercentCheckedpercentUnchecked

    • formula: an Obsidian Bases expression

    • prefixstring· ≤ 16 chars

      uniqueId: shown before the number ("LYD" → LYD-12)

    • extraobject
  • convertboolean

    Default true

Response

  • propertyDatabaseProperty
    Show 13 fields
    • idULID
    • workspaceIdstring· 1–64 chars
    • namestring· 1–200 chars

      Display name (Bases displayName).

    • typestring

      One oftitletextnumberselectmultiSelectstatusdatecheckboxurlemailphonepersonfilesrelationrollupformulauniqueIdcreatedTimeupdatedTimecreatedByupdatedBy

    • keystring· 1–128 chars

      Stored types: the frontmatter key holding the value. Formulas, rollups, createdBy and updatedBy: the formula name in the .base file. Unused for title and created/updated time.

    • configPropertyConfig
      Show 11 fields
      • optionsSelectOption[]optional

        select, multiSelect, status

        Show 4 fields
        • idULID
        • namestring· 1–200 chars
        • colorstring

          One ofdefaultgraybrownorangeyellowgreenbluepurplepinkred

          Default "default"

        • groupstringoptional

          One oftodoinProgresscomplete

      • numberFormatstringoptional

        One ofnumberintegercommaspercentcurrency

      • decimalsintegeroptional· 0–10
      • currencystringoptional· 3–3 chars

        ISO 4217 code, with numberFormat currency

      • includeTimebooleanoptional

        date: values carry a time

      • rangebooleanoptional

        date: values may carry an end (start/end)

      • relationRelationConfigoptional
        Show 4 fields
        • The database whose rows this relation points at.

        • twoWayboolean

          Default false

        • The synced property on the other database (two-way relations).

          Default null

        • limitstring

          One ofonemany

          Default "many"

      • rollupRollupConfigoptional
        Show 3 fields
        • A property of the related database.

        • functionstring

          One ofshowOriginalshowUniquecountcountValuescountUniquecountEmptycountNotEmptypercentEmptypercentNotEmptysumaveragemedianminmaxrangeearliestlatestcheckeduncheckedpercentCheckedpercentUnchecked

      • expressionstringoptional

        formula: an Obsidian Bases expression

      • prefixstringoptional· ≤ 16 chars

        uniqueId: shown before the number ("LYD" → LYD-12)

      • extraobjectoptional
    • sortKeystring· 1–256 chars
    • createdAttimestamp
    • updatedAttimestamp
    • deletedAttimestampor null
    • createdBystringor nulloptional· ≥ 1 chars
    • updatedBystringor nulloptional· ≥ 1 chars
  • convertedinteger
200
{
  "property": {
    "id": "01JCQ3V5MZ8G4ZK2X7T9R6N1PB",
    "workspaceId": "01JCQ3TZ0WJ8K4M2X7T9R6N1PA",
    "databaseId": "01JCQ3V5MZ8G4ZK2X7T9R6N1PB",
    "name": "Notes",
    "type": "title",
    "key": "string",
    "config": {
      "options": [
        {
          "id": "01JCQ3V5MZ8G4ZK2X7T9R6N1PB",
          "name": "Notes",
          "color": "default",
          "group": "todo"
        }
      ],
      "numberFormat": "number",
      "decimals": 0,
      "currency": "string",
      "includeTime": false,
      "range": false,
      "relation": {
        "databaseId": "01JCQ3V5MZ8G4ZK2X7T9R6N1PB",
        "twoWay": false,
        "reversePropertyId": null,
        "limit": "one"
      },
      "rollup": {
        "relationPropertyId": "01JCQ3V5MZ8G4ZK2X7T9R6N1PB",
        "targetPropertyId": "01JCQ3V5MZ8G4ZK2X7T9R6N1PB",
        "function": "showOriginal"
      },
      "expression": "string",
      "prefix": "string",
      "extra": {}
    },
    "sortKey": "a0",
    "createdAt": "2026-11-12T09:30:00.000Z",
    "updatedAt": "2026-11-12T09:30:00.000Z",
    "deletedAt": null,
    "createdBy": null,
    "updatedBy": null
  },
  "converted": 0
}

Errors use one envelope for every endpoint. See Errors and versions.