@botpress/api 0.29.0 → 0.29.2

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.
package/dist/index.js CHANGED
@@ -251507,7 +251507,7 @@ __export(src_exports, {
251507
251507
  });
251508
251508
  module.exports = __toCommonJS(src_exports);
251509
251509
 
251510
- // ../../node_modules/.pnpm/@bpinternal+opapi@0.10.15_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
251510
+ // ../../node_modules/.pnpm/@bpinternal+opapi@0.10.17_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
251511
251511
  var import_zod_openapi = __toESM(require_src(), 1);
251512
251512
  var import_zod_openapi2 = __toESM(require_src(), 1);
251513
251513
  var import_path = __toESM(require("path"), 1);
@@ -251553,7 +251553,7 @@ var title = (str2) => {
251553
251553
  return str2.split(/(?=[A-Z])|[\.\-\s_]/).map((s2) => s2.trim()).filter((s2) => !!s2).map((s2) => capitalize(s2.toLowerCase())).join(" ");
251554
251554
  };
251555
251555
 
251556
- // ../../node_modules/.pnpm/@bpinternal+opapi@0.10.15_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
251556
+ // ../../node_modules/.pnpm/@bpinternal+opapi@0.10.17_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
251557
251557
  var import_decompress = __toESM(require_decompress(), 1);
251558
251558
  var import_fs3 = __toESM(require("fs"), 1);
251559
251559
  var import_promises = __toESM(require("fs/promises"), 1);
@@ -254470,7 +254470,7 @@ var {
254470
254470
  mergeConfig: mergeConfig2
254471
254471
  } = axios_default;
254472
254472
 
254473
- // ../../node_modules/.pnpm/@bpinternal+opapi@0.10.15_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
254473
+ // ../../node_modules/.pnpm/@bpinternal+opapi@0.10.17_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
254474
254474
  var import_json_schema_to_typescript = __toESM(require_src3(), 1);
254475
254475
  var import_fs4 = __toESM(require("fs"), 1);
254476
254476
  var import_path3 = __toESM(require("path"), 1);
@@ -258806,7 +258806,7 @@ async function openapiTS(schema3, options = {}) {
258806
258806
  }
258807
258807
  var dist_default = openapiTS;
258808
258808
 
258809
- // ../../node_modules/.pnpm/@bpinternal+opapi@0.10.15_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
258809
+ // ../../node_modules/.pnpm/@bpinternal+opapi@0.10.17_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
258810
258810
  var import_openapi3_ts = __toESM(require_dist3(), 1);
258811
258811
  var import_verror2 = __toESM(require_verror(), 1);
258812
258812
  var import_verror3 = __toESM(require_verror(), 1);
@@ -262447,7 +262447,7 @@ var z = /* @__PURE__ */ Object.freeze({
262447
262447
  ZodError
262448
262448
  });
262449
262449
 
262450
- // ../../node_modules/.pnpm/@bpinternal+opapi@0.10.15_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
262450
+ // ../../node_modules/.pnpm/@bpinternal+opapi@0.10.17_openapi-types@12.1.3/node_modules/@bpinternal/opapi/dist/index.mjs
262451
262451
  var import_openapi_parser = __toESM(require_lib10(), 1);
262452
262452
  var import_json_schema_to_typescript2 = __toESM(require_src3(), 1);
262453
262453
  var import_zod_openapi4 = __toESM(require_src(), 1);
@@ -262904,7 +262904,8 @@ var client_node_exports = {};
262904
262904
  __export2(client_node_exports, {
262905
262905
  generateIndex: () => generateIndex,
262906
262906
  generateModels: () => generateModels,
262907
- generateOperations: () => generateOperations
262907
+ generateOperations: () => generateOperations,
262908
+ generateToAxios: () => generateToAxios
262908
262909
  });
262909
262910
  var entries = (obj) => Object.entries(obj);
262910
262911
  function filterObject(obj, fn) {
@@ -263239,16 +263240,18 @@ function getError(err: Error) {
263239
263240
  return errorFrom(err)
263240
263241
  }
263241
263242
  `;
263242
- var GET_AXIOS_REQ_FUNCTION = `// ensures axios request is properly formatted
263243
- type Primitive = string | number | boolean
263244
- type Value<P extends Primitive> = P | P[] | Record<string, P>
263245
- type QueryValue = Value<string> | Value<boolean> | Value<number> | undefined
263246
- type AnyQueryParams = Record<string, QueryValue>
263247
- type HeaderValue = string | undefined
263248
- type AnyHeaderParams = Record<string, HeaderValue>
263249
- type AnyBodyParams = Record<string, any>
263243
+ var GET_AXIOS_REQ_FUNCTION = `
263244
+ import { AxiosRequestConfig } from "axios"
263245
+ import qs from "qs"
263250
263246
 
263251
- type ParsedRequest = {
263247
+ export type Primitive = string | number | boolean
263248
+ export type Value<P extends Primitive> = P | P[] | Record<string, P>
263249
+ export type QueryValue = Value<string> | Value<boolean> | Value<number> | undefined
263250
+ export type AnyQueryParams = Record<string, QueryValue>
263251
+ export type HeaderValue = string | undefined
263252
+ export type AnyHeaderParams = Record<string, HeaderValue>
263253
+ export type AnyBodyParams = Record<string, any>
263254
+ export type ParsedRequest = {
263252
263255
  method: string
263253
263256
  path: string
263254
263257
  query: AnyQueryParams
@@ -263259,7 +263262,7 @@ type ParsedRequest = {
263259
263262
  const isDefined = <T>(pair: [string, T | undefined]): pair is [string, T] => pair[1] !== undefined
263260
263263
 
263261
263264
  export const toAxiosRequest = (req: ParsedRequest): AxiosRequestConfig => {
263262
- const { method, path: url, query, headers: headerParams, body: data } = req
263265
+ const { method, path, query, headers: headerParams, body: data } = req
263263
263266
 
263264
263267
  // prepare headers
263265
263268
  const headerEntries: [string, string][] = Object.entries(headerParams).filter(isDefined)
@@ -263267,13 +263270,13 @@ export const toAxiosRequest = (req: ParsedRequest): AxiosRequestConfig => {
263267
263270
 
263268
263271
  // prepare query params
263269
263272
  const queryString = qs.stringify(query, { encode: true, arrayFormat: 'repeat', allowDots: true })
263270
- const params = new URLSearchParams(queryString)
263273
+
263274
+ const url = queryString ? [path, queryString].join('?') : path
263271
263275
 
263272
263276
  return {
263273
263277
  method,
263274
263278
  url,
263275
263279
  headers,
263276
- params,
263277
263280
  data,
263278
263281
  }
263279
263282
  }
@@ -263389,13 +263392,16 @@ ${responseCode}`;
263389
263392
  await writeTs(file, code);
263390
263393
  }
263391
263394
  };
263395
+ var generateToAxios = async (toAxiosFile) => {
263396
+ await writeTs(toAxiosFile, GET_AXIOS_REQ_FUNCTION);
263397
+ };
263392
263398
  var generateIndex = async (state2, indexFile) => {
263393
263399
  const operationsByName = import_lodash.default.mapKeys(state2.operations, (v) => v.name);
263394
263400
  let indexCode = [
263395
263401
  `${HEADER}`,
263396
- "import qs from 'qs'",
263397
- "import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'",
263402
+ "import axios, { AxiosInstance } from 'axios'",
263398
263403
  "import { errorFrom } from './errors'",
263404
+ "import { toAxiosRequest } from './to-axios'",
263399
263405
  ""
263400
263406
  ].join("\n");
263401
263407
  for (const [name] of Object.entries(operationsByName)) {
@@ -263409,14 +263415,21 @@ var generateIndex = async (state2, indexFile) => {
263409
263415
  `;
263410
263416
  }
263411
263417
  indexCode += "\n";
263418
+ indexCode += [
263419
+ "export type ClientProps = {",
263420
+ " toAxiosRequest: typeof toAxiosRequest",
263421
+ "}"
263422
+ ].join("\n");
263423
+ indexCode += "\n\n";
263412
263424
  indexCode += "export class Client {\n\n";
263413
- indexCode += "constructor(private axiosInstance: AxiosInstance) {}\n\n";
263425
+ indexCode += " public constructor(private axiosInstance: AxiosInstance, private props: Partial<ClientProps> = {}) {}\n\n";
263414
263426
  for (const [name, operation] of Object.entries(operationsByName)) {
263415
263427
  const { inputName, resName } = Names.of(name);
263416
263428
  indexCode += [
263417
263429
  ` public readonly ${name} = async (input: ${name}.${inputName}): Promise<${name}.${resName}> => {`,
263418
263430
  ` const { path, headers, query, body } = ${name}.parseReq(input)`,
263419
- ` const axiosReq = toAxiosRequest({`,
263431
+ ` const mapper = this.props.toAxiosRequest ?? toAxiosRequest`,
263432
+ ` const axiosReq = mapper({`,
263420
263433
  ` method: "${operation.method}",`,
263421
263434
  " path,",
263422
263435
  " headers: { ...headers },",
@@ -263431,8 +263444,6 @@ var generateIndex = async (state2, indexFile) => {
263431
263444
  }
263432
263445
  indexCode += "}\n\n";
263433
263446
  indexCode += `${GET_ERROR_FUNCTION}
263434
- `;
263435
- indexCode += `${GET_AXIOS_REQ_FUNCTION}
263436
263447
  `;
263437
263448
  await writeTs(indexFile, indexCode);
263438
263449
  };
@@ -264208,14 +264219,17 @@ var generateClientWithOpapi = async (state2, dir) => {
264208
264219
  const errorsFile = import_path.default.join(dir, "errors.ts");
264209
264220
  const indexFile = import_path.default.join(dir, "index.ts");
264210
264221
  const operationsDir = import_path.default.join(dir, "operations");
264222
+ const toAxiosFile = import_path.default.join(dir, "to-axios.ts");
264211
264223
  import_fs.default.mkdirSync(operationsDir, { recursive: true });
264212
264224
  log_default.info("Generating models");
264213
264225
  await client_node_exports.generateModels(state2, modelsFile);
264214
264226
  log_default.info("Generating operations");
264215
264227
  await client_node_exports.generateOperations(state2, operationsDir);
264216
- log_default.info("generating errors file");
264228
+ log_default.info("Generating errors file");
264217
264229
  const errorsFileContent = generateErrors(state2.errors ?? []);
264218
264230
  await import_fs.default.promises.writeFile(errorsFile, errorsFileContent);
264231
+ log_default.info("Generating to-axios file");
264232
+ await client_node_exports.generateToAxios(toAxiosFile);
264219
264233
  log_default.info("Generating index file");
264220
264234
  await client_node_exports.generateIndex(state2, indexFile);
264221
264235
  };
@@ -269508,6 +269522,110 @@ var state = {
269508
269522
  }
269509
269523
  }
269510
269524
  },
269525
+ "getBotIssue": {
269526
+ "name": "getBotIssue",
269527
+ "description": "Get Bot Issue",
269528
+ "method": "get",
269529
+ "path": "/v1/admin/bots/{id}/issues/{issueId}",
269530
+ "section": "bot",
269531
+ "parameters": {
269532
+ "id": {
269533
+ "type": "string",
269534
+ "description": "Bot ID",
269535
+ "in": "path"
269536
+ },
269537
+ "issueId": {
269538
+ "in": "path",
269539
+ "description": "Issue ID",
269540
+ "type": "string"
269541
+ }
269542
+ },
269543
+ "response": {
269544
+ "description": "Success",
269545
+ "schema": {
269546
+ "type": "object",
269547
+ "properties": {
269548
+ "issue": {
269549
+ "type": "object",
269550
+ "properties": {
269551
+ "id": {
269552
+ "type": "string"
269553
+ },
269554
+ "code": {
269555
+ "type": "string"
269556
+ },
269557
+ "createdAt": {
269558
+ "type": "string",
269559
+ "format": "date-time"
269560
+ },
269561
+ "lastSeenAt": {
269562
+ "type": "string",
269563
+ "format": "date-time"
269564
+ },
269565
+ "title": {
269566
+ "type": "string"
269567
+ },
269568
+ "description": {
269569
+ "type": "string"
269570
+ },
269571
+ "groupedData": {
269572
+ "type": "object",
269573
+ "additionalProperties": {
269574
+ "type": "object",
269575
+ "properties": {
269576
+ "raw": {
269577
+ "type": "string"
269578
+ },
269579
+ "pretty": {
269580
+ "type": "string"
269581
+ }
269582
+ },
269583
+ "required": [
269584
+ "raw"
269585
+ ],
269586
+ "additionalProperties": false
269587
+ }
269588
+ },
269589
+ "eventsCount": {
269590
+ "type": "number"
269591
+ },
269592
+ "category": {
269593
+ "type": "string",
269594
+ "enum": [
269595
+ "user_code",
269596
+ "limits",
269597
+ "configuration",
269598
+ "other"
269599
+ ]
269600
+ },
269601
+ "resolutionLink": {
269602
+ "type": "string",
269603
+ "nullable": true
269604
+ }
269605
+ },
269606
+ "required": [
269607
+ "id",
269608
+ "code",
269609
+ "createdAt",
269610
+ "lastSeenAt",
269611
+ "title",
269612
+ "description",
269613
+ "groupedData",
269614
+ "eventsCount",
269615
+ "category",
269616
+ "resolutionLink"
269617
+ ],
269618
+ "additionalProperties": false
269619
+ }
269620
+ },
269621
+ "required": [
269622
+ "issue"
269623
+ ],
269624
+ "title": "getBotIssueResponse",
269625
+ "additionalProperties": false
269626
+ }
269627
+ }
269628
+ },
269511
269629
  "listBotIssues": {
269512
269630
  "name": "listBotIssues",
269513
269631
  "description": "List Bot Issues",
@@ -274589,7 +274707,7 @@ var state = {
274589
274707
  "title": "Botpress API",
274590
274708
  "description": "API for Botpress Cloud",
274591
274709
  "server": "https://api.botpress.cloud",
274592
- "version": "0.29.0",
274710
+ "version": "0.29.2",
274593
274711
  "prefix": "v1"
274594
274712
  },
274595
274713
  "errors": [
@@ -274821,6 +274939,7 @@ var state = {
274821
274939
  "getBotLogsResponse": true,
274822
274940
  "getBotWebchatResponse": true,
274823
274941
  "getBotAnalyticsResponse": true,
274942
+ "getBotIssueResponse": true,
274824
274943
  "listBotIssuesResponse": true,
274825
274944
  "deleteBotIssueResponse": true,
274826
274945
  "listBotIssueEventsResponse": true,
@@ -277258,6 +277377,7 @@ var state = {
277258
277377
  "getBotLogs",
277259
277378
  "getBotWebchat",
277260
277379
  "getBotAnalytics",
277380
+ "getBotIssue",
277261
277381
  "listBotIssues",
277262
277382
  "deleteBotIssue",
277263
277383
  "listBotIssueEvents"
@@ -4121,6 +4121,90 @@ export declare const state: {
4121
4121
  };
4122
4122
  };
4123
4123
  };
4124
+ getBotIssue: {
4125
+ name: string;
4126
+ description: string;
4127
+ method: "get";
4128
+ path: string;
4129
+ section: "bot";
4130
+ parameters: {
4131
+ id: {
4132
+ type: "string";
4133
+ description: string;
4134
+ in: "path";
4135
+ };
4136
+ issueId: {
4137
+ in: "path";
4138
+ description: string;
4139
+ type: "string";
4140
+ };
4141
+ };
4142
+ response: {
4143
+ description: string;
4144
+ schema: {
4145
+ type: "object";
4146
+ properties: {
4147
+ issue: {
4148
+ type: "object";
4149
+ properties: {
4150
+ id: {
4151
+ type: "string";
4152
+ };
4153
+ code: {
4154
+ type: "string";
4155
+ };
4156
+ createdAt: {
4157
+ type: "string";
4158
+ format: string;
4159
+ };
4160
+ lastSeenAt: {
4161
+ type: "string";
4162
+ format: string;
4163
+ };
4164
+ title: {
4165
+ type: "string";
4166
+ };
4167
+ description: {
4168
+ type: "string";
4169
+ };
4170
+ groupedData: {
4171
+ type: "object";
4172
+ additionalProperties: {
4173
+ type: "object";
4174
+ properties: {
4175
+ raw: {
4176
+ type: "string";
4177
+ };
4178
+ pretty: {
4179
+ type: "string";
4180
+ };
4181
+ };
4182
+ required: string[];
4183
+ additionalProperties: false;
4184
+ };
4185
+ };
4186
+ eventsCount: {
4187
+ type: "number";
4188
+ };
4189
+ category: {
4190
+ type: "string";
4191
+ enum: string[];
4192
+ };
4193
+ resolutionLink: {
4194
+ type: "string";
4195
+ nullable: true;
4196
+ };
4197
+ };
4198
+ required: string[];
4199
+ additionalProperties: false;
4200
+ };
4201
+ };
4202
+ required: string[];
4203
+ title: string;
4204
+ additionalProperties: false;
4205
+ };
4206
+ };
4207
+ };
4124
4208
  listBotIssues: {
4125
4209
  name: string;
4126
4210
  description: string;
@@ -8677,6 +8761,7 @@ export declare const state: {
8677
8761
  getBotLogsResponse: true;
8678
8762
  getBotWebchatResponse: true;
8679
8763
  getBotAnalyticsResponse: true;
8764
+ getBotIssueResponse: true;
8680
8765
  listBotIssuesResponse: true;
8681
8766
  deleteBotIssueResponse: true;
8682
8767
  listBotIssueEventsResponse: true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botpress/api",
3
- "version": "0.29.0",
3
+ "version": "0.29.2",
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.22.4"
24
24
  },
25
25
  "dependencies": {
26
- "@bpinternal/opapi": "0.10.15"
26
+ "@bpinternal/opapi": "0.10.17"
27
27
  }
28
28
  }
@@ -1 +1 @@
1
- {"sections":[{"description":"","title":"User","name":"user","operations":["createUser","getUser","listUsers","getOrCreateUser","updateUser","deleteUser"],"schema":"User"},{"description":"","title":"Conversation","name":"conversation","operations":["createConversation","getConversation","listConversations","getOrCreateConversation","updateConversation","deleteConversation","listParticipants","addParticipant","getParticipant","removeParticipant"],"schema":"Conversation"},{"description":"","title":"Event","name":"event","operations":["createEvent","getEvent","listEvents"],"schema":"Event"},{"description":"","title":"Message","name":"message","operations":["createMessage","getOrCreateMessage","getMessage","updateMessage","listMessages","deleteMessage"],"schema":"Message"},{"description":"","title":"File","name":"file","operations":[]},{"description":"","title":"State","name":"state","operations":["getState","setState","getOrSetState","patchState"],"schema":"State"},{"title":"Hub","description":"","name":"hub","operations":["listPublicIntegrations","getPublicIntegrationById","getPublicIntegration"]},{"description":"","title":"Action","name":"action","operations":["callAction"]},{"description":"","title":"Task","name":"task","operations":["getTask","createTask","updateTask","deleteTask","listTasks"],"schema":"Task"},{"title":"Bot","description":"","name":"bot","operations":["createBot","updateBot","transferBot","listBots","getBot","deleteBot","getBotLogs","getBotWebchat","getBotAnalytics","listBotIssues","deleteBotIssue","listBotIssueEvents"],"schema":"Bot"},{"title":"Integration","description":"","name":"integration","operations":["listIntegrationApiKeys","createIntegrationApiKey","deleteIntegrationApiKey","createIntegration","updateIntegration","listIntegrations","getIntegration","getIntegrationLogs","getIntegrationByName","deleteIntegration"],"schema":"Integration"},{"title":"Workspace","description":"","name":"workspace","operations":["setWorkspacePaymentMethod","listWorkspaceInvoices","getUpcomingInvoice","chargeWorkspaceUnpaidInvoices","createWorkspace","getPublicWorkspace","getWorkspace","listWorkspaceUsages","breakDownWorkspaceUsageByBot","getAllWorkspaceQuotaCompletion","getWorkspaceQuota","listWorkspaceQuotas","updateWorkspace","checkHandleAvailability","listWorkspaces","deleteWorkspace","getAuditRecords"],"schema":"Workspace"},{"title":"Workspace Member","description":"","name":"workspaceMember","operations":["listWorkspaceMembers","getWorkspaceMember","deleteWorkspaceMember","createWorkspaceMember","updateWorkspaceMember"],"schema":"WorkspaceMember"},{"title":"Account","description":"","name":"account","operations":["getAccount","updateAccount","listPersonalAccessTokens","createPersonalAccessToken","deletePersonalAccessToken","setAccountPreference","getAccountPreference"],"schema":"Account"},{"title":"Usage","description":"","name":"usage","operations":["getUsage"],"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":["listTables","getTable","getOrCreateTable","createTable","duplicateTable","updateTable","renameTableColumn","deleteTable","getTableRow","findTableRows","createTableRows","deleteTableRows","updateTableRows","upsertTableRows"],"schema":"Table"},{"title":"Files","description":"Operations related to file management.","name":"files","operations":["createFile","deleteFile","listFiles","getFile","updateFile","searchFiles"],"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":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":["createUser","getUser","listUsers","getOrCreateUser","updateUser","deleteUser"],"schema":"User"},{"description":"","title":"Conversation","name":"conversation","operations":["createConversation","getConversation","listConversations","getOrCreateConversation","updateConversation","deleteConversation","listParticipants","addParticipant","getParticipant","removeParticipant"],"schema":"Conversation"},{"description":"","title":"Event","name":"event","operations":["createEvent","getEvent","listEvents"],"schema":"Event"},{"description":"","title":"Message","name":"message","operations":["createMessage","getOrCreateMessage","getMessage","updateMessage","listMessages","deleteMessage"],"schema":"Message"},{"description":"","title":"File","name":"file","operations":[]},{"description":"","title":"State","name":"state","operations":["getState","setState","getOrSetState","patchState"],"schema":"State"},{"title":"Hub","description":"","name":"hub","operations":["listPublicIntegrations","getPublicIntegrationById","getPublicIntegration"]},{"description":"","title":"Action","name":"action","operations":["callAction"]},{"description":"","title":"Task","name":"task","operations":["getTask","createTask","updateTask","deleteTask","listTasks"],"schema":"Task"},{"title":"Bot","description":"","name":"bot","operations":["createBot","updateBot","transferBot","listBots","getBot","deleteBot","getBotLogs","getBotWebchat","getBotAnalytics","getBotIssue","listBotIssues","deleteBotIssue","listBotIssueEvents"],"schema":"Bot"},{"title":"Integration","description":"","name":"integration","operations":["listIntegrationApiKeys","createIntegrationApiKey","deleteIntegrationApiKey","createIntegration","updateIntegration","listIntegrations","getIntegration","getIntegrationLogs","getIntegrationByName","deleteIntegration"],"schema":"Integration"},{"title":"Workspace","description":"","name":"workspace","operations":["setWorkspacePaymentMethod","listWorkspaceInvoices","getUpcomingInvoice","chargeWorkspaceUnpaidInvoices","createWorkspace","getPublicWorkspace","getWorkspace","listWorkspaceUsages","breakDownWorkspaceUsageByBot","getAllWorkspaceQuotaCompletion","getWorkspaceQuota","listWorkspaceQuotas","updateWorkspace","checkHandleAvailability","listWorkspaces","deleteWorkspace","getAuditRecords"],"schema":"Workspace"},{"title":"Workspace Member","description":"","name":"workspaceMember","operations":["listWorkspaceMembers","getWorkspaceMember","deleteWorkspaceMember","createWorkspaceMember","updateWorkspaceMember"],"schema":"WorkspaceMember"},{"title":"Account","description":"","name":"account","operations":["getAccount","updateAccount","listPersonalAccessTokens","createPersonalAccessToken","deletePersonalAccessToken","setAccountPreference","getAccountPreference"],"schema":"Account"},{"title":"Usage","description":"","name":"usage","operations":["getUsage"],"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":["listTables","getTable","getOrCreateTable","createTable","duplicateTable","updateTable","renameTableColumn","deleteTable","getTableRow","findTableRows","createTableRows","deleteTableRows","updateTableRows","upsertTableRows"],"schema":"Table"},{"title":"Files","description":"Operations related to file management.","name":"files","operations":["createFile","deleteFile","listFiles","getFile","updateFile","searchFiles"],"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":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."}]}