0

CreateTeamMember

by
Published Oct 17, 2025

Creates a single `TeamMember` object. The `TeamMember` object is returned on successful creates. You must provide the following values in your request to this endpoint: - `given_name` - `family_name` Learn about [Troubleshooting the Team API](https://developer.squareup.com/docs/team/troubleshooting#createteammember).

Script square Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type Square = {
3
  token: string;
4
};
5
/**
6
 * CreateTeamMember
7
 * Creates a single `TeamMember` object. The `TeamMember` object is returned on successful creates.
8
You must provide the following values in your request to this endpoint:
9
- `given_name`
10
- `family_name`
11

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

427
  const response = await fetch(url, {
428
    method: "POST",
429
    headers: {
430
      "Content-Type": "application/json",
431
      Authorization: "Bearer " + auth.token,
432
    },
433
    body: JSON.stringify(body),
434
  });
435
  if (!response.ok) {
436
    const text = await response.text();
437
    throw new Error(`${response.status} ${text}`);
438
  }
439
  return await response.json();
440
}
441