Skip to content
Niftyhelp 2026.10.1-beta.1 Support

Beta This is the help for Nifty 2026.10.1-beta.1, which isn't released yet. Help for the current release

Tags

The #tags in notes. Rename or merge them here.

On this page

List tags

GET/tags

Tags are created from notes, so there's no POST.

curl "$NIFTY_URL/api/v1/tags" \
  -H "Authorization: Bearer $NIFTY_TOKEN"

Query parameters

NameDescription
ordername | id | updated_at · optionalname sorts case-insensitively, like the web, with id as the tie-breaker.
directionasc | desc · optionalasc (ascending) or desc (descending), for order.
updated_sincedate-time · optionalOnly records updated at or after this time (ISO 8601 with Z or a UTC offset), ordered by updated_at, id.
cursorstring · optionalmeta.next_cursor from the previous page.
limitinteger · optionalItems per page, up to 100; a larger number is taken as 100.
counttrue | false · optionaltrue adds meta.total_count: the size of the filtered set (with updated_since too), ignoring cursor and limit. Anything but true or false is a 400.

Response

200 OK Errors: 400 401 429

{
  "data": [
    {
      "id": "01j9zq3k8m5x2v7c4n6b0t1r9e",
      "name": "string",
      "created_at": "2026-10-10T09:30:00Z",
      "updated_at": "2026-10-10T09:30:00Z"
    }
  ],
  "meta": {
    "next_cursor": "eyJrIjpbIjIwMjYtMTAtMDlUMDg6MzA6MDBaIl19",
    "limit": 1,
    "total_count": 1
  }
}

Get a tag

GET/tags/{id}

curl "$NIFTY_URL/api/v1/tags/01j9zq3k8m5x2v7c4n6b0t1r9e" \
  -H "Authorization: Bearer $NIFTY_TOKEN"

Path parameters

NameDescription
idULIDA record's ID.

Response

200 OK Errors: 401 404 429

{
  "data": {
    "id": "01j9zq3k8m5x2v7c4n6b0t1r9e",
    "name": "string",
    "created_at": "2026-10-10T09:30:00Z",
    "updated_at": "2026-10-10T09:30:00Z"
  }
}

Rename a tag

PATCH/tags/{id}

Also PUT /tags/{id}, the same.

A name another tag has, ignoring case, is a 422 (name: "already exists"). To combine the two, merge instead (POST /tags/{tag_id}/merge). Changing only the casing is fine.

curl -X PATCH "$NIFTY_URL/api/v1/tags/01j9zq3k8m5x2v7c4n6b0t1r9e" \
  -H "Authorization: Bearer $NIFTY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"tag":{"name":"garden"}}'

Path parameters

NameDescription
idULIDA record's ID.

Request body

NameDescription
tagobject
tag.namestring · optionalNormalised: a leading # is dropped, runs of spaces or hyphens become one hyphen (Work trip → Work-trip), and leading hyphens and trailing hyphens and . , ! ? ; : are dropped (rust. → rust). Punctuation inside a name is kept (1:1s). No commas.

Response

200 OK Errors: 400 401 403 404 415 422 429

{
  "data": {
    "id": "01j9zq3k8m5x2v7c4n6b0t1r9e",
    "name": "string",
    "created_at": "2026-10-10T09:30:00Z",
    "updated_at": "2026-10-10T09:30:00Z"
  }
}

Delete a tag

DELETE/tags/{id}

Permanent. Writes a tag deletion record. From M7 it also comes off every note.

curl -X DELETE "$NIFTY_URL/api/v1/tags/01j9zq3k8m5x2v7c4n6b0t1r9e" \
  -H "Authorization: Bearer $NIFTY_TOKEN"

Path parameters

NameDescription
idULIDA record's ID.

Response

204 Deleted Errors: 401 403 404 429

Merge a tag into another

POST/tags/{tag_id}/merge

Notes with this tag get the into_id tag instead (from M7), then this tag is deleted: it appears in GET /deletions as a tag. The surviving tag is unchanged and returned. A missing or unknown into_id, or this tag's own id, is a 422 on into_id.

curl -X POST "$NIFTY_URL/api/v1/tags/01j9zq3k8m5x2v7c4n6b0t1r9e/merge" \
  -H "Authorization: Bearer $NIFTY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"into_id":"01j9zq3m2a7d5f8g1h3j6k9m0n"}'

Path parameters

NameDescription
tag_idULIDThe tag to merge away.

Headers

NameDescription
Idempotency-Keystring · optionalMakes a POST safe to retry for 24 hours. Needs a bearer token (400 under session auth).

Request body

NameDescription
into_idULIDThe tag to keep.

Response

200 Merged. The surviving tag. Errors: 400 401 403 404 409 415 422 429

{
  "data": {
    "id": "01j9zq3k8m5x2v7c4n6b0t1r9e",
    "name": "string",
    "created_at": "2026-10-10T09:30:00Z",
    "updated_at": "2026-10-10T09:30:00Z"
  }
}

Menu

2026.10.1-beta.1Contact support