@wspc/cli 0.0.8 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +118 -25
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +52 -4
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/spec/openapi.json +215 -29
package/package.json
CHANGED
package/spec/openapi.json
CHANGED
|
@@ -323,10 +323,8 @@
|
|
|
323
323
|
"description": "Opaque pagination cursor. Pass the `next_cursor` returned by the previous page to fetch the next slice. Omit on the first call."
|
|
324
324
|
},
|
|
325
325
|
"limit": {
|
|
326
|
-
"type": "
|
|
327
|
-
"
|
|
328
|
-
"maximum": 100,
|
|
329
|
-
"description": "Maximum number of members to return in this page (1–100). Defaults to 50. Larger values trade fewer round-trips for more bytes per response."
|
|
326
|
+
"type": "string",
|
|
327
|
+
"description": "Maximum members to return. Clamped to [1, 100]. Defaults to 50."
|
|
330
328
|
}
|
|
331
329
|
}
|
|
332
330
|
},
|
|
@@ -1245,7 +1243,7 @@
|
|
|
1245
1243
|
"email": {
|
|
1246
1244
|
"type": "string",
|
|
1247
1245
|
"format": "email",
|
|
1248
|
-
"description": "Full alias address under
|
|
1246
|
+
"description": "Full alias address under the platform email domain or a fully verified organization custom domain, for example alice-shop@wspc.app or alice-shop@example.com."
|
|
1249
1247
|
}
|
|
1250
1248
|
},
|
|
1251
1249
|
"required": [
|
|
@@ -2598,9 +2596,118 @@
|
|
|
2598
2596
|
}
|
|
2599
2597
|
}
|
|
2600
2598
|
]
|
|
2599
|
+
},
|
|
2600
|
+
"include": {
|
|
2601
|
+
"type": "string"
|
|
2601
2602
|
}
|
|
2602
2603
|
}
|
|
2603
2604
|
},
|
|
2605
|
+
"TodoWithRelations": {
|
|
2606
|
+
"type": "object",
|
|
2607
|
+
"properties": {
|
|
2608
|
+
"id": {
|
|
2609
|
+
"type": "string"
|
|
2610
|
+
},
|
|
2611
|
+
"user_id": {
|
|
2612
|
+
"type": "string"
|
|
2613
|
+
},
|
|
2614
|
+
"project_id": {
|
|
2615
|
+
"type": "string",
|
|
2616
|
+
"description": "Project id this todo belongs to. Use /todo/projects/{id} to inspect the project."
|
|
2617
|
+
},
|
|
2618
|
+
"title": {
|
|
2619
|
+
"type": "string"
|
|
2620
|
+
},
|
|
2621
|
+
"description": {
|
|
2622
|
+
"type": "string"
|
|
2623
|
+
},
|
|
2624
|
+
"status": {
|
|
2625
|
+
"type": "string",
|
|
2626
|
+
"enum": [
|
|
2627
|
+
"open",
|
|
2628
|
+
"in_progress",
|
|
2629
|
+
"done",
|
|
2630
|
+
"cancelled"
|
|
2631
|
+
]
|
|
2632
|
+
},
|
|
2633
|
+
"parent_id": {
|
|
2634
|
+
"type": [
|
|
2635
|
+
"string",
|
|
2636
|
+
"null"
|
|
2637
|
+
]
|
|
2638
|
+
},
|
|
2639
|
+
"child_count": {
|
|
2640
|
+
"type": "integer",
|
|
2641
|
+
"minimum": 0
|
|
2642
|
+
},
|
|
2643
|
+
"version": {
|
|
2644
|
+
"type": "integer",
|
|
2645
|
+
"minimum": 0
|
|
2646
|
+
},
|
|
2647
|
+
"created_at": {
|
|
2648
|
+
"type": "number"
|
|
2649
|
+
},
|
|
2650
|
+
"updated_at": {
|
|
2651
|
+
"type": "number"
|
|
2652
|
+
},
|
|
2653
|
+
"deleted_at": {
|
|
2654
|
+
"type": "number"
|
|
2655
|
+
},
|
|
2656
|
+
"due_at": {
|
|
2657
|
+
"type": "string"
|
|
2658
|
+
},
|
|
2659
|
+
"type_id": {
|
|
2660
|
+
"type": "string"
|
|
2661
|
+
},
|
|
2662
|
+
"custom_fields": {
|
|
2663
|
+
"type": "object",
|
|
2664
|
+
"additionalProperties": {
|
|
2665
|
+
"anyOf": [
|
|
2666
|
+
{
|
|
2667
|
+
"type": "string"
|
|
2668
|
+
},
|
|
2669
|
+
{
|
|
2670
|
+
"type": "array",
|
|
2671
|
+
"items": {
|
|
2672
|
+
"type": "string"
|
|
2673
|
+
}
|
|
2674
|
+
}
|
|
2675
|
+
]
|
|
2676
|
+
}
|
|
2677
|
+
},
|
|
2678
|
+
"children": {
|
|
2679
|
+
"type": "array",
|
|
2680
|
+
"items": {
|
|
2681
|
+
"$ref": "#/components/schemas/Todo"
|
|
2682
|
+
}
|
|
2683
|
+
},
|
|
2684
|
+
"comments": {
|
|
2685
|
+
"type": "array",
|
|
2686
|
+
"items": {
|
|
2687
|
+
"$ref": "#/components/schemas/Comment"
|
|
2688
|
+
}
|
|
2689
|
+
},
|
|
2690
|
+
"children_next_cursor": {
|
|
2691
|
+
"type": "string"
|
|
2692
|
+
},
|
|
2693
|
+
"comments_next_cursor": {
|
|
2694
|
+
"type": "string"
|
|
2695
|
+
}
|
|
2696
|
+
},
|
|
2697
|
+
"required": [
|
|
2698
|
+
"id",
|
|
2699
|
+
"user_id",
|
|
2700
|
+
"project_id",
|
|
2701
|
+
"title",
|
|
2702
|
+
"status",
|
|
2703
|
+
"parent_id",
|
|
2704
|
+
"child_count",
|
|
2705
|
+
"version",
|
|
2706
|
+
"created_at",
|
|
2707
|
+
"updated_at",
|
|
2708
|
+
"type_id"
|
|
2709
|
+
]
|
|
2710
|
+
},
|
|
2604
2711
|
"ListRecurrenceRulesQuery": {
|
|
2605
2712
|
"type": "object",
|
|
2606
2713
|
"properties": {
|
|
@@ -2639,6 +2746,10 @@
|
|
|
2639
2746
|
"items": {
|
|
2640
2747
|
"$ref": "#/components/schemas/Todo"
|
|
2641
2748
|
}
|
|
2749
|
+
},
|
|
2750
|
+
"next_cursor": {
|
|
2751
|
+
"type": "string",
|
|
2752
|
+
"description": "Opaque cursor for the next page. Absent on the last page."
|
|
2642
2753
|
}
|
|
2643
2754
|
},
|
|
2644
2755
|
"required": [
|
|
@@ -7050,13 +7161,11 @@
|
|
|
7050
7161
|
},
|
|
7051
7162
|
{
|
|
7052
7163
|
"schema": {
|
|
7053
|
-
"type": "
|
|
7054
|
-
"
|
|
7055
|
-
"maximum": 100,
|
|
7056
|
-
"description": "Maximum number of members to return in this page (1–100). Defaults to 50. Larger values trade fewer round-trips for more bytes per response."
|
|
7164
|
+
"type": "string",
|
|
7165
|
+
"description": "Maximum members to return. Clamped to [1, 100]. Defaults to 50."
|
|
7057
7166
|
},
|
|
7058
7167
|
"required": false,
|
|
7059
|
-
"description": "Maximum
|
|
7168
|
+
"description": "Maximum members to return. Clamped to [1, 100]. Defaults to 50.",
|
|
7060
7169
|
"name": "limit",
|
|
7061
7170
|
"in": "query"
|
|
7062
7171
|
}
|
|
@@ -14634,7 +14743,7 @@
|
|
|
14634
14743
|
"EmailAliases"
|
|
14635
14744
|
],
|
|
14636
14745
|
"summary": "Create a receiving alias",
|
|
14637
|
-
"description": "### Overview\nReserves and provisions a new passwordless/disposable receiving email alias address under the configured WSPC domain. All inbound emails received on this alias will be forwarded into the caller's inbox.\n\n### When to Use\n- Use this endpoint to spin up a fresh, dedicated email address (e.g., `alice-shop@wspc.app`) for specific websites, newsletters, or contexts to prevent spam or categorize incoming mail.\n\n### Constraints\n- Requires a valid Bearer token in the `Authorization` header.\n- **Alias Formatting**: The local part must be between 5 and 32 characters, start with an alphanumeric character, and only contain letters, numbers, dots, underscores, and hyphens.\n- **Limit Check**: Each user is allowed a maximum of 10 active email aliases. Soft-deleted aliases do not count against this quota limit.\n\n### Troubleshooting\n- **401 Unauthorized**: Bearer token is missing, invalid, or expired.\n- **400 Bad Request / INVALID_CHARSET / RESERVED**: The alias local part contains invalid characters, is too short/long, or matches a reserved keyword.\n- **409 Conflict / ALIAS_CONFLICT**: An alias with the exact requested email address already exists globally (whether active or soft-deleted by any user).\n- **429 Too Many Requests / ALIAS_LIMIT_EXCEEDED**: The user has reached the active alias cap limit of 10. A previously deleted alias must be cleaned up or wait for quota availability.",
|
|
14746
|
+
"description": "### Overview\nReserves and provisions a new passwordless/disposable receiving email alias address under the configured WSPC domain or a fully verified organization custom domain. All inbound emails received on this alias will be forwarded into the caller's inbox.\n\n### When to Use\n- Use this endpoint to spin up a fresh, dedicated email address (e.g., `alice-shop@wspc.app`) for specific websites, newsletters, or contexts to prevent spam or categorize incoming mail.\n\n### Constraints\n- Requires a valid Bearer token in the `Authorization` header.\n- **Alias Formatting**: The local part must be between 5 and 32 characters, start with an alphanumeric character, and only contain letters, numbers, dots, underscores, and hyphens.\n- **Custom Domains**: If the address uses a non-platform host, that domain must be registered to the caller's organization and have `status = verified`, `sending_status = verified`, and `receiving_status = verified`.\n- **Limit Check**: Each user is allowed a maximum of 10 active email aliases. Soft-deleted aliases do not count against this quota limit.\n\n### Troubleshooting\n- **401 Unauthorized**: Bearer token is missing, invalid, or expired.\n- **400 Bad Request / INVALID_CHARSET / RESERVED**: The alias local part contains invalid characters, is too short/long, or matches a reserved keyword.\n- **400 Bad Request / DOMAIN_NOT_FOUND**: The custom domain is not registered to the caller's organization.\n- **400 Bad Request / UNVERIFIED_DOMAIN**: The custom domain exists but is not verified yet.\n- **400 Bad Request / CUSTOM_DOMAIN_NOT_READY**: The custom domain exists but has not completed sending or receiving verification.\n- **409 Conflict / ALIAS_CONFLICT**: An alias with the exact requested email address already exists globally (whether active or soft-deleted by any user).\n- **429 Too Many Requests / ALIAS_LIMIT_EXCEEDED**: The user has reached the active alias cap limit of 10. A previously deleted alias must be cleaned up or wait for quota availability.",
|
|
14638
14747
|
"security": [
|
|
14639
14748
|
{
|
|
14640
14749
|
"bearerAuth": []
|
|
@@ -14686,6 +14795,12 @@
|
|
|
14686
14795
|
"value": {
|
|
14687
14796
|
"email": "alice-bills@wspc.app"
|
|
14688
14797
|
}
|
|
14798
|
+
},
|
|
14799
|
+
"customDomain": {
|
|
14800
|
+
"summary": "Fully verified custom domain alias",
|
|
14801
|
+
"value": {
|
|
14802
|
+
"email": "alice-shop@example.com"
|
|
14803
|
+
}
|
|
14689
14804
|
}
|
|
14690
14805
|
}
|
|
14691
14806
|
}
|
|
@@ -14714,7 +14829,7 @@
|
|
|
14714
14829
|
}
|
|
14715
14830
|
},
|
|
14716
14831
|
"400": {
|
|
14717
|
-
"description": "Invalid alias email address, local part,
|
|
14832
|
+
"description": "Invalid alias email address, local part, reserved local part, missing custom domain, unverified custom domain, or custom domain that is not ready for both sending and receiving.",
|
|
14718
14833
|
"content": {
|
|
14719
14834
|
"application/json": {
|
|
14720
14835
|
"schema": {
|
|
@@ -19545,7 +19660,6 @@
|
|
|
19545
19660
|
"id": "id-short",
|
|
19546
19661
|
"todo_id": "id-short",
|
|
19547
19662
|
"user_id": "id-short",
|
|
19548
|
-
"content": "truncate",
|
|
19549
19663
|
"created_at": "relative-time",
|
|
19550
19664
|
"updated_at": "relative-time",
|
|
19551
19665
|
"deleted_at": "relative-time"
|
|
@@ -19977,7 +20091,7 @@
|
|
|
19977
20091
|
}
|
|
19978
20092
|
},
|
|
19979
20093
|
"summary": "List comments on a todo",
|
|
19980
|
-
"description": "### 🎯 Overview & Purpose\nList the comments attached to a todo, oldest-first by default.\n\n### 💡 Key Features & Constraints\n* **Ordering**: Defaults to chronological (`asc`). Pass `order=desc` for newest-first.\n* **Soft-deleted**: Hidden by default; pass `include_deleted=true` to include them.\n\n### ⚠️ Common Errors & Troubleshooting\n* **`NOT_FOUND` (HTTP 404)**: Thrown if the target todo does not exist or is soft-deleted.",
|
|
20094
|
+
"description": "### 🎯 Overview & Purpose\nList the comments attached to a todo, oldest-first by default.\n\n### 💡 Key Features & Constraints\n* **Ordering**: Defaults to chronological (`asc`). Pass `order=desc` for newest-first.\n* **Soft-deleted**: Hidden by default; pass `include_deleted=true` to include them.\n* **Pagination**: Use `limit` (max 200, default 50) and `cursor` (the `next_cursor` from a previous response) to page through results. When `next_cursor` is absent in the response, you are on the last page. Returns `{ comments, next_cursor? }`. Changing `order` invalidates a cursor.\n\n### ⚠️ Common Errors & Troubleshooting\n* **`NOT_FOUND` (HTTP 404)**: Thrown if the target todo does not exist or is soft-deleted.\n* **`VALIDATION_ERROR`**: Thrown if a cursor was produced with a different `order` than the current request.",
|
|
19981
20095
|
"security": [
|
|
19982
20096
|
{
|
|
19983
20097
|
"bearerAuth": []
|
|
@@ -20026,6 +20140,26 @@
|
|
|
20026
20140
|
"required": false,
|
|
20027
20141
|
"name": "include_deleted",
|
|
20028
20142
|
"in": "query"
|
|
20143
|
+
},
|
|
20144
|
+
{
|
|
20145
|
+
"schema": {
|
|
20146
|
+
"type": "string",
|
|
20147
|
+
"description": "Max comments to return. Clamped to [1, 200]. Default 50 server-side."
|
|
20148
|
+
},
|
|
20149
|
+
"required": false,
|
|
20150
|
+
"description": "Max comments to return. Clamped to [1, 200]. Default 50 server-side.",
|
|
20151
|
+
"name": "limit",
|
|
20152
|
+
"in": "query"
|
|
20153
|
+
},
|
|
20154
|
+
{
|
|
20155
|
+
"schema": {
|
|
20156
|
+
"type": "string",
|
|
20157
|
+
"description": "Opaque pagination cursor returned in `next_cursor` of a previous response."
|
|
20158
|
+
},
|
|
20159
|
+
"required": false,
|
|
20160
|
+
"description": "Opaque pagination cursor returned in `next_cursor` of a previous response.",
|
|
20161
|
+
"name": "cursor",
|
|
20162
|
+
"in": "query"
|
|
20029
20163
|
}
|
|
20030
20164
|
],
|
|
20031
20165
|
"responses": {
|
|
@@ -20041,6 +20175,10 @@
|
|
|
20041
20175
|
"items": {
|
|
20042
20176
|
"$ref": "#/components/schemas/Comment"
|
|
20043
20177
|
}
|
|
20178
|
+
},
|
|
20179
|
+
"next_cursor": {
|
|
20180
|
+
"type": "string",
|
|
20181
|
+
"description": "Opaque cursor for the next page. Absent on the last page."
|
|
20044
20182
|
}
|
|
20045
20183
|
},
|
|
20046
20184
|
"required": [
|
|
@@ -22135,8 +22273,6 @@
|
|
|
22135
22273
|
"project_id": "id-short",
|
|
22136
22274
|
"parent_id": "id-short",
|
|
22137
22275
|
"type_id": "id-short",
|
|
22138
|
-
"title": "truncate",
|
|
22139
|
-
"description": "truncate",
|
|
22140
22276
|
"status": "status-badge",
|
|
22141
22277
|
"due_at": "relative-time",
|
|
22142
22278
|
"created_at": "relative-time",
|
|
@@ -22743,6 +22879,26 @@
|
|
|
22743
22879
|
"required": false,
|
|
22744
22880
|
"name": "include_orphan_fields",
|
|
22745
22881
|
"in": "query"
|
|
22882
|
+
},
|
|
22883
|
+
{
|
|
22884
|
+
"schema": {
|
|
22885
|
+
"type": "string",
|
|
22886
|
+
"description": "Max todos to return. Clamped to [1, 200]. Default 50 server-side."
|
|
22887
|
+
},
|
|
22888
|
+
"required": false,
|
|
22889
|
+
"description": "Max todos to return. Clamped to [1, 200]. Default 50 server-side.",
|
|
22890
|
+
"name": "limit",
|
|
22891
|
+
"in": "query"
|
|
22892
|
+
},
|
|
22893
|
+
{
|
|
22894
|
+
"schema": {
|
|
22895
|
+
"type": "string",
|
|
22896
|
+
"description": "Opaque pagination cursor returned in `next_cursor` of a previous response."
|
|
22897
|
+
},
|
|
22898
|
+
"required": false,
|
|
22899
|
+
"description": "Opaque pagination cursor returned in `next_cursor` of a previous response.",
|
|
22900
|
+
"name": "cursor",
|
|
22901
|
+
"in": "query"
|
|
22746
22902
|
}
|
|
22747
22903
|
],
|
|
22748
22904
|
"responses": {
|
|
@@ -23937,7 +24093,6 @@
|
|
|
23937
24093
|
"id": "id-short",
|
|
23938
24094
|
"todo_id": "id-short",
|
|
23939
24095
|
"user_id": "id-short",
|
|
23940
|
-
"content": "truncate",
|
|
23941
24096
|
"created_at": "relative-time",
|
|
23942
24097
|
"updated_at": "relative-time",
|
|
23943
24098
|
"deleted_at": "relative-time"
|
|
@@ -24347,7 +24502,6 @@
|
|
|
24347
24502
|
"id": "id-short",
|
|
24348
24503
|
"todo_id": "id-short",
|
|
24349
24504
|
"user_id": "id-short",
|
|
24350
|
-
"content": "truncate",
|
|
24351
24505
|
"created_at": "relative-time",
|
|
24352
24506
|
"updated_at": "relative-time",
|
|
24353
24507
|
"deleted_at": "relative-time"
|
|
@@ -27211,8 +27365,6 @@
|
|
|
27211
27365
|
"project_id": "id-short",
|
|
27212
27366
|
"parent_id": "id-short",
|
|
27213
27367
|
"type_id": "id-short",
|
|
27214
|
-
"title": "truncate",
|
|
27215
|
-
"description": "truncate",
|
|
27216
27368
|
"status": "status-badge",
|
|
27217
27369
|
"due_at": "relative-time",
|
|
27218
27370
|
"created_at": "relative-time",
|
|
@@ -27645,14 +27797,15 @@
|
|
|
27645
27797
|
"project_id": "id-short",
|
|
27646
27798
|
"parent_id": "id-short",
|
|
27647
27799
|
"type_id": "id-short",
|
|
27648
|
-
"title": "truncate",
|
|
27649
|
-
"description": "truncate",
|
|
27650
27800
|
"status": "status-badge",
|
|
27651
27801
|
"due_at": "relative-time",
|
|
27652
27802
|
"created_at": "relative-time",
|
|
27653
27803
|
"updated_at": "relative-time",
|
|
27654
27804
|
"deleted_at": "relative-time"
|
|
27655
27805
|
}
|
|
27806
|
+
},
|
|
27807
|
+
"fixedQuery": {
|
|
27808
|
+
"include": "children,comments"
|
|
27656
27809
|
}
|
|
27657
27810
|
},
|
|
27658
27811
|
"summary": "Get a todo by id",
|
|
@@ -27718,19 +27871,27 @@
|
|
|
27718
27871
|
"required": false,
|
|
27719
27872
|
"name": "include_orphan_fields",
|
|
27720
27873
|
"in": "query"
|
|
27874
|
+
},
|
|
27875
|
+
{
|
|
27876
|
+
"schema": {
|
|
27877
|
+
"type": "string"
|
|
27878
|
+
},
|
|
27879
|
+
"required": false,
|
|
27880
|
+
"name": "include",
|
|
27881
|
+
"in": "query"
|
|
27721
27882
|
}
|
|
27722
27883
|
],
|
|
27723
27884
|
"responses": {
|
|
27724
27885
|
"200": {
|
|
27725
|
-
"description": "The requested todo. Includes `deleted_at` only when fetched with `include_deleted=true` on a soft-deleted row.",
|
|
27886
|
+
"description": "The requested todo. Includes `children` (first-level) when `include=children`, `comments` when `include=comments`, and `deleted_at` only when fetched with `include_deleted=true` on a soft-deleted row.",
|
|
27726
27887
|
"content": {
|
|
27727
27888
|
"application/json": {
|
|
27728
27889
|
"schema": {
|
|
27729
|
-
"$ref": "#/components/schemas/
|
|
27890
|
+
"$ref": "#/components/schemas/TodoWithRelations"
|
|
27730
27891
|
},
|
|
27731
27892
|
"examples": {
|
|
27732
27893
|
"happyPath": {
|
|
27733
|
-
"summary": "
|
|
27894
|
+
"summary": "Todo with first-level children and comments expanded",
|
|
27734
27895
|
"value": {
|
|
27735
27896
|
"id": "tod_01HW3K4N9V5G6Z8C2Q7B1Y0M3F",
|
|
27736
27897
|
"user_id": "usr_01HW3K4N9V5G6Z8C2Q7B1Y0M3F",
|
|
@@ -27739,11 +27900,38 @@
|
|
|
27739
27900
|
"description": "Use refundable rate",
|
|
27740
27901
|
"status": "open",
|
|
27741
27902
|
"parent_id": null,
|
|
27742
|
-
"child_count":
|
|
27903
|
+
"child_count": 1,
|
|
27743
27904
|
"version": 1,
|
|
27744
27905
|
"created_at": 1748736000000,
|
|
27745
27906
|
"updated_at": 1748736000000,
|
|
27746
|
-
"due_at": "2026-06-01"
|
|
27907
|
+
"due_at": "2026-06-01",
|
|
27908
|
+
"children": [
|
|
27909
|
+
{
|
|
27910
|
+
"id": "tod_child",
|
|
27911
|
+
"user_id": "usr_01HW3K4N9V5G6Z8C2Q7B1Y0M3F",
|
|
27912
|
+
"project_id": "prj_01HW3K4N9V5G6Z8C2Q7B1Y0M3F",
|
|
27913
|
+
"title": "Buy milk",
|
|
27914
|
+
"description": "Use refundable rate",
|
|
27915
|
+
"status": "open",
|
|
27916
|
+
"parent_id": "tod_01HW3K4N9V5G6Z8C2Q7B1Y0M3F",
|
|
27917
|
+
"child_count": 0,
|
|
27918
|
+
"version": 1,
|
|
27919
|
+
"created_at": 1748736000000,
|
|
27920
|
+
"updated_at": 1748736000000,
|
|
27921
|
+
"due_at": "2026-06-01"
|
|
27922
|
+
}
|
|
27923
|
+
],
|
|
27924
|
+
"comments": [
|
|
27925
|
+
{
|
|
27926
|
+
"id": "tdc_01HW3K4N9V5G6Z8C2Q7B1Y0M3F",
|
|
27927
|
+
"todo_id": "tod_01HW3K4N9V5G6Z8C2Q7B1Y0M3F",
|
|
27928
|
+
"user_id": "usr_01HW3K4N9V5G6Z8C2Q7B1Y0M3F",
|
|
27929
|
+
"org_id": "org_01HW3K4N9V5G6Z8C2Q7B1Y0M3F",
|
|
27930
|
+
"content": "Looks good",
|
|
27931
|
+
"created_at": 1748736000000,
|
|
27932
|
+
"updated_at": 1748736000000
|
|
27933
|
+
}
|
|
27934
|
+
]
|
|
27747
27935
|
}
|
|
27748
27936
|
}
|
|
27749
27937
|
}
|
|
@@ -28097,8 +28285,6 @@
|
|
|
28097
28285
|
"project_id": "id-short",
|
|
28098
28286
|
"parent_id": "id-short",
|
|
28099
28287
|
"type_id": "id-short",
|
|
28100
|
-
"title": "truncate",
|
|
28101
|
-
"description": "truncate",
|
|
28102
28288
|
"status": "status-badge",
|
|
28103
28289
|
"due_at": "relative-time",
|
|
28104
28290
|
"created_at": "relative-time",
|