0

Create an App Client

by
Published Nov 5, 2024

An App Client is used for OAuth 2.0 authentication when calling Vectara APIs.

Script vectara Verified

The script

Submitted by hugo697 Bun
Verified 581 days ago
1
//native
2
type Vectara = {
3
	apiKey: string
4
}
5
/**
6
 * Create an App Client
7
 * An App Client is used for OAuth 2.0 authentication when calling Vectara APIs.
8
 */
9
export async function main(
10
	auth: Vectara,
11
	body: {
12
		name: string
13
		description?: string
14
		type: string
15
		api_roles?: 'owner' | 'administrator' | 'billing_administrator' | 'corpus_administrator'[]
16
	}
17
) {
18
	const url = new URL(`https://api.vectara.io/v2/app_clients`)
19

20
	const response = await fetch(url, {
21
		method: 'POST',
22
		headers: {
23
			'Content-Type': 'application/json',
24
			'x-api-key': auth.apiKey
25
		},
26
		body: JSON.stringify(body)
27
	})
28
	if (!response.ok) {
29
		const text = await response.text()
30
		throw new Error(`${response.status} ${text}`)
31
	}
32
	return await response.json()
33
}
34