@botpress/api 1.47.0 → 1.48.0

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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @botpress/api@1.47.0 openapi /home/runner/work/skynet/skynet/packages/public-api
2
+ > @botpress/api@1.48.0 openapi /home/runner/work/skynet/skynet/packages/public-api
3
3
  > es-node openapi/generator.ts && pnpm run build
4
4
 
5
5
  Generating openapi content
@@ -34,18 +34,18 @@ Saving openapi.json file
34
34
 
35
35
  info: Exit with code {"category":"system","code":0,"label":"Shutdown"}
36
36
 
37
- > @botpress/api@1.47.0 build /home/runner/work/skynet/skynet/packages/public-api
37
+ > @botpress/api@1.48.0 build /home/runner/work/skynet/skynet/packages/public-api
38
38
  > pnpm run build:type && pnpm run build:impl
39
39
 
40
40
 
41
- > @botpress/api@1.47.0 build:type /home/runner/work/skynet/skynet/packages/public-api
41
+ > @botpress/api@1.48.0 build:type /home/runner/work/skynet/skynet/packages/public-api
42
42
  > tsc -p tsconfig.package.json --emitDeclarationOnly
43
43
 
44
44
 
45
- > @botpress/api@1.47.0 build:impl /home/runner/work/skynet/skynet/packages/public-api
45
+ > @botpress/api@1.48.0 build:impl /home/runner/work/skynet/skynet/packages/public-api
46
46
  > esbuild --bundle --platform=node --outfile=dist/index.js src/index.ts
47
47
 
48
48
 
49
49
  dist/index.js 14.1mb ⚠️
50
50
 
51
- ⚡ Done in 927ms
51
+ ⚡ Done in 901ms
package/dist/index.js CHANGED
@@ -268286,7 +268286,7 @@ __export(src_exports, {
268286
268286
  });
268287
268287
  module.exports = __toCommonJS(src_exports);
268288
268288
 
268289
- // ../../node_modules/.pnpm/@bpinternal+opapi@0.14.0_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
268289
+ // ../../node_modules/.pnpm/@bpinternal+opapi@0.16.1_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
268290
268290
  var import_zod_openapi = __toESM(require_src(), 1);
268291
268291
  var import_zod_openapi2 = __toESM(require_src(), 1);
268292
268292
  var import_path = __toESM(require("path"), 1);
@@ -268332,7 +268332,7 @@ var title = (str2) => {
268332
268332
  return str2.split(/(?=[A-Z])|[\.\-\s_]/).map((s2) => s2.trim()).filter((s2) => !!s2).map((s2) => capitalize(s2.toLowerCase())).join(" ");
268333
268333
  };
268334
268334
 
268335
- // ../../node_modules/.pnpm/@bpinternal+opapi@0.14.0_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
268335
+ // ../../node_modules/.pnpm/@bpinternal+opapi@0.16.1_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
268336
268336
  var import_decompress = __toESM(require_decompress(), 1);
268337
268337
  var import_fs3 = __toESM(require("fs"), 1);
268338
268338
  var import_promises = __toESM(require("fs/promises"), 1);
@@ -271568,7 +271568,7 @@ var {
271568
271568
  mergeConfig: mergeConfig2
271569
271569
  } = axios_default;
271570
271570
 
271571
- // ../../node_modules/.pnpm/@bpinternal+opapi@0.14.0_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
271571
+ // ../../node_modules/.pnpm/@bpinternal+opapi@0.16.1_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
271572
271572
  var import_json_schema_to_typescript = __toESM(require_src3(), 1);
271573
271573
  var import_fs4 = __toESM(require("fs"), 1);
271574
271574
  var import_path3 = __toESM(require("path"), 1);
@@ -275904,7 +275904,7 @@ async function openapiTS(schema3, options = {}) {
275904
275904
  }
275905
275905
  var dist_default = openapiTS;
275906
275906
 
275907
- // ../../node_modules/.pnpm/@bpinternal+opapi@0.14.0_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
275907
+ // ../../node_modules/.pnpm/@bpinternal+opapi@0.16.1_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
275908
275908
  var import_openapi3_ts = __toESM(require_dist3(), 1);
275909
275909
  var import_verror2 = __toESM(require_verror(), 1);
275910
275910
  var import_verror3 = __toESM(require_verror(), 1);
@@ -279878,7 +279878,7 @@ var z = /* @__PURE__ */ Object.freeze({
279878
279878
  ZodError
279879
279879
  });
279880
279880
 
279881
- // ../../node_modules/.pnpm/@bpinternal+opapi@0.14.0_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
279881
+ // ../../node_modules/.pnpm/@bpinternal+opapi@0.16.1_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
279882
279882
  var import_openapi_parser = __toESM(require_lib8(), 1);
279883
279883
  var import_json_schema_to_typescript2 = __toESM(require_src3(), 1);
279884
279884
  var import_zod_openapi4 = __toESM(require_src(), 1);
@@ -280353,7 +280353,7 @@ function filterObject(obj, fn) {
280353
280353
  var capitalizeFirstLetter = (text) => text.charAt(0).toUpperCase() + text.slice(1).toLowerCase();
280354
280354
  var splitHyphens = (tokens) => tokens.flatMap((token) => token.split("-"));
280355
280355
  var splitUnderscores = (tokens) => tokens.flatMap((token) => token.split("_"));
280356
- var splitCaseChange = (tokens) => tokens.flatMap((token) => token.split(/(?<=[a-z])(?=[A-Z])/));
280356
+ var splitCaseChange = (tokens) => tokens.flatMap((token) => token.split(/(?<=[a-z0-9])(?=[A-Z])/));
280357
280357
  var splitTokens = (tokens) => [splitHyphens, splitUnderscores, splitCaseChange].reduce((acc, step) => step(acc), tokens);
280358
280358
  var pascalCase = (text) => {
280359
280359
  const tokens = splitTokens([text]);
@@ -280934,6 +280934,7 @@ var codes = {
280934
280934
  HTTP_STATUS_METHOD_NOT_ALLOWED: 405,
280935
280935
  HTTP_STATUS_REQUEST_TIMEOUT: 408,
280936
280936
  HTTP_STATUS_CONFLICT: 409,
280937
+ HTTP_STATUS_GONE: 410,
280937
280938
  HTTP_STATUS_PAYLOAD_TOO_LARGE: 413,
280938
280939
  HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415,
280939
280940
  HTTP_STATUS_DEPENDENCY_FAILED: 424,
@@ -281197,7 +281198,8 @@ function createState(props, opts = {}) {
281197
281198
  refs,
281198
281199
  schemas,
281199
281200
  sections,
281200
- options
281201
+ options,
281202
+ security: props.security
281201
281203
  };
281202
281204
  }
281203
281205
  function getRef(state6, type2, name) {
@@ -281221,8 +281223,10 @@ var mapParameter = (param) => {
281221
281223
  return param;
281222
281224
  };
281223
281225
  var createOpenapi = (state6) => {
281224
- const { metadata, schemas, operations } = state6;
281226
+ const { metadata, schemas, operations, security } = state6;
281225
281227
  const { description, server, title: title4, version } = metadata;
281228
+ const securitySchemes = /* @__PURE__ */ new Set();
281229
+ security == null ? void 0 : security.forEach((name) => securitySchemes.add(name));
281226
281230
  const openapi = import_openapi3_ts.OpenApiBuilder.create({
281227
281231
  openapi: "3.0.0",
281228
281232
  servers: [{ url: server }],
@@ -281236,14 +281240,16 @@ var createOpenapi = (state6) => {
281236
281240
  schemas: {},
281237
281241
  responses: {},
281238
281242
  requestBodies: {},
281239
- parameters: {}
281240
- }
281243
+ parameters: {},
281244
+ securitySchemes: {}
281245
+ },
281246
+ security: security ? [Object.fromEntries(security.map((name) => [name, []]))] : void 0
281241
281247
  });
281242
281248
  objects.entries(schemas).forEach(([schemaName, { schema: schema22 }]) => {
281243
281249
  openapi.addSchema(schemaName, schema22);
281244
281250
  });
281245
281251
  objects.entries(operations).forEach(([operationName, operationObject]) => {
281246
- var _a;
281252
+ var _a, _b;
281247
281253
  const { method, path: path2, response } = operationObject;
281248
281254
  const responseName = formatResponseName(operationName);
281249
281255
  const bodyName = formatBodyName(operationName);
@@ -281258,10 +281264,12 @@ var createOpenapi = (state6) => {
281258
281264
  const responseRefSchema = generateSchemaFromZod(
281259
281265
  getRef(state6, "responses", responseName)
281260
281266
  );
281267
+ (_a = operationObject.security) == null ? void 0 : _a.forEach((name) => securitySchemes.add(name));
281261
281268
  const operation = {
281262
281269
  operationId: operationName,
281263
281270
  description: operationObject.description,
281264
281271
  parameters: [],
281272
+ security: operationObject.security ? [Object.fromEntries(operationObject.security.map((name) => [name, []]))] : void 0,
281265
281273
  responses: {
281266
281274
  default: responseRefSchema,
281267
281275
  [response.status ?? defaultResponseStatus]: responseRefSchema
@@ -281285,7 +281293,7 @@ var createOpenapi = (state6) => {
281285
281293
  }
281286
281294
  if (operationObject.parameters) {
281287
281295
  objects.entries(operationObject.parameters).forEach(([parameterName, parameter]) => {
281288
- var _a2, _b, _c, _d, _e, _f;
281296
+ var _a2, _b2, _c, _d, _e, _f;
281289
281297
  const parameterType = parameter.type;
281290
281298
  switch (parameterType) {
281291
281299
  case "string":
@@ -281301,7 +281309,7 @@ var createOpenapi = (state6) => {
281301
281309
  });
281302
281310
  break;
281303
281311
  case "string[]":
281304
- (_b = operation.parameters) == null ? void 0 : _b.push({
281312
+ (_b2 = operation.parameters) == null ? void 0 : _b2.push({
281305
281313
  name: parameterName,
281306
281314
  in: parameter.in,
281307
281315
  description: parameter.description,
@@ -281368,11 +281376,23 @@ var createOpenapi = (state6) => {
281368
281376
  if (!openapi.rootDoc.paths[path2]) {
281369
281377
  openapi.rootDoc.paths[path2] = {};
281370
281378
  }
281371
- if ((_a = openapi.rootDoc.paths[path2]) == null ? void 0 : _a[method]) {
281379
+ if ((_b = openapi.rootDoc.paths[path2]) == null ? void 0 : _b[method]) {
281372
281380
  throw new import_verror2.default(`Operation ${method} ${path2} already exists`);
281373
281381
  }
281374
281382
  openapi.rootDoc.paths[path2][method] = operation;
281375
281383
  });
281384
+ if (securitySchemes.has("BearerAuth")) {
281385
+ openapi.addSecurityScheme("BearerAuth", {
281386
+ type: "http",
281387
+ scheme: "bearer"
281388
+ });
281389
+ }
281390
+ if (securitySchemes.has("BasicAuth")) {
281391
+ openapi.addSecurityScheme("BasicAuth", {
281392
+ type: "http",
281393
+ scheme: "basic"
281394
+ });
281395
+ }
281376
281396
  return openapi;
281377
281397
  };
281378
281398
  var pascalize = (str2) => pascal(title(str2));
@@ -285106,7 +285126,7 @@ var state = {
285106
285126
  "title": "Botpress API",
285107
285127
  "description": "API for Botpress Cloud",
285108
285128
  "server": "https://api.botpress.cloud",
285109
- "version": "1.47.0",
285129
+ "version": "1.48.0",
285110
285130
  "prefix": "v1"
285111
285131
  },
285112
285132
  "errors": [
@@ -285185,6 +285205,11 @@ var state = {
285185
285205
  "type": "ResourceLockedConflict",
285186
285206
  "description": "The resource is current locked and cannot be operated on until the lock is released."
285187
285207
  },
285208
+ {
285209
+ "status": 410,
285210
+ "type": "ResourceGone",
285211
+ "description": "The requested resource is no longer available."
285212
+ },
285188
285213
  {
285189
285214
  "status": 400,
285190
285215
  "type": "ReferenceNotFound",
@@ -303170,7 +303195,7 @@ var state2 = {
303170
303195
  "title": "Botpress API",
303171
303196
  "description": "API for Botpress Cloud",
303172
303197
  "server": "https://api.botpress.cloud",
303173
- "version": "1.47.0",
303198
+ "version": "1.48.0",
303174
303199
  "prefix": "v1"
303175
303200
  },
303176
303201
  "errors": [
@@ -303249,6 +303274,11 @@ var state2 = {
303249
303274
  "type": "ResourceLockedConflict",
303250
303275
  "description": "The resource is current locked and cannot be operated on until the lock is released."
303251
303276
  },
303277
+ {
303278
+ "status": 410,
303279
+ "type": "ResourceGone",
303280
+ "description": "The requested resource is no longer available."
303281
+ },
303252
303282
  {
303253
303283
  "status": 400,
303254
303284
  "type": "ReferenceNotFound",
@@ -309177,7 +309207,7 @@ var state3 = {
309177
309207
  "title": "Botpress API",
309178
309208
  "description": "API for Botpress Cloud",
309179
309209
  "server": "https://api.botpress.cloud",
309180
- "version": "1.47.0",
309210
+ "version": "1.48.0",
309181
309211
  "prefix": "v1"
309182
309212
  },
309183
309213
  "errors": [
@@ -309256,6 +309286,11 @@ var state3 = {
309256
309286
  "type": "ResourceLockedConflict",
309257
309287
  "description": "The resource is current locked and cannot be operated on until the lock is released."
309258
309288
  },
309289
+ {
309290
+ "status": 410,
309291
+ "type": "ResourceGone",
309292
+ "description": "The requested resource is no longer available."
309293
+ },
309259
309294
  {
309260
309295
  "status": 400,
309261
309296
  "type": "ReferenceNotFound",
@@ -314320,7 +314355,7 @@ var state4 = {
314320
314355
  "title": "Botpress API",
314321
314356
  "description": "API for Botpress Cloud",
314322
314357
  "server": "https://api.botpress.cloud",
314323
- "version": "1.47.0",
314358
+ "version": "1.48.0",
314324
314359
  "prefix": "v1"
314325
314360
  },
314326
314361
  "errors": [
@@ -314399,6 +314434,11 @@ var state4 = {
314399
314434
  "type": "ResourceLockedConflict",
314400
314435
  "description": "The resource is current locked and cannot be operated on until the lock is released."
314401
314436
  },
314437
+ {
314438
+ "status": 410,
314439
+ "type": "ResourceGone",
314440
+ "description": "The requested resource is no longer available."
314441
+ },
314402
314442
  {
314403
314443
  "status": 400,
314404
314444
  "type": "ReferenceNotFound",
@@ -338013,7 +338053,7 @@ var state5 = {
338013
338053
  "title": "Botpress API",
338014
338054
  "description": "API for Botpress Cloud",
338015
338055
  "server": "https://api.botpress.cloud",
338016
- "version": "1.47.0",
338056
+ "version": "1.48.0",
338017
338057
  "prefix": "v1"
338018
338058
  },
338019
338059
  "errors": [
@@ -338092,6 +338132,11 @@ var state5 = {
338092
338132
  "type": "ResourceLockedConflict",
338093
338133
  "description": "The resource is current locked and cannot be operated on until the lock is released."
338094
338134
  },
338135
+ {
338136
+ "status": 410,
338137
+ "type": "ResourceGone",
338138
+ "description": "The requested resource is no longer available."
338139
+ },
338095
338140
  {
338096
338141
  "status": 400,
338097
338142
  "type": "ReferenceNotFound",
@@ -12434,6 +12434,10 @@ export declare const state: {
12434
12434
  status: 409;
12435
12435
  type: string;
12436
12436
  description: string;
12437
+ } | {
12438
+ status: 410;
12439
+ type: string;
12440
+ description: string;
12437
12441
  } | {
12438
12442
  status: 429;
12439
12443
  type: string;
@@ -1593,6 +1593,10 @@ export declare const state: {
1593
1593
  status: 409;
1594
1594
  type: string;
1595
1595
  description: string;
1596
+ } | {
1597
+ status: 410;
1598
+ type: string;
1599
+ description: string;
1596
1600
  } | {
1597
1601
  status: 429;
1598
1602
  type: string;
@@ -2425,6 +2425,10 @@ export declare const state: {
2425
2425
  status: 409;
2426
2426
  type: string;
2427
2427
  description: string;
2428
+ } | {
2429
+ status: 410;
2430
+ type: string;
2431
+ description: string;
2428
2432
  } | {
2429
2433
  status: 429;
2430
2434
  type: string;
@@ -17449,6 +17449,10 @@ export declare const state: {
17449
17449
  status: 409;
17450
17450
  type: string;
17451
17451
  description: string;
17452
+ } | {
17453
+ status: 410;
17454
+ type: string;
17455
+ description: string;
17452
17456
  } | {
17453
17457
  status: 429;
17454
17458
  type: string;
@@ -1134,6 +1134,10 @@ export declare const state: {
1134
1134
  status: 409;
1135
1135
  type: string;
1136
1136
  description: string;
1137
+ } | {
1138
+ status: 410;
1139
+ type: string;
1140
+ description: string;
1137
1141
  } | {
1138
1142
  status: 429;
1139
1143
  type: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botpress/api",
3
- "version": "1.47.0",
3
+ "version": "1.48.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "scripts": {
@@ -23,6 +23,6 @@
23
23
  "zod": "^3.24.4"
24
24
  },
25
25
  "dependencies": {
26
- "@bpinternal/opapi": "0.14.0"
26
+ "@bpinternal/opapi": "catalog:"
27
27
  }
28
28
  }
@@ -1 +1 @@
1
- {"sections":[{"description":"","title":"User","name":"user","operations":[],"schema":"User"},{"description":"","title":"Conversation","name":"conversation","operations":[],"schema":"Conversation"},{"description":"","title":"Event","name":"event","operations":[],"schema":"Event"},{"description":"","title":"Message","name":"message","operations":[],"schema":"Message"},{"description":"","title":"State","name":"state","operations":[],"schema":"State"},{"title":"Hub","description":"","name":"hub","operations":["listPublicIntegrations","getPublicIntegrationById","getPublicIntegration","listPublicPlugins","getPublicPluginById","getDereferencedPublicPluginById","getPublicPlugin","getPublicPluginCode","listPublicInterfaces","getPublicInterfaceById","getPublicInterface"]},{"description":"","title":"Action","name":"action","operations":[]},{"description":"","title":"Task","name":"task","operations":[],"schema":"Task"},{"description":"","title":"Workflow","name":"workflow","operations":[],"schema":"Workflow"},{"description":"","title":"Tag","name":"tag","operations":[]},{"title":"Bot","description":"","name":"bot","operations":["createBot","updateBot","transferBot","listBots","getBot","deleteBot","getBotLogs","getBotWebchat","getBotAnalytics","listActionRuns","getBotIssue","listBotIssues","deleteBotIssue","listBotIssueEvents","listBotVersions","getBotVersion","getBotJson","publishFromBotJson","createBotVersion","deployBotVersion","createIntegrationShareableId","deleteIntegrationShareableId","getIntegrationShareableId","unlinkSandboxedConversations","listBotApiKeys","createBotApiKey","deleteBotApiKey","getBotAllowlist","updateBotAllowlist"],"schema":"Bot"},{"title":"Integration","description":"","name":"integration","operations":["listIntegrationApiKeys","createIntegrationApiKey","deleteIntegrationApiKey","createIntegration","validateIntegrationCreation","updateIntegration","validateIntegrationUpdate","listIntegrations","getIntegration","getIntegrationLogs","getIntegrationByName","deleteIntegration","requestIntegrationVerification"],"schema":"Integration"},{"title":"Interface","description":"","name":"interface","operations":["createInterface","getInterface","getInterfaceByName","updateInterface","deleteInterface","listInterfaces"],"schema":"Interface"},{"title":"Plugin","description":"","name":"plugin","operations":["createPlugin","getPlugin","getDereferencedPlugin","getPluginByName","updatePlugin","deletePlugin","listPlugins","getPluginCode"],"schema":"Plugin"},{"title":"Workspace","description":"","name":"workspace","operations":["listWorkspaceInvoices","getUpcomingInvoice","chargeWorkspaceUnpaidInvoices","createWorkspace","getPublicWorkspace","getWorkspace","listWorkspaceUsages","breakDownWorkspaceUsageByBot","getAllWorkspaceQuotaCompletion","getWorkspaceQuota","listWorkspaceQuotas","updateWorkspace","checkHandleAvailability","listWorkspaces","listPublicWorkspaces","deleteWorkspace","getAuditRecords","setWorkspacePreference","getWorkspacePreference"],"schema":"Workspace"},{"title":"Workspace Member","description":"","name":"workspaceMember","operations":["listWorkspaceMembers","getWorkspaceMember","deleteWorkspaceMember","createWorkspaceMember","updateWorkspaceMember"],"schema":"WorkspaceMember"},{"title":"Account","description":"","name":"account","operations":["getAccount","updateAccount","deleteAccount","listPersonalAccessTokens","createPersonalAccessToken","deletePersonalAccessToken","setAccountPreference","getAccountPreference"],"schema":"Account"},{"title":"Usage","description":"","name":"usage","operations":["getUsage","getMultipleUsages","listUsageActivityDaily"],"schema":"Usage"},{"title":"Quotas","description":"","name":"quotas","operations":["changeAISpendQuota"]},{"title":"Helper","description":"","name":"helper","operations":["runVrl"]},{"title":"Activity","description":"","name":"activity","operations":["listActivities"],"schema":"Activity"},{"title":"Tables","description":"Manage and interact with table structures, including creation, updates, and querying of tables and their rows.","name":"tables","operations":[],"schema":"Table"},{"title":"Files","description":"The Files API allows you to create, manage, and index files that can be used by your bots and integrations. Files can be in any text or binary format, and documents (such as PDF, Microsoft Word, HTML, Markdown, etc.) can be indexed to be used for semantic search in RAG (Retrieval Augmented Generation) implementations. Files are private by default but can be made publicly accessible through a permanent URL that's unique for each file.","name":"files","operations":[],"schema":"File"}],"errors":[{"status":500,"type":"Unknown","description":"An unknown error occurred"},{"status":500,"type":"Internal","description":"An internal error occurred"},{"status":401,"type":"Unauthorized","description":"The request requires to be authenticated."},{"status":403,"type":"Forbidden","description":"The requested action can't be peform by this resource."},{"status":413,"type":"PayloadTooLarge","description":"The request payload is too large."},{"status":400,"type":"InvalidPayload","description":"The request payload is invalid."},{"status":415,"type":"UnsupportedMediaType","description":"The request is invalid because the content-type is not supported."},{"status":405,"type":"MethodNotFound","description":"The requested method does not exist."},{"status":404,"type":"ResourceNotFound","description":"The requested resource does not exist."},{"status":400,"type":"InvalidJsonSchema","description":"The provided JSON schema is invalid."},{"status":400,"type":"InvalidDataFormat","description":"The provided data doesn't respect the provided JSON schema."},{"status":400,"type":"InvalidIdentifier","description":"The provided identifier is not valid. An identifier must start with a lowercase letter, be between 2 and 100 characters long and use only alphanumeric characters."},{"status":409,"type":"RelationConflict","description":"The resource is related with a different resource that the one referenced in the request. This is usually caused when providing two resource identifiers that aren't linked together."},{"status":409,"type":"ReferenceConstraint","description":"The resource cannot be deleted because it's referenced by another resource"},{"status":409,"type":"ResourceLockedConflict","description":"The resource is current locked and cannot be operated on until the lock is released."},{"status":400,"type":"ReferenceNotFound","description":"The provided resource reference is missing. This is usually caused when providing an invalid id inside the payload of a request."},{"status":400,"type":"InvalidQuery","description":"The provided query is invalid. This is usually caused when providing an invalid parameter for querying a resource."},{"status":400,"type":"Runtime","description":"An error happened during the execution of a runtime (bot or integration)."},{"status":409,"type":"AlreadyExists","description":"The record attempted to be created already exists."},{"status":429,"type":"RateLimited","description":"The request has been rate limited."},{"status":402,"type":"PaymentRequired","description":"A payment is required to perform this request."},{"status":403,"type":"QuotaExceeded","description":"The request exceeds the allowed quota. Quotas are a soft limit that can be increased."},{"status":413,"type":"LimitExceeded","description":"The request exceeds the allowed limit. Limits are a hard limit that cannot be increased."},{"status":400,"type":"BreakingChanges","description":"Request payload contains breaking changes which is not allowed for this resource without a version increment."}]}
1
+ {"sections":[{"description":"","title":"User","name":"user","operations":[],"schema":"User"},{"description":"","title":"Conversation","name":"conversation","operations":[],"schema":"Conversation"},{"description":"","title":"Event","name":"event","operations":[],"schema":"Event"},{"description":"","title":"Message","name":"message","operations":[],"schema":"Message"},{"description":"","title":"State","name":"state","operations":[],"schema":"State"},{"title":"Hub","description":"","name":"hub","operations":["listPublicIntegrations","getPublicIntegrationById","getPublicIntegration","listPublicPlugins","getPublicPluginById","getDereferencedPublicPluginById","getPublicPlugin","getPublicPluginCode","listPublicInterfaces","getPublicInterfaceById","getPublicInterface"]},{"description":"","title":"Action","name":"action","operations":[]},{"description":"","title":"Task","name":"task","operations":[],"schema":"Task"},{"description":"","title":"Workflow","name":"workflow","operations":[],"schema":"Workflow"},{"description":"","title":"Tag","name":"tag","operations":[]},{"title":"Bot","description":"","name":"bot","operations":["createBot","updateBot","transferBot","listBots","getBot","deleteBot","getBotLogs","getBotWebchat","getBotAnalytics","listActionRuns","getBotIssue","listBotIssues","deleteBotIssue","listBotIssueEvents","listBotVersions","getBotVersion","getBotJson","publishFromBotJson","createBotVersion","deployBotVersion","createIntegrationShareableId","deleteIntegrationShareableId","getIntegrationShareableId","unlinkSandboxedConversations","listBotApiKeys","createBotApiKey","deleteBotApiKey","getBotAllowlist","updateBotAllowlist"],"schema":"Bot"},{"title":"Integration","description":"","name":"integration","operations":["listIntegrationApiKeys","createIntegrationApiKey","deleteIntegrationApiKey","createIntegration","validateIntegrationCreation","updateIntegration","validateIntegrationUpdate","listIntegrations","getIntegration","getIntegrationLogs","getIntegrationByName","deleteIntegration","requestIntegrationVerification"],"schema":"Integration"},{"title":"Interface","description":"","name":"interface","operations":["createInterface","getInterface","getInterfaceByName","updateInterface","deleteInterface","listInterfaces"],"schema":"Interface"},{"title":"Plugin","description":"","name":"plugin","operations":["createPlugin","getPlugin","getDereferencedPlugin","getPluginByName","updatePlugin","deletePlugin","listPlugins","getPluginCode"],"schema":"Plugin"},{"title":"Workspace","description":"","name":"workspace","operations":["listWorkspaceInvoices","getUpcomingInvoice","chargeWorkspaceUnpaidInvoices","createWorkspace","getPublicWorkspace","getWorkspace","listWorkspaceUsages","breakDownWorkspaceUsageByBot","getAllWorkspaceQuotaCompletion","getWorkspaceQuota","listWorkspaceQuotas","updateWorkspace","checkHandleAvailability","listWorkspaces","listPublicWorkspaces","deleteWorkspace","getAuditRecords","setWorkspacePreference","getWorkspacePreference"],"schema":"Workspace"},{"title":"Workspace Member","description":"","name":"workspaceMember","operations":["listWorkspaceMembers","getWorkspaceMember","deleteWorkspaceMember","createWorkspaceMember","updateWorkspaceMember"],"schema":"WorkspaceMember"},{"title":"Account","description":"","name":"account","operations":["getAccount","updateAccount","deleteAccount","listPersonalAccessTokens","createPersonalAccessToken","deletePersonalAccessToken","setAccountPreference","getAccountPreference"],"schema":"Account"},{"title":"Usage","description":"","name":"usage","operations":["getUsage","getMultipleUsages","listUsageActivityDaily"],"schema":"Usage"},{"title":"Quotas","description":"","name":"quotas","operations":["changeAISpendQuota"]},{"title":"Helper","description":"","name":"helper","operations":["runVrl"]},{"title":"Activity","description":"","name":"activity","operations":["listActivities"],"schema":"Activity"},{"title":"Tables","description":"Manage and interact with table structures, including creation, updates, and querying of tables and their rows.","name":"tables","operations":[],"schema":"Table"},{"title":"Files","description":"The Files API allows you to create, manage, and index files that can be used by your bots and integrations. Files can be in any text or binary format, and documents (such as PDF, Microsoft Word, HTML, Markdown, etc.) can be indexed to be used for semantic search in RAG (Retrieval Augmented Generation) implementations. Files are private by default but can be made publicly accessible through a permanent URL that's unique for each file.","name":"files","operations":[],"schema":"File"}],"errors":[{"status":500,"type":"Unknown","description":"An unknown error occurred"},{"status":500,"type":"Internal","description":"An internal error occurred"},{"status":401,"type":"Unauthorized","description":"The request requires to be authenticated."},{"status":403,"type":"Forbidden","description":"The requested action can't be peform by this resource."},{"status":413,"type":"PayloadTooLarge","description":"The request payload is too large."},{"status":400,"type":"InvalidPayload","description":"The request payload is invalid."},{"status":415,"type":"UnsupportedMediaType","description":"The request is invalid because the content-type is not supported."},{"status":405,"type":"MethodNotFound","description":"The requested method does not exist."},{"status":404,"type":"ResourceNotFound","description":"The requested resource does not exist."},{"status":400,"type":"InvalidJsonSchema","description":"The provided JSON schema is invalid."},{"status":400,"type":"InvalidDataFormat","description":"The provided data doesn't respect the provided JSON schema."},{"status":400,"type":"InvalidIdentifier","description":"The provided identifier is not valid. An identifier must start with a lowercase letter, be between 2 and 100 characters long and use only alphanumeric characters."},{"status":409,"type":"RelationConflict","description":"The resource is related with a different resource that the one referenced in the request. This is usually caused when providing two resource identifiers that aren't linked together."},{"status":409,"type":"ReferenceConstraint","description":"The resource cannot be deleted because it's referenced by another resource"},{"status":409,"type":"ResourceLockedConflict","description":"The resource is current locked and cannot be operated on until the lock is released."},{"status":410,"type":"ResourceGone","description":"The requested resource is no longer available."},{"status":400,"type":"ReferenceNotFound","description":"The provided resource reference is missing. This is usually caused when providing an invalid id inside the payload of a request."},{"status":400,"type":"InvalidQuery","description":"The provided query is invalid. This is usually caused when providing an invalid parameter for querying a resource."},{"status":400,"type":"Runtime","description":"An error happened during the execution of a runtime (bot or integration)."},{"status":409,"type":"AlreadyExists","description":"The record attempted to be created already exists."},{"status":429,"type":"RateLimited","description":"The request has been rate limited."},{"status":402,"type":"PaymentRequired","description":"A payment is required to perform this request."},{"status":403,"type":"QuotaExceeded","description":"The request exceeds the allowed quota. Quotas are a soft limit that can be increased."},{"status":413,"type":"LimitExceeded","description":"The request exceeds the allowed limit. Limits are a hard limit that cannot be increased."},{"status":400,"type":"BreakingChanges","description":"Request payload contains breaking changes which is not allowed for this resource without a version increment."}]}