0

UpdateWageSetting

by
Published Oct 17, 2025

Creates or updates a `WageSetting` object.

Script square Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type Square = {
3
  token: string;
4
};
5
/**
6
 * UpdateWageSetting
7
 * Creates or updates a `WageSetting` object.
8
 */
9
export async function main(
10
  auth: Square,
11
  team_member_id: string,
12
  body: {
13
    wage_setting: {
14
      team_member_id?: string;
15
      job_assignments?: {
16
        job_title?: string;
17
        pay_type: "NONE" | "HOURLY" | "SALARY";
18
        hourly_rate?: {
19
          amount?: number;
20
          currency?:
21
            | "UNKNOWN_CURRENCY"
22
            | "AED"
23
            | "AFN"
24
            | "ALL"
25
            | "AMD"
26
            | "ANG"
27
            | "AOA"
28
            | "ARS"
29
            | "AUD"
30
            | "AWG"
31
            | "AZN"
32
            | "BAM"
33
            | "BBD"
34
            | "BDT"
35
            | "BGN"
36
            | "BHD"
37
            | "BIF"
38
            | "BMD"
39
            | "BND"
40
            | "BOB"
41
            | "BOV"
42
            | "BRL"
43
            | "BSD"
44
            | "BTN"
45
            | "BWP"
46
            | "BYR"
47
            | "BZD"
48
            | "CAD"
49
            | "CDF"
50
            | "CHE"
51
            | "CHF"
52
            | "CHW"
53
            | "CLF"
54
            | "CLP"
55
            | "CNY"
56
            | "COP"
57
            | "COU"
58
            | "CRC"
59
            | "CUC"
60
            | "CUP"
61
            | "CVE"
62
            | "CZK"
63
            | "DJF"
64
            | "DKK"
65
            | "DOP"
66
            | "DZD"
67
            | "EGP"
68
            | "ERN"
69
            | "ETB"
70
            | "EUR"
71
            | "FJD"
72
            | "FKP"
73
            | "GBP"
74
            | "GEL"
75
            | "GHS"
76
            | "GIP"
77
            | "GMD"
78
            | "GNF"
79
            | "GTQ"
80
            | "GYD"
81
            | "HKD"
82
            | "HNL"
83
            | "HRK"
84
            | "HTG"
85
            | "HUF"
86
            | "IDR"
87
            | "ILS"
88
            | "INR"
89
            | "IQD"
90
            | "IRR"
91
            | "ISK"
92
            | "JMD"
93
            | "JOD"
94
            | "JPY"
95
            | "KES"
96
            | "KGS"
97
            | "KHR"
98
            | "KMF"
99
            | "KPW"
100
            | "KRW"
101
            | "KWD"
102
            | "KYD"
103
            | "KZT"
104
            | "LAK"
105
            | "LBP"
106
            | "LKR"
107
            | "LRD"
108
            | "LSL"
109
            | "LTL"
110
            | "LVL"
111
            | "LYD"
112
            | "MAD"
113
            | "MDL"
114
            | "MGA"
115
            | "MKD"
116
            | "MMK"
117
            | "MNT"
118
            | "MOP"
119
            | "MRO"
120
            | "MUR"
121
            | "MVR"
122
            | "MWK"
123
            | "MXN"
124
            | "MXV"
125
            | "MYR"
126
            | "MZN"
127
            | "NAD"
128
            | "NGN"
129
            | "NIO"
130
            | "NOK"
131
            | "NPR"
132
            | "NZD"
133
            | "OMR"
134
            | "PAB"
135
            | "PEN"
136
            | "PGK"
137
            | "PHP"
138
            | "PKR"
139
            | "PLN"
140
            | "PYG"
141
            | "QAR"
142
            | "RON"
143
            | "RSD"
144
            | "RUB"
145
            | "RWF"
146
            | "SAR"
147
            | "SBD"
148
            | "SCR"
149
            | "SDG"
150
            | "SEK"
151
            | "SGD"
152
            | "SHP"
153
            | "SLL"
154
            | "SLE"
155
            | "SOS"
156
            | "SRD"
157
            | "SSP"
158
            | "STD"
159
            | "SVC"
160
            | "SYP"
161
            | "SZL"
162
            | "THB"
163
            | "TJS"
164
            | "TMT"
165
            | "TND"
166
            | "TOP"
167
            | "TRY"
168
            | "TTD"
169
            | "TWD"
170
            | "TZS"
171
            | "UAH"
172
            | "UGX"
173
            | "USD"
174
            | "USN"
175
            | "USS"
176
            | "UYI"
177
            | "UYU"
178
            | "UZS"
179
            | "VEF"
180
            | "VND"
181
            | "VUV"
182
            | "WST"
183
            | "XAF"
184
            | "XAG"
185
            | "XAU"
186
            | "XBA"
187
            | "XBB"
188
            | "XBC"
189
            | "XBD"
190
            | "XCD"
191
            | "XDR"
192
            | "XOF"
193
            | "XPD"
194
            | "XPF"
195
            | "XPT"
196
            | "XTS"
197
            | "XXX"
198
            | "YER"
199
            | "ZAR"
200
            | "ZMK"
201
            | "ZMW"
202
            | "BTC"
203
            | "XUS";
204
        };
205
        annual_rate?: {
206
          amount?: number;
207
          currency?:
208
            | "UNKNOWN_CURRENCY"
209
            | "AED"
210
            | "AFN"
211
            | "ALL"
212
            | "AMD"
213
            | "ANG"
214
            | "AOA"
215
            | "ARS"
216
            | "AUD"
217
            | "AWG"
218
            | "AZN"
219
            | "BAM"
220
            | "BBD"
221
            | "BDT"
222
            | "BGN"
223
            | "BHD"
224
            | "BIF"
225
            | "BMD"
226
            | "BND"
227
            | "BOB"
228
            | "BOV"
229
            | "BRL"
230
            | "BSD"
231
            | "BTN"
232
            | "BWP"
233
            | "BYR"
234
            | "BZD"
235
            | "CAD"
236
            | "CDF"
237
            | "CHE"
238
            | "CHF"
239
            | "CHW"
240
            | "CLF"
241
            | "CLP"
242
            | "CNY"
243
            | "COP"
244
            | "COU"
245
            | "CRC"
246
            | "CUC"
247
            | "CUP"
248
            | "CVE"
249
            | "CZK"
250
            | "DJF"
251
            | "DKK"
252
            | "DOP"
253
            | "DZD"
254
            | "EGP"
255
            | "ERN"
256
            | "ETB"
257
            | "EUR"
258
            | "FJD"
259
            | "FKP"
260
            | "GBP"
261
            | "GEL"
262
            | "GHS"
263
            | "GIP"
264
            | "GMD"
265
            | "GNF"
266
            | "GTQ"
267
            | "GYD"
268
            | "HKD"
269
            | "HNL"
270
            | "HRK"
271
            | "HTG"
272
            | "HUF"
273
            | "IDR"
274
            | "ILS"
275
            | "INR"
276
            | "IQD"
277
            | "IRR"
278
            | "ISK"
279
            | "JMD"
280
            | "JOD"
281
            | "JPY"
282
            | "KES"
283
            | "KGS"
284
            | "KHR"
285
            | "KMF"
286
            | "KPW"
287
            | "KRW"
288
            | "KWD"
289
            | "KYD"
290
            | "KZT"
291
            | "LAK"
292
            | "LBP"
293
            | "LKR"
294
            | "LRD"
295
            | "LSL"
296
            | "LTL"
297
            | "LVL"
298
            | "LYD"
299
            | "MAD"
300
            | "MDL"
301
            | "MGA"
302
            | "MKD"
303
            | "MMK"
304
            | "MNT"
305
            | "MOP"
306
            | "MRO"
307
            | "MUR"
308
            | "MVR"
309
            | "MWK"
310
            | "MXN"
311
            | "MXV"
312
            | "MYR"
313
            | "MZN"
314
            | "NAD"
315
            | "NGN"
316
            | "NIO"
317
            | "NOK"
318
            | "NPR"
319
            | "NZD"
320
            | "OMR"
321
            | "PAB"
322
            | "PEN"
323
            | "PGK"
324
            | "PHP"
325
            | "PKR"
326
            | "PLN"
327
            | "PYG"
328
            | "QAR"
329
            | "RON"
330
            | "RSD"
331
            | "RUB"
332
            | "RWF"
333
            | "SAR"
334
            | "SBD"
335
            | "SCR"
336
            | "SDG"
337
            | "SEK"
338
            | "SGD"
339
            | "SHP"
340
            | "SLL"
341
            | "SLE"
342
            | "SOS"
343
            | "SRD"
344
            | "SSP"
345
            | "STD"
346
            | "SVC"
347
            | "SYP"
348
            | "SZL"
349
            | "THB"
350
            | "TJS"
351
            | "TMT"
352
            | "TND"
353
            | "TOP"
354
            | "TRY"
355
            | "TTD"
356
            | "TWD"
357
            | "TZS"
358
            | "UAH"
359
            | "UGX"
360
            | "USD"
361
            | "USN"
362
            | "USS"
363
            | "UYI"
364
            | "UYU"
365
            | "UZS"
366
            | "VEF"
367
            | "VND"
368
            | "VUV"
369
            | "WST"
370
            | "XAF"
371
            | "XAG"
372
            | "XAU"
373
            | "XBA"
374
            | "XBB"
375
            | "XBC"
376
            | "XBD"
377
            | "XCD"
378
            | "XDR"
379
            | "XOF"
380
            | "XPD"
381
            | "XPF"
382
            | "XPT"
383
            | "XTS"
384
            | "XXX"
385
            | "YER"
386
            | "ZAR"
387
            | "ZMK"
388
            | "ZMW"
389
            | "BTC"
390
            | "XUS";
391
        };
392
        weekly_hours?: number;
393
        job_id?: string;
394
      }[];
395
      is_overtime_exempt?: false | true;
396
      version?: number;
397
      created_at?: string;
398
      updated_at?: string;
399
    };
400
  },
401
) {
402
  const url = new URL(
403
    `https://connect.squareup.com/v2/team-members/${team_member_id}/wage-setting`,
404
  );
405

406
  const response = await fetch(url, {
407
    method: "PUT",
408
    headers: {
409
      "Content-Type": "application/json",
410
      Authorization: "Bearer " + auth.token,
411
    },
412
    body: JSON.stringify(body),
413
  });
414
  if (!response.ok) {
415
    const text = await response.text();
416
    throw new Error(`${response.status} ${text}`);
417
  }
418
  return await response.json();
419
}
420