@proveanything/smartlinks 2.1.10 → 2.1.11

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/openapi.yaml CHANGED
@@ -64,6 +64,8 @@ tags:
64
64
  description: blocks API
65
65
  - name: broadcasts
66
66
  description: Broadcast messaging campaigns.
67
+ - name: ranges
68
+ description: ranges API
67
69
  - name: collection
68
70
  description: Collection (tenant) configuration and resources.
69
71
  - name: comms
@@ -100,6 +102,8 @@ tags:
100
102
  description: NFC tag encoding and lookup.
101
103
  - name: order
102
104
  description: Order records and line items.
105
+ - name: partner
106
+ description: partner API
103
107
  - name: product
104
108
  description: Single product operations.
105
109
  - name: products
@@ -8994,6 +8998,149 @@ paths:
8994
8998
  application/json:
8995
8999
  schema:
8996
9000
  $ref: "#/components/schemas/TransactionalSendRequest"
9001
+ /admin/partner:
9002
+ get:
9003
+ tags:
9004
+ - partner
9005
+ summary: The partners you belong to, with your role in each.
9006
+ operationId: partner_list
9007
+ security:
9008
+ - bearerAuth: []
9009
+ responses:
9010
+ 200:
9011
+ description: Success
9012
+ content:
9013
+ application/json:
9014
+ schema:
9015
+ type: array
9016
+ items:
9017
+ $ref: "#/components/schemas/Partner"
9018
+ 400:
9019
+ description: Bad request
9020
+ 401:
9021
+ description: Unauthorized
9022
+ 404:
9023
+ description: Not found
9024
+ /admin/partner/{partnerId}:
9025
+ get:
9026
+ tags:
9027
+ - partner
9028
+ summary: One partner (owners also see its members).
9029
+ operationId: partner_get
9030
+ security:
9031
+ - bearerAuth: []
9032
+ parameters:
9033
+ - name: partnerId
9034
+ in: path
9035
+ required: true
9036
+ schema:
9037
+ type: string
9038
+ responses:
9039
+ 200:
9040
+ description: Success
9041
+ content:
9042
+ application/json:
9043
+ schema:
9044
+ $ref: "#/components/schemas/Partner"
9045
+ 400:
9046
+ description: Bad request
9047
+ 401:
9048
+ description: Unauthorized
9049
+ 404:
9050
+ description: Not found
9051
+ /admin/partner/{partnerId}/claimSet:
9052
+ get:
9053
+ tags:
9054
+ - partner
9055
+ summary: "The partner's claim sets."
9056
+ operationId: partner_claimSets
9057
+ security:
9058
+ - bearerAuth: []
9059
+ parameters:
9060
+ - name: partnerId
9061
+ in: path
9062
+ required: true
9063
+ schema:
9064
+ type: string
9065
+ responses:
9066
+ 200:
9067
+ description: Success
9068
+ content:
9069
+ application/json:
9070
+ schema:
9071
+ type: array
9072
+ items:
9073
+ $ref: "#/components/schemas/PartnerClaimSet"
9074
+ 400:
9075
+ description: Bad request
9076
+ 401:
9077
+ description: Unauthorized
9078
+ 404:
9079
+ description: Not found
9080
+ post:
9081
+ tags:
9082
+ - partner
9083
+ summary: A new claim set for the partner, on one of its tap domains (owners and admins).
9084
+ operationId: partner_createClaimSet
9085
+ security:
9086
+ - bearerAuth: []
9087
+ parameters:
9088
+ - name: partnerId
9089
+ in: path
9090
+ required: true
9091
+ schema:
9092
+ type: string
9093
+ responses:
9094
+ 200:
9095
+ description: Success
9096
+ content:
9097
+ application/json:
9098
+ schema:
9099
+ $ref: "#/components/schemas/PartnerClaimSet"
9100
+ 400:
9101
+ description: Bad request
9102
+ 401:
9103
+ description: Unauthorized
9104
+ 404:
9105
+ description: Not found
9106
+ requestBody:
9107
+ required: true
9108
+ content:
9109
+ application/json:
9110
+ schema:
9111
+ $ref: "#/components/schemas/CreatePartnerClaimSetRequest"
9112
+ /admin/partner/{partnerId}/claimSet/{claimSetId}:
9113
+ get:
9114
+ tags:
9115
+ - partner
9116
+ summary: "One of the partner's claim sets."
9117
+ operationId: partner_getClaimSet
9118
+ security:
9119
+ - bearerAuth: []
9120
+ parameters:
9121
+ - name: partnerId
9122
+ in: path
9123
+ required: true
9124
+ schema:
9125
+ type: string
9126
+ - name: claimSetId
9127
+ in: path
9128
+ required: true
9129
+ schema:
9130
+ type: string
9131
+ responses:
9132
+ 200:
9133
+ description: Success
9134
+ content:
9135
+ application/json:
9136
+ schema:
9137
+ $ref: "#/components/schemas/PartnerClaimSet"
9138
+ 400:
9139
+ description: Bad request
9140
+ 401:
9141
+ description: Unauthorized
9142
+ 404:
9143
+ description: Not found
8997
9144
  /authKit/{authKitId}/config:
8998
9145
  get:
8999
9146
  tags:
@@ -14734,96 +14881,40 @@ paths:
14734
14881
  description: Unauthorized
14735
14882
  404:
14736
14883
  description: Not found
14737
- /{zone}/collection/{collectionId}/app/{appId}/cases:
14884
+ /{rangeId}:
14738
14885
  get:
14739
14886
  tags:
14740
- - cases
14741
- summary: List cases with optional query parameters GET /cases
14742
- operationId: cases_list
14887
+ - ranges
14888
+ summary: One range, with its counts refreshed.
14889
+ operationId: ranges_get
14743
14890
  security: []
14744
14891
  parameters:
14745
- - name: zone
14746
- in: path
14747
- required: true
14748
- schema:
14749
- type: string
14750
- - name: collectionId
14751
- in: path
14752
- required: true
14753
- schema:
14754
- type: string
14755
- - name: appId
14892
+ - name: rangeId
14756
14893
  in: path
14757
14894
  required: true
14758
14895
  schema:
14759
14896
  type: string
14760
- - name: category
14761
- in: query
14762
- required: false
14763
- schema:
14764
- type: string
14765
- - name: priority
14766
- in: query
14767
- required: false
14768
- schema:
14769
- type: string
14770
- - name: ref
14771
- in: query
14772
- required: false
14773
- schema:
14774
- type: string
14775
- - name: proofId
14776
- in: query
14777
- required: false
14778
- schema:
14779
- type: string
14780
- - name: contactId
14781
- in: query
14782
- required: false
14783
- schema:
14784
- type: string
14785
- - name: assignedTo
14786
- in: query
14787
- required: false
14788
- schema:
14789
- type: string
14790
- - name: closedAt
14791
- in: query
14792
- required: false
14793
- schema:
14794
- type: string
14795
14897
  responses:
14796
14898
  200:
14797
14899
  description: Success
14798
14900
  content:
14799
14901
  application/json:
14800
14902
  schema:
14801
- type: object
14802
- additionalProperties: true
14903
+ $ref: "#/components/schemas/ClaimSetRange"
14803
14904
  400:
14804
14905
  description: Bad request
14805
14906
  401:
14806
14907
  description: Unauthorized
14807
14908
  404:
14808
14909
  description: Not found
14809
- post:
14910
+ patch:
14810
14911
  tags:
14811
- - cases
14812
- summary: Create a new case POST /cases
14813
- operationId: cases_create
14912
+ - ranges
14913
+ summary: Name, notes, order details, or a stage move (sent to the printer, received).
14914
+ operationId: ranges_update
14814
14915
  security: []
14815
14916
  parameters:
14816
- - name: zone
14817
- in: path
14818
- required: true
14819
- schema:
14820
- type: string
14821
- - name: collectionId
14822
- in: path
14823
- required: true
14824
- schema:
14825
- type: string
14826
- - name: appId
14917
+ - name: rangeId
14827
14918
  in: path
14828
14919
  required: true
14829
14920
  schema:
@@ -14834,7 +14925,7 @@ paths:
14834
14925
  content:
14835
14926
  application/json:
14836
14927
  schema:
14837
- $ref: "#/components/schemas/AppCase"
14928
+ $ref: "#/components/schemas/ClaimSetRange"
14838
14929
  400:
14839
14930
  description: Bad request
14840
14931
  401:
@@ -14846,26 +14937,16 @@ paths:
14846
14937
  content:
14847
14938
  application/json:
14848
14939
  schema:
14849
- $ref: "#/components/schemas/CreateCaseInput"
14850
- /{zone}/collection/{collectionId}/app/{appId}/cases/aggregate:
14940
+ $ref: "#/components/schemas/UpdateClaimSetRangeRequest"
14941
+ /{rangeId}/assign:
14851
14942
  post:
14852
14943
  tags:
14853
- - cases
14854
- summary: Get aggregate statistics for cases POST /cases/aggregate
14855
- operationId: cases_aggregate
14944
+ - ranges
14945
+ summary: Point the range (or from–to within it) at a collection / product / batch, or clear it.
14946
+ operationId: ranges_assign
14856
14947
  security: []
14857
14948
  parameters:
14858
- - name: zone
14859
- in: path
14860
- required: true
14861
- schema:
14862
- type: string
14863
- - name: collectionId
14864
- in: path
14865
- required: true
14866
- schema:
14867
- type: string
14868
- - name: appId
14949
+ - name: rangeId
14869
14950
  in: path
14870
14951
  required: true
14871
14952
  schema:
@@ -14876,7 +14957,7 @@ paths:
14876
14957
  content:
14877
14958
  application/json:
14878
14959
  schema:
14879
- $ref: "#/components/schemas/AggregateResponse"
14960
+ $ref: "#/components/schemas/AssignClaimSetRangeResponse"
14880
14961
  400:
14881
14962
  description: Bad request
14882
14963
  401:
@@ -14888,26 +14969,42 @@ paths:
14888
14969
  content:
14889
14970
  application/json:
14890
14971
  schema:
14891
- $ref: "#/components/schemas/AggregateRequest"
14892
- /{zone}/collection/{collectionId}/app/{appId}/cases/summary:
14893
- post:
14972
+ $ref: "#/components/schemas/AssignClaimSetRangeRequest"
14973
+ /{rangeId}/export:
14974
+ get:
14894
14975
  tags:
14895
- - cases
14896
- summary: Get case summary (admin only) POST /cases/summary
14897
- operationId: cases_summary
14976
+ - ranges
14977
+ summary: "The printer file (CSV text in `csv`)."
14978
+ operationId: ranges_exportFile
14898
14979
  security: []
14899
14980
  parameters:
14900
- - name: zone
14901
- in: path
14902
- required: true
14903
- schema:
14904
- type: string
14905
- - name: collectionId
14981
+ - name: rangeId
14906
14982
  in: path
14907
14983
  required: true
14908
14984
  schema:
14909
14985
  type: string
14910
- - name: appId
14986
+ responses:
14987
+ 200:
14988
+ description: Success
14989
+ content:
14990
+ application/json:
14991
+ schema:
14992
+ $ref: "#/components/schemas/ClaimSetRangeFile"
14993
+ 400:
14994
+ description: Bad request
14995
+ 401:
14996
+ description: Unauthorized
14997
+ 404:
14998
+ description: Not found
14999
+ /{rangeId}/import:
15000
+ post:
15001
+ tags:
15002
+ - ranges
15003
+ summary: "The manufacturer's file back: check it (commit false), then write the chip UIDs (commit true)."
15004
+ operationId: ranges_importUids
15005
+ security: []
15006
+ parameters:
15007
+ - name: rangeId
14911
15008
  in: path
14912
15009
  required: true
14913
15010
  schema:
@@ -14918,7 +15015,7 @@ paths:
14918
15015
  content:
14919
15016
  application/json:
14920
15017
  schema:
14921
- $ref: "#/components/schemas/CaseSummaryResponse"
15018
+ $ref: "#/components/schemas/ImportClaimSetRangeUidsResponse"
14922
15019
  400:
14923
15020
  description: Bad request
14924
15021
  401:
@@ -14930,31 +15027,16 @@ paths:
14930
15027
  content:
14931
15028
  application/json:
14932
15029
  schema:
14933
- $ref: "#/components/schemas/CaseSummaryRequest"
14934
- /{zone}/collection/{collectionId}/app/{appId}/cases/{caseId}:
15030
+ $ref: "#/components/schemas/ImportClaimSetRangeUidsRequest"
15031
+ /{rangeId}/instructions:
14935
15032
  get:
14936
15033
  tags:
14937
- - cases
14938
- summary: "Get a single case by ID GET /cases/:caseId"
14939
- operationId: cases_get
15034
+ - ranges
15035
+ summary: "The manufacturer's instruction sheet: PDF (base64) or Markdown."
15036
+ operationId: ranges_instructions
14940
15037
  security: []
14941
15038
  parameters:
14942
- - name: zone
14943
- in: path
14944
- required: true
14945
- schema:
14946
- type: string
14947
- - name: collectionId
14948
- in: path
14949
- required: true
14950
- schema:
14951
- type: string
14952
- - name: appId
14953
- in: path
14954
- required: true
14955
- schema:
14956
- type: string
14957
- - name: caseId
15039
+ - name: rangeId
14958
15040
  in: path
14959
15041
  required: true
14960
15042
  schema:
@@ -14965,36 +15047,22 @@ paths:
14965
15047
  content:
14966
15048
  application/json:
14967
15049
  schema:
14968
- $ref: "#/components/schemas/AppCase"
15050
+ $ref: "#/components/schemas/ClaimSetRangeFile"
14969
15051
  400:
14970
15052
  description: Bad request
14971
15053
  401:
14972
15054
  description: Unauthorized
14973
15055
  404:
14974
15056
  description: Not found
14975
- patch:
15057
+ /{rangeId}/next:
15058
+ get:
14976
15059
  tags:
14977
- - cases
14978
- summary: "Update a case PATCH /cases/:caseId Admin can update any field, public (owner) can only update data and owner zones"
14979
- operationId: cases_update
15060
+ - ranges
15061
+ summary: The next tag to program on a phone (lowest index without a chip), with its URL and key.
15062
+ operationId: ranges_next
14980
15063
  security: []
14981
15064
  parameters:
14982
- - name: zone
14983
- in: path
14984
- required: true
14985
- schema:
14986
- type: string
14987
- - name: collectionId
14988
- in: path
14989
- required: true
14990
- schema:
14991
- type: string
14992
- - name: appId
14993
- in: path
14994
- required: true
14995
- schema:
14996
- type: string
14997
- - name: caseId
15065
+ - name: rangeId
14998
15066
  in: path
14999
15067
  required: true
15000
15068
  schema:
@@ -15005,43 +15073,22 @@ paths:
15005
15073
  content:
15006
15074
  application/json:
15007
15075
  schema:
15008
- $ref: "#/components/schemas/AppCase"
15076
+ $ref: "#/components/schemas/ClaimSetRangeNextTag"
15009
15077
  400:
15010
15078
  description: Bad request
15011
15079
  401:
15012
15080
  description: Unauthorized
15013
15081
  404:
15014
15082
  description: Not found
15015
- requestBody:
15016
- required: true
15017
- content:
15018
- application/json:
15019
- schema:
15020
- $ref: "#/components/schemas/UpdateCaseInput"
15021
- /{zone}/collection/{collectionId}/app/{appId}/cases/{caseId}/history:
15083
+ /{rangeId}/resume:
15022
15084
  post:
15023
15085
  tags:
15024
- - cases
15025
- summary: "Append an entry to case history (admin only) POST /cases/:caseId/history"
15026
- operationId: cases_appendHistory
15086
+ - ranges
15087
+ summary: Finish minting a range that was interrupted.
15088
+ operationId: ranges_resume
15027
15089
  security: []
15028
15090
  parameters:
15029
- - name: zone
15030
- in: path
15031
- required: true
15032
- schema:
15033
- type: string
15034
- - name: collectionId
15035
- in: path
15036
- required: true
15037
- schema:
15038
- type: string
15039
- - name: appId
15040
- in: path
15041
- required: true
15042
- schema:
15043
- type: string
15044
- - name: caseId
15091
+ - name: rangeId
15045
15092
  in: path
15046
15093
  required: true
15047
15094
  schema:
@@ -15052,7 +15099,7 @@ paths:
15052
15099
  content:
15053
15100
  application/json:
15054
15101
  schema:
15055
- $ref: "#/components/schemas/AppCase"
15102
+ $ref: "#/components/schemas/ClaimSetRange"
15056
15103
  400:
15057
15104
  description: Bad request
15058
15105
  401:
@@ -15064,33 +15111,33 @@ paths:
15064
15111
  content:
15065
15112
  application/json:
15066
15113
  schema:
15067
- $ref: "#/components/schemas/AppendHistoryInput"
15068
- /{zone}/collection/{collectionId}/app/{appId}/cases/{caseId}/related:
15114
+ $ref: "#/components/schemas/ClaimSetScope"
15115
+ /{rangeId}/tags:
15069
15116
  get:
15070
15117
  tags:
15071
- - cases
15072
- summary: "Get related threads and records for a case (admin only) GET /cases/:caseId/related"
15073
- operationId: cases_related
15118
+ - ranges
15119
+ summary: "The range's tags in index order, a page at a time (keys: owners/admins only)."
15120
+ operationId: ranges_tags
15074
15121
  security: []
15075
15122
  parameters:
15076
- - name: zone
15123
+ - name: rangeId
15077
15124
  in: path
15078
15125
  required: true
15079
15126
  schema:
15080
15127
  type: string
15081
- - name: collectionId
15082
- in: path
15083
- required: true
15128
+ - name: from
15129
+ in: query
15130
+ required: false
15084
15131
  schema:
15085
15132
  type: string
15086
- - name: appId
15087
- in: path
15088
- required: true
15133
+ - name: limit
15134
+ in: query
15135
+ required: false
15089
15136
  schema:
15090
15137
  type: string
15091
- - name: caseId
15092
- in: path
15093
- required: true
15138
+ - name: keys
15139
+ in: query
15140
+ required: false
15094
15141
  schema:
15095
15142
  type: string
15096
15143
  responses:
@@ -15099,19 +15146,19 @@ paths:
15099
15146
  content:
15100
15147
  application/json:
15101
15148
  schema:
15102
- $ref: "#/components/schemas/RelatedResponse"
15149
+ $ref: "#/components/schemas/ClaimSetRangeTagsPage"
15103
15150
  400:
15104
15151
  description: Bad request
15105
15152
  401:
15106
15153
  description: Unauthorized
15107
15154
  404:
15108
15155
  description: Not found
15109
- /{zone}/collection/{collectionId}/app/{appId}/records:
15156
+ /{zone}/collection/{collectionId}/app/{appId}/cases:
15110
15157
  get:
15111
15158
  tags:
15112
- - records
15113
- summary: "List records with optional query parameters GET /records Public/owner callers only receive records with `status: \"active\"`."
15114
- operationId: records_list
15159
+ - cases
15160
+ summary: List cases with optional query parameters GET /cases
15161
+ operationId: cases_list
15115
15162
  security: []
15116
15163
  parameters:
15117
15164
  - name: zone
@@ -15129,12 +15176,12 @@ paths:
15129
15176
  required: true
15130
15177
  schema:
15131
15178
  type: string
15132
- - name: status
15179
+ - name: category
15133
15180
  in: query
15134
15181
  required: false
15135
15182
  schema:
15136
15183
  type: string
15137
- - name: recordType
15184
+ - name: priority
15138
15185
  in: query
15139
15186
  required: false
15140
15187
  schema:
@@ -15144,106 +15191,26 @@ paths:
15144
15191
  required: false
15145
15192
  schema:
15146
15193
  type: string
15147
- - name: refPrefix
15148
- in: query
15149
- required: false
15150
- schema:
15151
- type: string
15152
- - name: customId
15153
- in: query
15154
- required: false
15155
- schema:
15156
- type: string
15157
- - name: sourceSystem
15158
- in: query
15159
- required: false
15160
- schema:
15161
- type: string
15162
15194
  - name: proofId
15163
15195
  in: query
15164
15196
  required: false
15165
15197
  schema:
15166
15198
  type: string
15167
- - name: variantId
15168
- in: query
15169
- required: false
15170
- schema:
15171
- type: string
15172
- - name: batchId
15173
- in: query
15174
- required: false
15175
- schema:
15176
- type: string
15177
- - name: q
15178
- in: query
15179
- required: false
15180
- schema:
15181
- type: string
15182
- - name: qFields
15183
- in: query
15184
- required: false
15185
- schema:
15186
- type: string
15187
- - name: dataFilter
15188
- in: query
15189
- required: false
15190
- schema:
15191
- type: object
15192
- additionalProperties:
15193
- type: array
15194
- items:
15195
- type: object
15196
- additionalProperties: true
15197
- - name: authorId
15198
- in: query
15199
- required: false
15200
- schema:
15201
- type: string
15202
- - name: parentType
15203
- in: query
15204
- required: false
15205
- schema:
15206
- type: string
15207
- - name: parentId
15208
- in: query
15209
- required: false
15210
- schema:
15211
- type: string
15212
- - name: startsAt
15213
- in: query
15214
- required: false
15215
- schema:
15216
- type: string
15217
- - name: expiresAt
15199
+ - name: contactId
15218
15200
  in: query
15219
15201
  required: false
15220
15202
  schema:
15221
15203
  type: string
15222
- - name: includeScheduled
15223
- in: query
15224
- required: false
15225
- schema:
15226
- type: boolean
15227
- - name: includeExpired
15228
- in: query
15229
- required: false
15230
- schema:
15231
- type: boolean
15232
- - name: at
15204
+ - name: assignedTo
15233
15205
  in: query
15234
15206
  required: false
15235
15207
  schema:
15236
15208
  type: string
15237
- - name: contactId
15209
+ - name: closedAt
15238
15210
  in: query
15239
15211
  required: false
15240
15212
  schema:
15241
15213
  type: string
15242
- - name: includeDeleted
15243
- in: query
15244
- required: false
15245
- schema:
15246
- type: boolean
15247
15214
  responses:
15248
15215
  200:
15249
15216
  description: Success
@@ -15260,9 +15227,9 @@ paths:
15260
15227
  description: Not found
15261
15228
  post:
15262
15229
  tags:
15263
- - records
15264
- summary: "Create a new record POST /records When called on the public endpoint (admin = false) with an anonymous caller, and the app's `publicCreate.records.anonymous.edit.editToken` policy is enabled, the response includes a one-time `editToken` string."
15265
- operationId: records_create
15230
+ - cases
15231
+ summary: Create a new case POST /cases
15232
+ operationId: cases_create
15266
15233
  security: []
15267
15234
  parameters:
15268
15235
  - name: zone
@@ -15286,7 +15253,7 @@ paths:
15286
15253
  content:
15287
15254
  application/json:
15288
15255
  schema:
15289
- $ref: "#/components/schemas/CreateRecordResponse"
15256
+ $ref: "#/components/schemas/AppCase"
15290
15257
  400:
15291
15258
  description: Bad request
15292
15259
  401:
@@ -15298,13 +15265,13 @@ paths:
15298
15265
  content:
15299
15266
  application/json:
15300
15267
  schema:
15301
- $ref: "#/components/schemas/CreateRecordInput"
15302
- /{zone}/collection/{collectionId}/app/{appId}/records/aggregate:
15268
+ $ref: "#/components/schemas/CreateCaseInput"
15269
+ /{zone}/collection/{collectionId}/app/{appId}/cases/aggregate:
15303
15270
  post:
15304
15271
  tags:
15305
- - records
15306
- summary: Get aggregate statistics for records POST /records/aggregate
15307
- operationId: records_aggregate
15272
+ - cases
15273
+ summary: Get aggregate statistics for cases POST /cases/aggregate
15274
+ operationId: cases_aggregate
15308
15275
  security: []
15309
15276
  parameters:
15310
15277
  - name: zone
@@ -15341,12 +15308,12 @@ paths:
15341
15308
  application/json:
15342
15309
  schema:
15343
15310
  $ref: "#/components/schemas/AggregateRequest"
15344
- /{zone}/collection/{collectionId}/app/{appId}/records/bulk-delete:
15311
+ /{zone}/collection/{collectionId}/app/{appId}/cases/summary:
15345
15312
  post:
15346
15313
  tags:
15347
- - records
15348
- summary: Soft-delete records in bulk.
15349
- operationId: records_bulkDelete
15314
+ - cases
15315
+ summary: Get case summary (admin only) POST /cases/summary
15316
+ operationId: cases_summary
15350
15317
  security: []
15351
15318
  parameters:
15352
15319
  - name: zone
@@ -15370,7 +15337,7 @@ paths:
15370
15337
  content:
15371
15338
  application/json:
15372
15339
  schema:
15373
- $ref: "#/components/schemas/BulkDeleteResult"
15340
+ $ref: "#/components/schemas/CaseSummaryResponse"
15374
15341
  400:
15375
15342
  description: Bad request
15376
15343
  401:
@@ -15382,13 +15349,13 @@ paths:
15382
15349
  content:
15383
15350
  application/json:
15384
15351
  schema:
15385
- $ref: "#/components/schemas/BulkDeleteInput"
15386
- /{zone}/collection/{collectionId}/app/{appId}/records/bulk-upsert:
15387
- post:
15352
+ $ref: "#/components/schemas/CaseSummaryRequest"
15353
+ /{zone}/collection/{collectionId}/app/{appId}/cases/{caseId}:
15354
+ get:
15388
15355
  tags:
15389
- - records
15390
- summary: Upsert up to 500 records in a single transaction.
15391
- operationId: records_bulkUpsert
15356
+ - cases
15357
+ summary: "Get a single case by ID GET /cases/:caseId"
15358
+ operationId: cases_get
15392
15359
  security: []
15393
15360
  parameters:
15394
15361
  - name: zone
@@ -15406,33 +15373,29 @@ paths:
15406
15373
  required: true
15407
15374
  schema:
15408
15375
  type: string
15376
+ - name: caseId
15377
+ in: path
15378
+ required: true
15379
+ schema:
15380
+ type: string
15409
15381
  responses:
15410
15382
  200:
15411
15383
  description: Success
15412
15384
  content:
15413
15385
  application/json:
15414
15386
  schema:
15415
- $ref: "#/components/schemas/BulkUpsertResult"
15387
+ $ref: "#/components/schemas/AppCase"
15416
15388
  400:
15417
15389
  description: Bad request
15418
15390
  401:
15419
15391
  description: Unauthorized
15420
15392
  404:
15421
15393
  description: Not found
15422
- requestBody:
15423
- required: true
15424
- content:
15425
- application/json:
15426
- schema:
15427
- type: array
15428
- items:
15429
- $ref: "#/components/schemas/BulkUpsertItem"
15430
- /{zone}/collection/{collectionId}/app/{appId}/records/match:
15431
- post:
15394
+ patch:
15432
15395
  tags:
15433
- - records
15434
- summary: Match records against a runtime target scope.
15435
- operationId: records_match
15396
+ - cases
15397
+ summary: "Update a case PATCH /cases/:caseId Admin can update any field, public (owner) can only update data and owner zones"
15398
+ operationId: cases_update
15436
15399
  security: []
15437
15400
  parameters:
15438
15401
  - name: zone
@@ -15450,13 +15413,18 @@ paths:
15450
15413
  required: true
15451
15414
  schema:
15452
15415
  type: string
15416
+ - name: caseId
15417
+ in: path
15418
+ required: true
15419
+ schema:
15420
+ type: string
15453
15421
  responses:
15454
15422
  200:
15455
15423
  description: Success
15456
15424
  content:
15457
15425
  application/json:
15458
15426
  schema:
15459
- $ref: "#/components/schemas/MatchResult"
15427
+ $ref: "#/components/schemas/AppCase"
15460
15428
  400:
15461
15429
  description: Bad request
15462
15430
  401:
@@ -15468,13 +15436,13 @@ paths:
15468
15436
  content:
15469
15437
  application/json:
15470
15438
  schema:
15471
- $ref: "#/components/schemas/MatchRecordsInput"
15472
- /{zone}/collection/{collectionId}/app/{appId}/records/preview-rule:
15439
+ $ref: "#/components/schemas/UpdateCaseInput"
15440
+ /{zone}/collection/{collectionId}/app/{appId}/cases/{caseId}/history:
15473
15441
  post:
15474
15442
  tags:
15475
- - records
15476
- summary: Preview which products in the collection match a given facetRule.
15477
- operationId: records_previewRule
15443
+ - cases
15444
+ summary: "Append an entry to case history (admin only) POST /cases/:caseId/history"
15445
+ operationId: cases_appendHistory
15478
15446
  security: []
15479
15447
  parameters:
15480
15448
  - name: zone
@@ -15492,13 +15460,18 @@ paths:
15492
15460
  required: true
15493
15461
  schema:
15494
15462
  type: string
15463
+ - name: caseId
15464
+ in: path
15465
+ required: true
15466
+ schema:
15467
+ type: string
15495
15468
  responses:
15496
15469
  200:
15497
15470
  description: Success
15498
15471
  content:
15499
15472
  application/json:
15500
15473
  schema:
15501
- $ref: "#/components/schemas/PreviewRuleResult"
15474
+ $ref: "#/components/schemas/AppCase"
15502
15475
  400:
15503
15476
  description: Bad request
15504
15477
  401:
@@ -15510,13 +15483,13 @@ paths:
15510
15483
  content:
15511
15484
  application/json:
15512
15485
  schema:
15513
- $ref: "#/components/schemas/PreviewRuleParams"
15514
- /{zone}/collection/{collectionId}/app/{appId}/records/resolve-all:
15515
- post:
15486
+ $ref: "#/components/schemas/AppendHistoryInput"
15487
+ /{zone}/collection/{collectionId}/app/{appId}/cases/{caseId}/related:
15488
+ get:
15516
15489
  tags:
15517
- - records
15518
- summary: Resolve every applicable record for a product context in one call.
15519
- operationId: records_resolveAll
15490
+ - cases
15491
+ summary: "Get related threads and records for a case (admin only) GET /cases/:caseId/related"
15492
+ operationId: cases_related
15520
15493
  security: []
15521
15494
  parameters:
15522
15495
  - name: zone
@@ -15534,44 +15507,7 @@ paths:
15534
15507
  required: true
15535
15508
  schema:
15536
15509
  type: string
15537
- responses:
15538
- 200:
15539
- description: Success
15540
- content:
15541
- application/json:
15542
- schema:
15543
- $ref: "#/components/schemas/ResolveAllResult"
15544
- 400:
15545
- description: Bad request
15546
- 401:
15547
- description: Unauthorized
15548
- 404:
15549
- description: Not found
15550
- requestBody:
15551
- required: true
15552
- content:
15553
- application/json:
15554
- schema:
15555
- $ref: "#/components/schemas/ResolveAllParams"
15556
- /{zone}/collection/{collectionId}/app/{appId}/records/upsert:
15557
- post:
15558
- tags:
15559
- - records
15560
- summary: Upsert a record by ref — creates if no record with that ref exists, otherwise updates.
15561
- operationId: records_upsert
15562
- security: []
15563
- parameters:
15564
- - name: zone
15565
- in: path
15566
- required: true
15567
- schema:
15568
- type: string
15569
- - name: collectionId
15570
- in: path
15571
- required: true
15572
- schema:
15573
- type: string
15574
- - name: appId
15510
+ - name: caseId
15575
15511
  in: path
15576
15512
  required: true
15577
15513
  schema:
@@ -15582,25 +15518,19 @@ paths:
15582
15518
  content:
15583
15519
  application/json:
15584
15520
  schema:
15585
- $ref: "#/components/schemas/UpsertRecordResponse"
15521
+ $ref: "#/components/schemas/RelatedResponse"
15586
15522
  400:
15587
15523
  description: Bad request
15588
15524
  401:
15589
15525
  description: Unauthorized
15590
15526
  404:
15591
15527
  description: Not found
15592
- requestBody:
15593
- required: true
15594
- content:
15595
- application/json:
15596
- schema:
15597
- $ref: "#/components/schemas/UpsertRecordInput"
15598
- /{zone}/collection/{collectionId}/app/{appId}/records/{recordId}:
15528
+ /{zone}/collection/{collectionId}/app/{appId}/records:
15599
15529
  get:
15600
15530
  tags:
15601
15531
  - records
15602
- summary: "Get a single record by ID GET /records/:recordId"
15603
- operationId: records_get
15532
+ summary: "List records with optional query parameters GET /records Public/owner callers only receive records with `status: \"active\"`."
15533
+ operationId: records_list
15604
15534
  security: []
15605
15535
  parameters:
15606
15536
  - name: zone
@@ -15618,139 +15548,71 @@ paths:
15618
15548
  required: true
15619
15549
  schema:
15620
15550
  type: string
15621
- - name: recordId
15622
- in: path
15623
- required: true
15624
- schema:
15625
- type: string
15626
- responses:
15627
- 200:
15628
- description: Success
15629
- content:
15630
- application/json:
15631
- schema:
15632
- $ref: "#/components/schemas/AppRecord"
15633
- 400:
15634
- description: Bad request
15635
- 401:
15636
- description: Unauthorized
15637
- 404:
15638
- description: Not found
15639
- patch:
15640
- tags:
15641
- - records
15642
- summary: "Update a record PATCH /records/:recordId Admin can update any field, public (owner) can only update data and owner"
15643
- operationId: records_update
15644
- security: []
15645
- parameters:
15646
- - name: zone
15647
- in: path
15648
- required: true
15551
+ - name: status
15552
+ in: query
15553
+ required: false
15649
15554
  schema:
15650
15555
  type: string
15651
- - name: collectionId
15652
- in: path
15653
- required: true
15556
+ - name: recordType
15557
+ in: query
15558
+ required: false
15654
15559
  schema:
15655
15560
  type: string
15656
- - name: appId
15657
- in: path
15658
- required: true
15561
+ - name: ref
15562
+ in: query
15563
+ required: false
15659
15564
  schema:
15660
15565
  type: string
15661
- - name: recordId
15662
- in: path
15663
- required: true
15566
+ - name: refPrefix
15567
+ in: query
15568
+ required: false
15664
15569
  schema:
15665
15570
  type: string
15666
- responses:
15667
- 200:
15668
- description: Success
15669
- content:
15670
- application/json:
15671
- schema:
15672
- $ref: "#/components/schemas/AppRecord"
15673
- 400:
15674
- description: Bad request
15675
- 401:
15676
- description: Unauthorized
15677
- 404:
15678
- description: Not found
15679
- requestBody:
15680
- required: true
15681
- content:
15682
- application/json:
15683
- schema:
15684
- $ref: "#/components/schemas/UpdateRecordInput"
15685
- /{zone}/collection/{collectionId}/app/{appId}/records/{recordId}/restore:
15686
- post:
15687
- tags:
15688
- - records
15689
- summary: Restore a soft-deleted record.
15690
- operationId: records_restore
15691
- security: []
15692
- parameters:
15693
- - name: zone
15694
- in: path
15695
- required: true
15571
+ - name: customId
15572
+ in: query
15573
+ required: false
15696
15574
  schema:
15697
15575
  type: string
15698
- - name: collectionId
15699
- in: path
15700
- required: true
15576
+ - name: sourceSystem
15577
+ in: query
15578
+ required: false
15701
15579
  schema:
15702
15580
  type: string
15703
- - name: appId
15704
- in: path
15705
- required: true
15581
+ - name: proofId
15582
+ in: query
15583
+ required: false
15706
15584
  schema:
15707
15585
  type: string
15708
- - name: recordId
15709
- in: path
15710
- required: true
15586
+ - name: variantId
15587
+ in: query
15588
+ required: false
15711
15589
  schema:
15712
15590
  type: string
15713
- responses:
15714
- 200:
15715
- description: Success
15716
- content:
15717
- application/json:
15718
- schema:
15719
- $ref: "#/components/schemas/AppRecord"
15720
- 400:
15721
- description: Bad request
15722
- 401:
15723
- description: Unauthorized
15724
- 404:
15725
- description: Not found
15726
- /{zone}/collection/{collectionId}/app/{appId}/threads:
15727
- get:
15728
- tags:
15729
- - threads
15730
- summary: List threads with optional query parameters GET /threads
15731
- operationId: threads_list
15732
- security: []
15733
- parameters:
15734
- - name: zone
15735
- in: path
15736
- required: true
15591
+ - name: batchId
15592
+ in: query
15593
+ required: false
15737
15594
  schema:
15738
15595
  type: string
15739
- - name: collectionId
15740
- in: path
15741
- required: true
15596
+ - name: q
15597
+ in: query
15598
+ required: false
15742
15599
  schema:
15743
15600
  type: string
15744
- - name: appId
15745
- in: path
15746
- required: true
15601
+ - name: qFields
15602
+ in: query
15603
+ required: false
15747
15604
  schema:
15748
15605
  type: string
15749
- - name: slug
15606
+ - name: dataFilter
15750
15607
  in: query
15751
15608
  required: false
15752
15609
  schema:
15753
- type: string
15610
+ type: object
15611
+ additionalProperties:
15612
+ type: array
15613
+ items:
15614
+ type: object
15615
+ additionalProperties: true
15754
15616
  - name: authorId
15755
15617
  in: query
15756
15618
  required: false
@@ -15766,24 +15628,27 @@ paths:
15766
15628
  required: false
15767
15629
  schema:
15768
15630
  type: string
15769
- - name: parentIds
15631
+ - name: startsAt
15770
15632
  in: query
15771
15633
  required: false
15772
15634
  schema:
15773
- type: array
15774
- items:
15775
- type: string
15776
- - name: proofId
15635
+ type: string
15636
+ - name: expiresAt
15777
15637
  in: query
15778
15638
  required: false
15779
15639
  schema:
15780
15640
  type: string
15781
- - name: productId
15641
+ - name: includeScheduled
15782
15642
  in: query
15783
15643
  required: false
15784
15644
  schema:
15785
- type: string
15786
- - name: tag
15645
+ type: boolean
15646
+ - name: includeExpired
15647
+ in: query
15648
+ required: false
15649
+ schema:
15650
+ type: boolean
15651
+ - name: at
15787
15652
  in: query
15788
15653
  required: false
15789
15654
  schema:
@@ -15793,6 +15658,11 @@ paths:
15793
15658
  required: false
15794
15659
  schema:
15795
15660
  type: string
15661
+ - name: includeDeleted
15662
+ in: query
15663
+ required: false
15664
+ schema:
15665
+ type: boolean
15796
15666
  responses:
15797
15667
  200:
15798
15668
  description: Success
@@ -15809,9 +15679,9 @@ paths:
15809
15679
  description: Not found
15810
15680
  post:
15811
15681
  tags:
15812
- - threads
15813
- summary: Create a new thread POST /threads
15814
- operationId: threads_create
15682
+ - records
15683
+ summary: "Create a new record POST /records When called on the public endpoint (admin = false) with an anonymous caller, and the app's `publicCreate.records.anonymous.edit.editToken` policy is enabled, the response includes a one-time `editToken` string."
15684
+ operationId: records_create
15815
15685
  security: []
15816
15686
  parameters:
15817
15687
  - name: zone
@@ -15835,7 +15705,7 @@ paths:
15835
15705
  content:
15836
15706
  application/json:
15837
15707
  schema:
15838
- $ref: "#/components/schemas/AppThread"
15708
+ $ref: "#/components/schemas/CreateRecordResponse"
15839
15709
  400:
15840
15710
  description: Bad request
15841
15711
  401:
@@ -15847,13 +15717,13 @@ paths:
15847
15717
  content:
15848
15718
  application/json:
15849
15719
  schema:
15850
- $ref: "#/components/schemas/CreateThreadInput"
15851
- /{zone}/collection/{collectionId}/app/{appId}/threads/aggregate:
15720
+ $ref: "#/components/schemas/CreateRecordInput"
15721
+ /{zone}/collection/{collectionId}/app/{appId}/records/aggregate:
15852
15722
  post:
15853
15723
  tags:
15854
- - threads
15855
- summary: Get aggregate statistics for threads POST /threads/aggregate
15856
- operationId: threads_aggregate
15724
+ - records
15725
+ summary: Get aggregate statistics for records POST /records/aggregate
15726
+ operationId: records_aggregate
15857
15727
  security: []
15858
15728
  parameters:
15859
15729
  - name: zone
@@ -15890,12 +15760,12 @@ paths:
15890
15760
  application/json:
15891
15761
  schema:
15892
15762
  $ref: "#/components/schemas/AggregateRequest"
15893
- /{zone}/collection/{collectionId}/app/{appId}/threads/{threadId}:
15894
- get:
15763
+ /{zone}/collection/{collectionId}/app/{appId}/records/bulk-delete:
15764
+ post:
15895
15765
  tags:
15896
- - threads
15897
- summary: "Get a single thread by ID GET /threads/:threadId"
15898
- operationId: threads_get
15766
+ - records
15767
+ summary: Soft-delete records in bulk.
15768
+ operationId: records_bulkDelete
15899
15769
  security: []
15900
15770
  parameters:
15901
15771
  - name: zone
@@ -15913,7 +15783,44 @@ paths:
15913
15783
  required: true
15914
15784
  schema:
15915
15785
  type: string
15916
- - name: threadId
15786
+ responses:
15787
+ 200:
15788
+ description: Success
15789
+ content:
15790
+ application/json:
15791
+ schema:
15792
+ $ref: "#/components/schemas/BulkDeleteResult"
15793
+ 400:
15794
+ description: Bad request
15795
+ 401:
15796
+ description: Unauthorized
15797
+ 404:
15798
+ description: Not found
15799
+ requestBody:
15800
+ required: true
15801
+ content:
15802
+ application/json:
15803
+ schema:
15804
+ $ref: "#/components/schemas/BulkDeleteInput"
15805
+ /{zone}/collection/{collectionId}/app/{appId}/records/bulk-upsert:
15806
+ post:
15807
+ tags:
15808
+ - records
15809
+ summary: Upsert up to 500 records in a single transaction.
15810
+ operationId: records_bulkUpsert
15811
+ security: []
15812
+ parameters:
15813
+ - name: zone
15814
+ in: path
15815
+ required: true
15816
+ schema:
15817
+ type: string
15818
+ - name: collectionId
15819
+ in: path
15820
+ required: true
15821
+ schema:
15822
+ type: string
15823
+ - name: appId
15917
15824
  in: path
15918
15825
  required: true
15919
15826
  schema:
@@ -15924,18 +15831,27 @@ paths:
15924
15831
  content:
15925
15832
  application/json:
15926
15833
  schema:
15927
- $ref: "#/components/schemas/AppThread"
15834
+ $ref: "#/components/schemas/BulkUpsertResult"
15928
15835
  400:
15929
15836
  description: Bad request
15930
15837
  401:
15931
15838
  description: Unauthorized
15932
15839
  404:
15933
15840
  description: Not found
15934
- patch:
15841
+ requestBody:
15842
+ required: true
15843
+ content:
15844
+ application/json:
15845
+ schema:
15846
+ type: array
15847
+ items:
15848
+ $ref: "#/components/schemas/BulkUpsertItem"
15849
+ /{zone}/collection/{collectionId}/app/{appId}/records/match:
15850
+ post:
15935
15851
  tags:
15936
- - threads
15937
- summary: "Update a thread PATCH /threads/:threadId Admin can update any field, public (owner) can only update body, tags, data, ow"
15938
- operationId: threads_update
15852
+ - records
15853
+ summary: Match records against a runtime target scope.
15854
+ operationId: records_match
15939
15855
  security: []
15940
15856
  parameters:
15941
15857
  - name: zone
@@ -15953,7 +15869,44 @@ paths:
15953
15869
  required: true
15954
15870
  schema:
15955
15871
  type: string
15956
- - name: threadId
15872
+ responses:
15873
+ 200:
15874
+ description: Success
15875
+ content:
15876
+ application/json:
15877
+ schema:
15878
+ $ref: "#/components/schemas/MatchResult"
15879
+ 400:
15880
+ description: Bad request
15881
+ 401:
15882
+ description: Unauthorized
15883
+ 404:
15884
+ description: Not found
15885
+ requestBody:
15886
+ required: true
15887
+ content:
15888
+ application/json:
15889
+ schema:
15890
+ $ref: "#/components/schemas/MatchRecordsInput"
15891
+ /{zone}/collection/{collectionId}/app/{appId}/records/preview-rule:
15892
+ post:
15893
+ tags:
15894
+ - records
15895
+ summary: Preview which products in the collection match a given facetRule.
15896
+ operationId: records_previewRule
15897
+ security: []
15898
+ parameters:
15899
+ - name: zone
15900
+ in: path
15901
+ required: true
15902
+ schema:
15903
+ type: string
15904
+ - name: collectionId
15905
+ in: path
15906
+ required: true
15907
+ schema:
15908
+ type: string
15909
+ - name: appId
15957
15910
  in: path
15958
15911
  required: true
15959
15912
  schema:
@@ -15964,7 +15917,7 @@ paths:
15964
15917
  content:
15965
15918
  application/json:
15966
15919
  schema:
15967
- $ref: "#/components/schemas/AppThread"
15920
+ $ref: "#/components/schemas/PreviewRuleResult"
15968
15921
  400:
15969
15922
  description: Bad request
15970
15923
  401:
@@ -15976,13 +15929,13 @@ paths:
15976
15929
  content:
15977
15930
  application/json:
15978
15931
  schema:
15979
- $ref: "#/components/schemas/UpdateThreadInput"
15980
- /{zone}/collection/{collectionId}/app/{appId}/threads/{threadId}/reply:
15932
+ $ref: "#/components/schemas/PreviewRuleParams"
15933
+ /{zone}/collection/{collectionId}/app/{appId}/records/resolve-all:
15981
15934
  post:
15982
15935
  tags:
15983
- - threads
15984
- summary: "Add a reply to a thread POST /threads/:threadId/reply Atomically appends to replies array, increments replyCount, update"
15985
- operationId: threads_reply
15936
+ - records
15937
+ summary: Resolve every applicable record for a product context in one call.
15938
+ operationId: records_resolveAll
15986
15939
  security: []
15987
15940
  parameters:
15988
15941
  - name: zone
@@ -16000,7 +15953,44 @@ paths:
16000
15953
  required: true
16001
15954
  schema:
16002
15955
  type: string
16003
- - name: threadId
15956
+ responses:
15957
+ 200:
15958
+ description: Success
15959
+ content:
15960
+ application/json:
15961
+ schema:
15962
+ $ref: "#/components/schemas/ResolveAllResult"
15963
+ 400:
15964
+ description: Bad request
15965
+ 401:
15966
+ description: Unauthorized
15967
+ 404:
15968
+ description: Not found
15969
+ requestBody:
15970
+ required: true
15971
+ content:
15972
+ application/json:
15973
+ schema:
15974
+ $ref: "#/components/schemas/ResolveAllParams"
15975
+ /{zone}/collection/{collectionId}/app/{appId}/records/upsert:
15976
+ post:
15977
+ tags:
15978
+ - records
15979
+ summary: Upsert a record by ref — creates if no record with that ref exists, otherwise updates.
15980
+ operationId: records_upsert
15981
+ security: []
15982
+ parameters:
15983
+ - name: zone
15984
+ in: path
15985
+ required: true
15986
+ schema:
15987
+ type: string
15988
+ - name: collectionId
15989
+ in: path
15990
+ required: true
15991
+ schema:
15992
+ type: string
15993
+ - name: appId
16004
15994
  in: path
16005
15995
  required: true
16006
15996
  schema:
@@ -16011,7 +16001,7 @@ paths:
16011
16001
  content:
16012
16002
  application/json:
16013
16003
  schema:
16014
- $ref: "#/components/schemas/AppThread"
16004
+ $ref: "#/components/schemas/UpsertRecordResponse"
16015
16005
  400:
16016
16006
  description: Bad request
16017
16007
  401:
@@ -16023,13 +16013,13 @@ paths:
16023
16013
  content:
16024
16014
  application/json:
16025
16015
  schema:
16026
- $ref: "#/components/schemas/ReplyInput"
16027
- /{zone}/collection/{collectionId}/app/{appId}/threads/{threadId}/reply/{replyId}:
16028
- delete:
16016
+ $ref: "#/components/schemas/UpsertRecordInput"
16017
+ /{zone}/collection/{collectionId}/app/{appId}/records/{recordId}:
16018
+ get:
16029
16019
  tags:
16030
- - threads
16031
- summary: Delete a single reply from a thread by its reply id (moderation).
16032
- operationId: threads_deleteReply
16020
+ - records
16021
+ summary: "Get a single record by ID GET /records/:recordId"
16022
+ operationId: records_get
16033
16023
  security: []
16034
16024
  parameters:
16035
16025
  - name: zone
@@ -16047,12 +16037,47 @@ paths:
16047
16037
  required: true
16048
16038
  schema:
16049
16039
  type: string
16050
- - name: threadId
16040
+ - name: recordId
16051
16041
  in: path
16052
16042
  required: true
16053
16043
  schema:
16054
16044
  type: string
16055
- - name: replyId
16045
+ responses:
16046
+ 200:
16047
+ description: Success
16048
+ content:
16049
+ application/json:
16050
+ schema:
16051
+ $ref: "#/components/schemas/AppRecord"
16052
+ 400:
16053
+ description: Bad request
16054
+ 401:
16055
+ description: Unauthorized
16056
+ 404:
16057
+ description: Not found
16058
+ patch:
16059
+ tags:
16060
+ - records
16061
+ summary: "Update a record PATCH /records/:recordId Admin can update any field, public (owner) can only update data and owner"
16062
+ operationId: records_update
16063
+ security: []
16064
+ parameters:
16065
+ - name: zone
16066
+ in: path
16067
+ required: true
16068
+ schema:
16069
+ type: string
16070
+ - name: collectionId
16071
+ in: path
16072
+ required: true
16073
+ schema:
16074
+ type: string
16075
+ - name: appId
16076
+ in: path
16077
+ required: true
16078
+ schema:
16079
+ type: string
16080
+ - name: recordId
16056
16081
  in: path
16057
16082
  required: true
16058
16083
  schema:
@@ -16063,58 +16088,452 @@ paths:
16063
16088
  content:
16064
16089
  application/json:
16065
16090
  schema:
16066
- $ref: "#/components/schemas/AppThread"
16091
+ $ref: "#/components/schemas/AppRecord"
16067
16092
  400:
16068
16093
  description: Bad request
16069
16094
  401:
16070
16095
  description: Unauthorized
16071
16096
  404:
16072
16097
  description: Not found
16073
- components:
16074
- securitySchemes:
16075
- bearerAuth:
16076
- type: http
16077
- scheme: bearer
16078
- bearerFormat: JWT
16079
- description: Bearer token obtained from auth.login() or auth.verifyToken()
16080
- apiKey:
16081
- type: apiKey
16082
- in: header
16083
- name: X-API-Key
16084
- description: API key for server-to-server calls
16085
- schemas:
16086
- AdminCardRefresh:
16087
- type: object
16088
- properties:
16089
- on:
16090
- type: array
16091
- items:
16092
- $ref: "#/components/schemas/AdminCardRefreshOn"
16093
- maxAge:
16094
- type: object
16095
- additionalProperties: true
16096
- AdminCardDeclaration:
16097
- type: object
16098
- properties:
16099
- id:
16100
- type: string
16101
- title:
16102
- type: string
16103
- description:
16104
- type: string
16105
- kind:
16106
- type: string
16107
- enum:
16108
- - data
16109
- - component
16110
- function:
16111
- type: string
16112
- component:
16113
- type: string
16114
- sizes:
16115
- type: array
16116
- items:
16117
- $ref: "#/components/schemas/AdminCardSize"
16098
+ requestBody:
16099
+ required: true
16100
+ content:
16101
+ application/json:
16102
+ schema:
16103
+ $ref: "#/components/schemas/UpdateRecordInput"
16104
+ /{zone}/collection/{collectionId}/app/{appId}/records/{recordId}/restore:
16105
+ post:
16106
+ tags:
16107
+ - records
16108
+ summary: Restore a soft-deleted record.
16109
+ operationId: records_restore
16110
+ security: []
16111
+ parameters:
16112
+ - name: zone
16113
+ in: path
16114
+ required: true
16115
+ schema:
16116
+ type: string
16117
+ - name: collectionId
16118
+ in: path
16119
+ required: true
16120
+ schema:
16121
+ type: string
16122
+ - name: appId
16123
+ in: path
16124
+ required: true
16125
+ schema:
16126
+ type: string
16127
+ - name: recordId
16128
+ in: path
16129
+ required: true
16130
+ schema:
16131
+ type: string
16132
+ responses:
16133
+ 200:
16134
+ description: Success
16135
+ content:
16136
+ application/json:
16137
+ schema:
16138
+ $ref: "#/components/schemas/AppRecord"
16139
+ 400:
16140
+ description: Bad request
16141
+ 401:
16142
+ description: Unauthorized
16143
+ 404:
16144
+ description: Not found
16145
+ /{zone}/collection/{collectionId}/app/{appId}/threads:
16146
+ get:
16147
+ tags:
16148
+ - threads
16149
+ summary: List threads with optional query parameters GET /threads
16150
+ operationId: threads_list
16151
+ security: []
16152
+ parameters:
16153
+ - name: zone
16154
+ in: path
16155
+ required: true
16156
+ schema:
16157
+ type: string
16158
+ - name: collectionId
16159
+ in: path
16160
+ required: true
16161
+ schema:
16162
+ type: string
16163
+ - name: appId
16164
+ in: path
16165
+ required: true
16166
+ schema:
16167
+ type: string
16168
+ - name: slug
16169
+ in: query
16170
+ required: false
16171
+ schema:
16172
+ type: string
16173
+ - name: authorId
16174
+ in: query
16175
+ required: false
16176
+ schema:
16177
+ type: string
16178
+ - name: parentType
16179
+ in: query
16180
+ required: false
16181
+ schema:
16182
+ type: string
16183
+ - name: parentId
16184
+ in: query
16185
+ required: false
16186
+ schema:
16187
+ type: string
16188
+ - name: parentIds
16189
+ in: query
16190
+ required: false
16191
+ schema:
16192
+ type: array
16193
+ items:
16194
+ type: string
16195
+ - name: proofId
16196
+ in: query
16197
+ required: false
16198
+ schema:
16199
+ type: string
16200
+ - name: productId
16201
+ in: query
16202
+ required: false
16203
+ schema:
16204
+ type: string
16205
+ - name: tag
16206
+ in: query
16207
+ required: false
16208
+ schema:
16209
+ type: string
16210
+ - name: contactId
16211
+ in: query
16212
+ required: false
16213
+ schema:
16214
+ type: string
16215
+ responses:
16216
+ 200:
16217
+ description: Success
16218
+ content:
16219
+ application/json:
16220
+ schema:
16221
+ type: object
16222
+ additionalProperties: true
16223
+ 400:
16224
+ description: Bad request
16225
+ 401:
16226
+ description: Unauthorized
16227
+ 404:
16228
+ description: Not found
16229
+ post:
16230
+ tags:
16231
+ - threads
16232
+ summary: Create a new thread POST /threads
16233
+ operationId: threads_create
16234
+ security: []
16235
+ parameters:
16236
+ - name: zone
16237
+ in: path
16238
+ required: true
16239
+ schema:
16240
+ type: string
16241
+ - name: collectionId
16242
+ in: path
16243
+ required: true
16244
+ schema:
16245
+ type: string
16246
+ - name: appId
16247
+ in: path
16248
+ required: true
16249
+ schema:
16250
+ type: string
16251
+ responses:
16252
+ 200:
16253
+ description: Success
16254
+ content:
16255
+ application/json:
16256
+ schema:
16257
+ $ref: "#/components/schemas/AppThread"
16258
+ 400:
16259
+ description: Bad request
16260
+ 401:
16261
+ description: Unauthorized
16262
+ 404:
16263
+ description: Not found
16264
+ requestBody:
16265
+ required: true
16266
+ content:
16267
+ application/json:
16268
+ schema:
16269
+ $ref: "#/components/schemas/CreateThreadInput"
16270
+ /{zone}/collection/{collectionId}/app/{appId}/threads/aggregate:
16271
+ post:
16272
+ tags:
16273
+ - threads
16274
+ summary: Get aggregate statistics for threads POST /threads/aggregate
16275
+ operationId: threads_aggregate
16276
+ security: []
16277
+ parameters:
16278
+ - name: zone
16279
+ in: path
16280
+ required: true
16281
+ schema:
16282
+ type: string
16283
+ - name: collectionId
16284
+ in: path
16285
+ required: true
16286
+ schema:
16287
+ type: string
16288
+ - name: appId
16289
+ in: path
16290
+ required: true
16291
+ schema:
16292
+ type: string
16293
+ responses:
16294
+ 200:
16295
+ description: Success
16296
+ content:
16297
+ application/json:
16298
+ schema:
16299
+ $ref: "#/components/schemas/AggregateResponse"
16300
+ 400:
16301
+ description: Bad request
16302
+ 401:
16303
+ description: Unauthorized
16304
+ 404:
16305
+ description: Not found
16306
+ requestBody:
16307
+ required: true
16308
+ content:
16309
+ application/json:
16310
+ schema:
16311
+ $ref: "#/components/schemas/AggregateRequest"
16312
+ /{zone}/collection/{collectionId}/app/{appId}/threads/{threadId}:
16313
+ get:
16314
+ tags:
16315
+ - threads
16316
+ summary: "Get a single thread by ID GET /threads/:threadId"
16317
+ operationId: threads_get
16318
+ security: []
16319
+ parameters:
16320
+ - name: zone
16321
+ in: path
16322
+ required: true
16323
+ schema:
16324
+ type: string
16325
+ - name: collectionId
16326
+ in: path
16327
+ required: true
16328
+ schema:
16329
+ type: string
16330
+ - name: appId
16331
+ in: path
16332
+ required: true
16333
+ schema:
16334
+ type: string
16335
+ - name: threadId
16336
+ in: path
16337
+ required: true
16338
+ schema:
16339
+ type: string
16340
+ responses:
16341
+ 200:
16342
+ description: Success
16343
+ content:
16344
+ application/json:
16345
+ schema:
16346
+ $ref: "#/components/schemas/AppThread"
16347
+ 400:
16348
+ description: Bad request
16349
+ 401:
16350
+ description: Unauthorized
16351
+ 404:
16352
+ description: Not found
16353
+ patch:
16354
+ tags:
16355
+ - threads
16356
+ summary: "Update a thread PATCH /threads/:threadId Admin can update any field, public (owner) can only update body, tags, data, ow"
16357
+ operationId: threads_update
16358
+ security: []
16359
+ parameters:
16360
+ - name: zone
16361
+ in: path
16362
+ required: true
16363
+ schema:
16364
+ type: string
16365
+ - name: collectionId
16366
+ in: path
16367
+ required: true
16368
+ schema:
16369
+ type: string
16370
+ - name: appId
16371
+ in: path
16372
+ required: true
16373
+ schema:
16374
+ type: string
16375
+ - name: threadId
16376
+ in: path
16377
+ required: true
16378
+ schema:
16379
+ type: string
16380
+ responses:
16381
+ 200:
16382
+ description: Success
16383
+ content:
16384
+ application/json:
16385
+ schema:
16386
+ $ref: "#/components/schemas/AppThread"
16387
+ 400:
16388
+ description: Bad request
16389
+ 401:
16390
+ description: Unauthorized
16391
+ 404:
16392
+ description: Not found
16393
+ requestBody:
16394
+ required: true
16395
+ content:
16396
+ application/json:
16397
+ schema:
16398
+ $ref: "#/components/schemas/UpdateThreadInput"
16399
+ /{zone}/collection/{collectionId}/app/{appId}/threads/{threadId}/reply:
16400
+ post:
16401
+ tags:
16402
+ - threads
16403
+ summary: "Add a reply to a thread POST /threads/:threadId/reply Atomically appends to replies array, increments replyCount, update"
16404
+ operationId: threads_reply
16405
+ security: []
16406
+ parameters:
16407
+ - name: zone
16408
+ in: path
16409
+ required: true
16410
+ schema:
16411
+ type: string
16412
+ - name: collectionId
16413
+ in: path
16414
+ required: true
16415
+ schema:
16416
+ type: string
16417
+ - name: appId
16418
+ in: path
16419
+ required: true
16420
+ schema:
16421
+ type: string
16422
+ - name: threadId
16423
+ in: path
16424
+ required: true
16425
+ schema:
16426
+ type: string
16427
+ responses:
16428
+ 200:
16429
+ description: Success
16430
+ content:
16431
+ application/json:
16432
+ schema:
16433
+ $ref: "#/components/schemas/AppThread"
16434
+ 400:
16435
+ description: Bad request
16436
+ 401:
16437
+ description: Unauthorized
16438
+ 404:
16439
+ description: Not found
16440
+ requestBody:
16441
+ required: true
16442
+ content:
16443
+ application/json:
16444
+ schema:
16445
+ $ref: "#/components/schemas/ReplyInput"
16446
+ /{zone}/collection/{collectionId}/app/{appId}/threads/{threadId}/reply/{replyId}:
16447
+ delete:
16448
+ tags:
16449
+ - threads
16450
+ summary: Delete a single reply from a thread by its reply id (moderation).
16451
+ operationId: threads_deleteReply
16452
+ security: []
16453
+ parameters:
16454
+ - name: zone
16455
+ in: path
16456
+ required: true
16457
+ schema:
16458
+ type: string
16459
+ - name: collectionId
16460
+ in: path
16461
+ required: true
16462
+ schema:
16463
+ type: string
16464
+ - name: appId
16465
+ in: path
16466
+ required: true
16467
+ schema:
16468
+ type: string
16469
+ - name: threadId
16470
+ in: path
16471
+ required: true
16472
+ schema:
16473
+ type: string
16474
+ - name: replyId
16475
+ in: path
16476
+ required: true
16477
+ schema:
16478
+ type: string
16479
+ responses:
16480
+ 200:
16481
+ description: Success
16482
+ content:
16483
+ application/json:
16484
+ schema:
16485
+ $ref: "#/components/schemas/AppThread"
16486
+ 400:
16487
+ description: Bad request
16488
+ 401:
16489
+ description: Unauthorized
16490
+ 404:
16491
+ description: Not found
16492
+ components:
16493
+ securitySchemes:
16494
+ bearerAuth:
16495
+ type: http
16496
+ scheme: bearer
16497
+ bearerFormat: JWT
16498
+ description: Bearer token obtained from auth.login() or auth.verifyToken()
16499
+ apiKey:
16500
+ type: apiKey
16501
+ in: header
16502
+ name: X-API-Key
16503
+ description: API key for server-to-server calls
16504
+ schemas:
16505
+ AdminCardRefresh:
16506
+ type: object
16507
+ properties:
16508
+ on:
16509
+ type: array
16510
+ items:
16511
+ $ref: "#/components/schemas/AdminCardRefreshOn"
16512
+ maxAge:
16513
+ type: object
16514
+ additionalProperties: true
16515
+ AdminCardDeclaration:
16516
+ type: object
16517
+ properties:
16518
+ id:
16519
+ type: string
16520
+ title:
16521
+ type: string
16522
+ description:
16523
+ type: string
16524
+ kind:
16525
+ type: string
16526
+ enum:
16527
+ - data
16528
+ - component
16529
+ function:
16530
+ type: string
16531
+ component:
16532
+ type: string
16533
+ sizes:
16534
+ type: array
16535
+ items:
16536
+ $ref: "#/components/schemas/AdminCardSize"
16118
16537
  priority:
16119
16538
  type: number
16120
16539
  levels:
@@ -25168,82 +25587,417 @@ components:
25168
25587
  BroadcastAppendEventBody:
25169
25588
  type: object
25170
25589
  properties:
25171
- broadcastId:
25590
+ broadcastId:
25591
+ type: string
25592
+ contactId:
25593
+ type: string
25594
+ channel:
25595
+ $ref: "#/components/schemas/BroadcastChannel"
25596
+ templateId:
25597
+ type: string
25598
+ eventType:
25599
+ type: string
25600
+ outcome:
25601
+ type: string
25602
+ enum:
25603
+ - success
25604
+ - failed
25605
+ failureReason:
25606
+ type: string
25607
+ metadata:
25608
+ type: object
25609
+ additionalProperties: true
25610
+ required:
25611
+ - broadcastId
25612
+ - eventType
25613
+ BroadcastAppendBulkBody:
25614
+ type: object
25615
+ properties:
25616
+ ids:
25617
+ type: array
25618
+ items:
25619
+ type: string
25620
+ idField:
25621
+ type: string
25622
+ params:
25623
+ type: object
25624
+ additionalProperties: true
25625
+ required:
25626
+ - ids
25627
+ - params
25628
+ BroadcastChannel:
25629
+ type: string
25630
+ enum:
25631
+ - email
25632
+ - push
25633
+ - sms
25634
+ - wallet
25635
+ BroadcastPreviewResponse:
25636
+ type: object
25637
+ additionalProperties: true
25638
+ ClaimCodeRef:
25639
+ type: object
25640
+ properties:
25641
+ codeId:
25642
+ type: string
25643
+ claimId:
25644
+ type: string
25645
+ required:
25646
+ - codeId
25647
+ - claimId
25648
+ UpdateClaimDataRequest:
25649
+ type: object
25650
+ properties:
25651
+ data:
25652
+ type: object
25653
+ additionalProperties: true
25654
+ codes:
25655
+ type: array
25656
+ items:
25657
+ $ref: "#/components/schemas/ClaimCodeRef"
25658
+ required:
25659
+ - data
25660
+ - codes
25661
+ AssignClaimsRequest:
25662
+ type: object
25663
+ properties:
25664
+ id:
25665
+ type: string
25666
+ collectionId:
25667
+ type: string
25668
+ productId:
25669
+ type: string
25670
+ batchId:
25671
+ type: string
25672
+ start:
25673
+ type: number
25674
+ end:
25675
+ type: number
25676
+ codeId:
25677
+ type: string
25678
+ data:
25679
+ type: object
25680
+ additionalProperties: true
25681
+ required:
25682
+ - id
25683
+ - collectionId
25684
+ - productId
25685
+ CreateClaimSetTagRequest:
25686
+ type: object
25687
+ properties:
25688
+ id:
25689
+ type: string
25690
+ tagId:
25691
+ type: string
25692
+ productId:
25693
+ type: string
25694
+ collectionId:
25695
+ type: string
25696
+ batchId:
25697
+ type: string
25698
+ password:
25699
+ type: string
25700
+ data:
25701
+ type: object
25702
+ additionalProperties: true
25703
+ CreateClaimSetRequest:
25704
+ type: object
25705
+ properties:
25706
+ name:
25707
+ type: string
25708
+ claimMode:
25709
+ type: string
25710
+ allocationMode:
25711
+ type: string
25712
+ required:
25713
+ - name
25714
+ - claimMode
25715
+ - allocationMode
25716
+ ImportClaimSetTagItem:
25717
+ type: object
25718
+ properties:
25719
+ id:
25720
+ type: string
25721
+ tagId:
25722
+ type: string
25723
+ index:
25724
+ type: number
25725
+ required:
25726
+ - id
25727
+ ImportClaimSetTagsRequest:
25728
+ type: object
25729
+ properties:
25730
+ tags:
25731
+ type: array
25732
+ items:
25733
+ $ref: "#/components/schemas/ImportClaimSetTagItem"
25734
+ mode:
25735
+ type: string
25736
+ enum:
25737
+ - upsert
25738
+ - replace
25739
+ required:
25740
+ - tags
25741
+ ImportClaimSetTagsResponse:
25742
+ type: object
25743
+ properties:
25744
+ written:
25745
+ type: number
25746
+ required:
25747
+ - written
25748
+ CreateClaimSetTagResponse:
25749
+ type: object
25750
+ properties:
25751
+ id:
25752
+ type: string
25753
+ claimSetId:
25754
+ type: string
25755
+ createdAt:
25756
+ type: string
25757
+ tagId:
25758
+ type: string
25759
+ productId:
25760
+ type: string
25761
+ collectionId:
25762
+ type: string
25763
+ batchId:
25764
+ type: string
25765
+ password:
25766
+ type: string
25767
+ data:
25768
+ type: object
25769
+ additionalProperties: true
25770
+ required:
25771
+ - id
25772
+ - claimSetId
25773
+ - createdAt
25774
+ ClaimSetRange:
25775
+ type: object
25776
+ properties:
25777
+ id:
25778
+ type: string
25779
+ claimSetId:
25780
+ type: string
25781
+ namespace:
25782
+ type: string
25783
+ name:
25784
+ type: string
25785
+ notes:
25786
+ type: string
25787
+ startIndex:
25788
+ type: number
25789
+ endIndex:
25790
+ type: number
25791
+ quantity:
25792
+ type: number
25793
+ tagType:
25794
+ $ref: "#/components/schemas/ClaimSetTagType"
25795
+ fulfilment:
25796
+ type: string
25797
+ enum:
25798
+ - printer
25799
+ - sidekick
25800
+ stage:
25801
+ type: string
25802
+ enum:
25803
+ - minting
25804
+ - minted
25805
+ - sent
25806
+ - received
25807
+ status:
25808
+ $ref: "#/components/schemas/ClaimSetRangeStatus"
25809
+ intendedCollectionId:
25810
+ type: string
25811
+ intendedProductId:
25812
+ type: string
25813
+ intendedBatchId:
25814
+ type: string
25815
+ manufacturer:
25816
+ type: string
25817
+ orderRef:
25818
+ type: string
25819
+ counts:
25820
+ type: object
25821
+ additionalProperties: true
25822
+ sentAt:
25823
+ type: string
25824
+ receivedAt:
25825
+ type: string
25826
+ createdBy:
25827
+ type: string
25828
+ createdAt:
25829
+ type: string
25830
+ updatedAt:
25831
+ type: string
25832
+ required:
25833
+ - id
25834
+ - claimSetId
25835
+ - namespace
25836
+ - name
25837
+ - notes
25838
+ - startIndex
25839
+ - endIndex
25840
+ - quantity
25841
+ - tagType
25842
+ - fulfilment
25843
+ - stage
25844
+ - status
25845
+ - intendedCollectionId
25846
+ - intendedProductId
25847
+ - intendedBatchId
25848
+ - manufacturer
25849
+ - orderRef
25850
+ - counts
25851
+ - sentAt
25852
+ - receivedAt
25853
+ - createdBy
25854
+ - createdAt
25855
+ - updatedAt
25856
+ CreateClaimSetRangeRequest:
25857
+ type: object
25858
+ properties:
25859
+ name:
25860
+ type: string
25861
+ quantity:
25862
+ type: number
25863
+ intendedCollectionId:
25864
+ type: string
25865
+ intendedProductId:
25866
+ type: string
25867
+ intendedBatchId:
25868
+ type: string
25869
+ fulfilment:
25870
+ type: string
25871
+ enum:
25872
+ - printer
25873
+ - sidekick
25874
+ notes:
25875
+ type: string
25876
+ manufacturer:
25877
+ type: string
25878
+ orderRef:
25879
+ type: string
25880
+ required:
25881
+ - name
25882
+ - quantity
25883
+ UpdateClaimSetRangeRequest:
25884
+ type: object
25885
+ properties:
25886
+ name:
25172
25887
  type: string
25173
- contactId:
25888
+ notes:
25174
25889
  type: string
25175
- channel:
25176
- $ref: "#/components/schemas/BroadcastChannel"
25177
- templateId:
25890
+ manufacturer:
25178
25891
  type: string
25179
- eventType:
25892
+ orderRef:
25180
25893
  type: string
25181
- outcome:
25894
+ fulfilment:
25182
25895
  type: string
25183
25896
  enum:
25184
- - success
25185
- - failed
25186
- failureReason:
25897
+ - printer
25898
+ - sidekick
25899
+ stage:
25187
25900
  type: string
25188
- metadata:
25189
- type: object
25190
- additionalProperties: true
25901
+ enum:
25902
+ - minted
25903
+ - sent
25904
+ - received
25905
+ ClaimSetRangeTag:
25906
+ type: object
25907
+ properties:
25908
+ code:
25909
+ type: string
25910
+ printed:
25911
+ type: string
25912
+ index:
25913
+ type: number
25914
+ uid:
25915
+ type: string
25916
+ key:
25917
+ type: string
25918
+ collectionId:
25919
+ type: string
25920
+ productId:
25921
+ type: string
25922
+ batchId:
25923
+ type: string
25924
+ proofId:
25925
+ type: string
25926
+ programmedAt:
25927
+ type: string
25928
+ scans:
25929
+ type: number
25191
25930
  required:
25192
- - broadcastId
25193
- - eventType
25194
- BroadcastAppendBulkBody:
25931
+ - code
25932
+ - printed
25933
+ - index
25934
+ - uid
25935
+ - collectionId
25936
+ - productId
25937
+ - batchId
25938
+ - proofId
25939
+ - programmedAt
25940
+ - scans
25941
+ ClaimSetRangeTagsPage:
25195
25942
  type: object
25196
25943
  properties:
25197
- ids:
25944
+ tags:
25198
25945
  type: array
25199
25946
  items:
25200
- type: string
25201
- idField:
25202
- type: string
25203
- params:
25204
- type: object
25205
- additionalProperties: true
25947
+ $ref: "#/components/schemas/ClaimSetRangeTag"
25948
+ next:
25949
+ type: number
25206
25950
  required:
25207
- - ids
25208
- - params
25209
- BroadcastChannel:
25210
- type: string
25211
- enum:
25212
- - email
25213
- - push
25214
- - sms
25215
- - wallet
25216
- BroadcastPreviewResponse:
25217
- type: object
25218
- additionalProperties: true
25219
- ClaimCodeRef:
25951
+ - tags
25952
+ - next
25953
+ ClaimSetRangeNextTag:
25220
25954
  type: object
25221
25955
  properties:
25222
- codeId:
25223
- type: string
25224
- claimId:
25956
+ url:
25225
25957
  type: string
25958
+ piccOffset:
25959
+ type: number
25960
+ mirrorOffset:
25961
+ type: number
25962
+ remaining:
25963
+ type: number
25226
25964
  required:
25227
- - codeId
25228
- - claimId
25229
- UpdateClaimDataRequest:
25965
+ - url
25966
+ - remaining
25967
+ ImportClaimSetRangeUidsRequest:
25230
25968
  type: object
25231
25969
  properties:
25232
- data:
25970
+ csv:
25971
+ type: string
25972
+ rows:
25973
+ type: array
25974
+ items:
25975
+ type: object
25976
+ additionalProperties:
25977
+ type: object
25978
+ additionalProperties: true
25979
+ commit:
25980
+ type: boolean
25981
+ ImportClaimSetRangeUidsResponse:
25982
+ type: object
25983
+ properties:
25984
+ summary:
25233
25985
  type: object
25234
25986
  additionalProperties: true
25235
- codes:
25987
+ rows:
25236
25988
  type: array
25237
25989
  items:
25238
- $ref: "#/components/schemas/ClaimCodeRef"
25990
+ type: object
25991
+ additionalProperties: true
25992
+ range:
25993
+ $ref: "#/components/schemas/ClaimSetRange"
25239
25994
  required:
25240
- - data
25241
- - codes
25242
- AssignClaimsRequest:
25995
+ - summary
25996
+ - rows
25997
+ - range
25998
+ AssignClaimSetRangeRequest:
25243
25999
  type: object
25244
26000
  properties:
25245
- id:
25246
- type: string
25247
26001
  collectionId:
25248
26002
  type: string
25249
26003
  productId:
@@ -25254,104 +26008,164 @@ components:
25254
26008
  type: number
25255
26009
  end:
25256
26010
  type: number
25257
- codeId:
25258
- type: string
26011
+ clear:
26012
+ type: boolean
25259
26013
  data:
25260
26014
  type: object
25261
26015
  additionalProperties: true
26016
+ AssignClaimSetRangeResponse:
26017
+ type: object
26018
+ properties:
26019
+ changed:
26020
+ type: number
26021
+ skipped:
26022
+ type: array
26023
+ items:
26024
+ type: object
26025
+ additionalProperties: true
26026
+ range:
26027
+ $ref: "#/components/schemas/ClaimSetRange"
25262
26028
  required:
25263
- - id
25264
- - collectionId
25265
- - productId
25266
- CreateClaimSetTagRequest:
26029
+ - changed
26030
+ - skipped
26031
+ - range
26032
+ ClaimSetRangeFile:
25267
26033
  type: object
25268
26034
  properties:
25269
- id:
25270
- type: string
25271
- tagId:
26035
+ filename:
25272
26036
  type: string
25273
- productId:
26037
+ contentType:
25274
26038
  type: string
25275
- collectionId:
26039
+ csv:
25276
26040
  type: string
25277
- batchId:
26041
+ base64:
25278
26042
  type: string
25279
- password:
26043
+ markdown:
25280
26044
  type: string
25281
- data:
25282
- type: object
25283
- additionalProperties: true
25284
- CreateClaimSetRequest:
26045
+ required:
26046
+ - filename
26047
+ - contentType
26048
+ Partner:
25285
26049
  type: object
25286
26050
  properties:
26051
+ id:
26052
+ type: string
25287
26053
  name:
25288
26054
  type: string
25289
- claimMode:
26055
+ status:
25290
26056
  type: string
25291
- allocationMode:
26057
+ enum:
26058
+ - active
26059
+ - suspended
26060
+ tapDomains:
26061
+ type: array
26062
+ items:
26063
+ type: string
26064
+ features:
26065
+ type: object
26066
+ additionalProperties:
26067
+ type: boolean
26068
+ role:
26069
+ type: string
26070
+ enum:
26071
+ - owner
26072
+ - admin
26073
+ - assigner
26074
+ members:
26075
+ type: array
26076
+ items:
26077
+ type: object
26078
+ additionalProperties: true
26079
+ createdAt:
26080
+ type: string
26081
+ updatedAt:
25292
26082
  type: string
25293
26083
  required:
26084
+ - id
25294
26085
  - name
25295
- - claimMode
25296
- - allocationMode
25297
- ImportClaimSetTagItem:
26086
+ - status
26087
+ - tapDomains
26088
+ - features
26089
+ - createdAt
26090
+ - updatedAt
26091
+ PartnerClaimSet:
25298
26092
  type: object
25299
26093
  properties:
25300
26094
  id:
25301
26095
  type: string
25302
- tagId:
26096
+ namespace:
25303
26097
  type: string
25304
- index:
26098
+ name:
26099
+ type: string
26100
+ tagType:
26101
+ $ref: "#/components/schemas/ClaimSetTagType"
26102
+ tapDomain:
26103
+ type: string
26104
+ owner:
26105
+ type: object
26106
+ additionalProperties: true
26107
+ codes:
25305
26108
  type: number
26109
+ deleted:
26110
+ type: boolean
26111
+ createdAt:
26112
+ type: string
25306
26113
  required:
25307
26114
  - id
25308
- ImportClaimSetTagsRequest:
26115
+ - namespace
26116
+ - name
26117
+ - tagType
26118
+ - tapDomain
26119
+ - owner
26120
+ - codes
26121
+ - deleted
26122
+ - createdAt
26123
+ CreatePartnerClaimSetRequest:
25309
26124
  type: object
25310
26125
  properties:
25311
- tags:
25312
- type: array
25313
- items:
25314
- $ref: "#/components/schemas/ImportClaimSetTagItem"
25315
- mode:
26126
+ name:
26127
+ type: string
26128
+ tagType:
26129
+ $ref: "#/components/schemas/ClaimSetTagType"
26130
+ tapDomain:
25316
26131
  type: string
25317
- enum:
25318
- - upsert
25319
- - replace
25320
- required:
25321
- - tags
25322
- ImportClaimSetTagsResponse:
25323
- type: object
25324
- properties:
25325
- written:
25326
- type: number
25327
26132
  required:
25328
- - written
25329
- CreateClaimSetTagResponse:
26133
+ - name
26134
+ - tagType
26135
+ ClaimSetScope:
25330
26136
  type: object
25331
26137
  properties:
25332
- id:
25333
- type: string
25334
- claimSetId:
25335
- type: string
25336
- createdAt:
25337
- type: string
25338
- tagId:
25339
- type: string
25340
- productId:
25341
- type: string
25342
26138
  collectionId:
25343
26139
  type: string
25344
- batchId:
25345
- type: string
25346
- password:
25347
- type: string
25348
- data:
25349
- type: object
25350
- additionalProperties: true
25351
26140
  required:
25352
- - id
25353
- - claimSetId
25354
- - createdAt
26141
+ - collectionId
26142
+ ClaimSetTagType:
26143
+ type: string
26144
+ enum:
26145
+ - ntag424
26146
+ - ntag21x
26147
+ - qr
26148
+ ClaimSetRangeStatus:
26149
+ type: string
26150
+ enum:
26151
+ - minting
26152
+ - minted
26153
+ - sent
26154
+ - received
26155
+ - assigned
26156
+ ClaimSetImportResult:
26157
+ type: string
26158
+ enum:
26159
+ - ok
26160
+ - unchanged
26161
+ - unknown_code
26162
+ - duplicate_row
26163
+ - index_mismatch
26164
+ - no_uid
26165
+ - bad_uid
26166
+ - duplicate_uid
26167
+ - uid_in_use
26168
+ - uid_conflict
25355
26169
  Collection:
25356
26170
  type: object
25357
26171
  properties: