0

Update a space

by
Published Oct 17, 2025
Script gitbook Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type Gitbook = {
3
  token: string;
4
};
5
/**
6
 * Update a space
7
 *
8
 */
9
export async function main(
10
  auth: Gitbook,
11
  spaceId: string,
12
  body:
13
    | ({
14
        editMode?: "live" | "locked";
15
        title?: string;
16
        defaultLevel?:
17
          | "admin"
18
          | "create"
19
          | "edit"
20
          | "review"
21
          | "comment"
22
          | "read"
23
          | "inherit";
24
        language?:
25
          | "en"
26
          | "fr"
27
          | "de"
28
          | "es"
29
          | "it"
30
          | "pt"
31
          | "pt-br"
32
          | "ru"
33
          | "ja"
34
          | "zh"
35
          | "ko"
36
          | "ar"
37
          | "hi"
38
          | "nl"
39
          | "pl"
40
          | "tr"
41
          | "sv"
42
          | "no"
43
          | "da"
44
          | "fi"
45
          | "el"
46
          | "cs"
47
          | "hu"
48
          | "ro"
49
          | "th"
50
          | "vi"
51
          | "id"
52
          | "ms"
53
          | "he"
54
          | "uk"
55
          | "sk"
56
          | "bg"
57
          | "hr"
58
          | "lt"
59
          | "lv"
60
          | "et"
61
          | "sl";
62
      } & { emoji: string })
63
    | ({
64
        editMode?: "live" | "locked";
65
        title?: string;
66
        defaultLevel?:
67
          | "admin"
68
          | "create"
69
          | "edit"
70
          | "review"
71
          | "comment"
72
          | "read"
73
          | "inherit";
74
        language?:
75
          | "en"
76
          | "fr"
77
          | "de"
78
          | "es"
79
          | "it"
80
          | "pt"
81
          | "pt-br"
82
          | "ru"
83
          | "ja"
84
          | "zh"
85
          | "ko"
86
          | "ar"
87
          | "hi"
88
          | "nl"
89
          | "pl"
90
          | "tr"
91
          | "sv"
92
          | "no"
93
          | "da"
94
          | "fi"
95
          | "el"
96
          | "cs"
97
          | "hu"
98
          | "ro"
99
          | "th"
100
          | "vi"
101
          | "id"
102
          | "ms"
103
          | "he"
104
          | "uk"
105
          | "sk"
106
          | "bg"
107
          | "hr"
108
          | "lt"
109
          | "lv"
110
          | "et"
111
          | "sl";
112
      } & { icon: string })
113
    | ({
114
        editMode?: "live" | "locked";
115
        title?: string;
116
        defaultLevel?:
117
          | "admin"
118
          | "create"
119
          | "edit"
120
          | "review"
121
          | "comment"
122
          | "read"
123
          | "inherit";
124
        language?:
125
          | "en"
126
          | "fr"
127
          | "de"
128
          | "es"
129
          | "it"
130
          | "pt"
131
          | "pt-br"
132
          | "ru"
133
          | "ja"
134
          | "zh"
135
          | "ko"
136
          | "ar"
137
          | "hi"
138
          | "nl"
139
          | "pl"
140
          | "tr"
141
          | "sv"
142
          | "no"
143
          | "da"
144
          | "fi"
145
          | "el"
146
          | "cs"
147
          | "hu"
148
          | "ro"
149
          | "th"
150
          | "vi"
151
          | "id"
152
          | "ms"
153
          | "he"
154
          | "uk"
155
          | "sk"
156
          | "bg"
157
          | "hr"
158
          | "lt"
159
          | "lv"
160
          | "et"
161
          | "sl";
162
      } & { emoji?: null; icon?: null }),
163
) {
164
  const url = new URL(`https://api.gitbook.com/v1/spaces/${spaceId}`);
165

166
  const response = await fetch(url, {
167
    method: "PATCH",
168
    headers: {
169
      "Content-Type": "application/json",
170
      Authorization: "Bearer " + auth.token,
171
    },
172
    body: JSON.stringify(body),
173
  });
174
  if (!response.ok) {
175
    const text = await response.text();
176
    throw new Error(`${response.status} ${text}`);
177
  }
178
  return await response.json();
179
}
180