@botpress/api 0.63.1 → 0.64.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.
package/dist/index.js CHANGED
@@ -290768,6 +290768,12 @@ var state = {
290768
290768
  "public": {
290769
290769
  "type": "boolean",
290770
290770
  "description": "Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version."
290771
+ },
290772
+ "layers": {
290773
+ "type": "array",
290774
+ "items": {
290775
+ "type": "string"
290776
+ }
290771
290777
  }
290772
290778
  },
290773
290779
  "required": [
@@ -291333,6 +291339,12 @@ var state = {
291333
291339
  "public": {
291334
291340
  "type": "boolean",
291335
291341
  "description": "Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version."
291342
+ },
291343
+ "layers": {
291344
+ "type": "array",
291345
+ "items": {
291346
+ "type": "string"
291347
+ }
291336
291348
  }
291337
291349
  },
291338
291350
  "title": "updateIntegrationBody",
@@ -294259,6 +294271,160 @@ var state = {
294259
294271
  }
294260
294272
  }
294261
294273
  },
294274
+ "copyFile": {
294275
+ "name": "copyFile",
294276
+ "path": "/v1/files/{idOrKey}/{destinationKey}",
294277
+ "description": "Copy file",
294278
+ "method": "post",
294279
+ "section": "files",
294280
+ "parameters": {
294281
+ "idOrKey": {
294282
+ "type": "string",
294283
+ "description": "File ID or Key",
294284
+ "in": "path"
294285
+ },
294286
+ "destinationKey": {
294287
+ "in": "path",
294288
+ "type": "string",
294289
+ "description": "The new key of the file. The file key must not be in use already in the destination bot."
294290
+ },
294291
+ "x-destination-bot-id": {
294292
+ "in": "header",
294293
+ "type": "string",
294294
+ "description": "The bot ID to copy the file to. You must have permission to create files in the destination bot. If the destination bot ID is omitted, the file will be copied to the same bot the source file belongs to."
294295
+ }
294296
+ },
294297
+ "requestBody": {
294298
+ "description": "An object containing the destination bot ID and file key",
294299
+ "schema": {
294300
+ "type": "object",
294301
+ "properties": {
294302
+ "i": {
294303
+ "type": "boolean"
294304
+ }
294305
+ },
294306
+ "title": "copyFileBody",
294307
+ "additionalProperties": false
294308
+ }
294309
+ },
294310
+ "response": {
294311
+ "description": "An object containing the file metadata and URL",
294312
+ "schema": {
294313
+ "type": "object",
294314
+ "properties": {
294315
+ "file": {
294316
+ "type": "object",
294317
+ "properties": {
294318
+ "id": {
294319
+ "type": "string",
294320
+ "description": "File ID"
294321
+ },
294322
+ "botId": {
294323
+ "type": "string",
294324
+ "description": "The ID of the bot the file belongs to"
294325
+ },
294326
+ "key": {
294327
+ "type": "string",
294328
+ "description": "Unique key for the file. Must be unique across the bot (and the integration, when applicable)."
294329
+ },
294330
+ "url": {
294331
+ "type": "string",
294332
+ "description": "URL to retrieve the file content. This URL will be ready to use once the file is uploaded.\n\nIf the file has a `public_content` policy, this will contain the permanent public URL to retrieve the file, otherwise this will contain a temporary pre-signed URL to download the file which should be used shortly after retrieving and should not be stored long-term as the URL will expire after a short timeframe."
294333
+ },
294334
+ "size": {
294335
+ "type": "number",
294336
+ "description": 'File size in bytes. Non-null if file upload status is "COMPLETE".',
294337
+ "nullable": true
294338
+ },
294339
+ "contentType": {
294340
+ "type": "string",
294341
+ "description": "MIME type of the file's content"
294342
+ },
294343
+ "tags": {
294344
+ "type": "object",
294345
+ "additionalProperties": {
294346
+ "type": "string",
294347
+ "maxLength": 1e3
294348
+ },
294349
+ "description": "The tags of the file as an object of key/value pairs"
294350
+ },
294351
+ "metadata": {
294352
+ "type": "object",
294353
+ "additionalProperties": {
294354
+ "nullable": true
294355
+ },
294356
+ "description": "Metadata of the file as an object of key/value pairs. The values can be of any type."
294357
+ },
294358
+ "createdAt": {
294359
+ "type": "string",
294360
+ "description": "File creation timestamp in ISO 8601 format"
294361
+ },
294362
+ "updatedAt": {
294363
+ "type": "string",
294364
+ "description": "File last update timestamp in ISO 8601 format"
294365
+ },
294366
+ "accessPolicies": {
294367
+ "type": "array",
294368
+ "items": {
294369
+ "type": "string",
294370
+ "enum": [
294371
+ "integrations",
294372
+ "public_content"
294373
+ ]
294374
+ },
294375
+ "description": "Access policies configured for the file."
294376
+ },
294377
+ "index": {
294378
+ "type": "boolean",
294379
+ "description": "Whether the file was requested to be indexed for search or not."
294380
+ },
294381
+ "status": {
294382
+ "type": "string",
294383
+ "enum": [
294384
+ "upload_pending",
294385
+ "upload_failed",
294386
+ "upload_completed",
294387
+ "indexing_pending",
294388
+ "indexing_failed",
294389
+ "indexing_completed"
294390
+ ],
294391
+ "description": "Status of the file. If the status is `upload_pending`, the file content has not been uploaded yet. The status will be set to `upload_completed` once the file content has been uploaded successfully.\n\nIf the upload failed for any reason (e.g. exceeding the storage quota or the maximum file size limit) the status will be set to `upload_failed` and the reason for the failure will be available in the `failedStatusReason` field of the file.\n\nHowever, if the file has been uploaded and the `index` attribute was set to `true` on the file, the status will immediately transition to the `indexing_pending` status (the `upload_completed` status step will be skipped).\n\nOnce the indexing is completed and the file is ready to be used for searching its status will be set to `indexing_completed`. If the indexing failed the status will be set to `indexing_failed` and the reason for the failure will be available in the `failedStatusReason` field."
294392
+ },
294393
+ "failedStatusReason": {
294394
+ "type": "string",
294395
+ "description": "If the file status is `upload_failed` or `indexing_failed` this will contain the reason of the failure."
294396
+ },
294397
+ "expiresAt": {
294398
+ "type": "string",
294399
+ "description": "File expiry timestamp in ISO 8601 format"
294400
+ }
294401
+ },
294402
+ "required": [
294403
+ "id",
294404
+ "botId",
294405
+ "key",
294406
+ "url",
294407
+ "size",
294408
+ "contentType",
294409
+ "tags",
294410
+ "metadata",
294411
+ "createdAt",
294412
+ "updatedAt",
294413
+ "accessPolicies",
294414
+ "index",
294415
+ "status"
294416
+ ],
294417
+ "additionalProperties": false
294418
+ }
294419
+ },
294420
+ "required": [
294421
+ "file"
294422
+ ],
294423
+ "title": "copyFileResponse",
294424
+ "additionalProperties": false
294425
+ }
294426
+ }
294427
+ },
294262
294428
  "searchFiles": {
294263
294429
  "name": "searchFiles",
294264
294430
  "path": "/v1/files/search",
@@ -295742,7 +295908,7 @@ var state = {
295742
295908
  "title": "Botpress API",
295743
295909
  "description": "API for Botpress Cloud",
295744
295910
  "server": "https://api.botpress.cloud",
295745
- "version": "0.63.1",
295911
+ "version": "0.64.0",
295746
295912
  "prefix": "v1"
295747
295913
  },
295748
295914
  "errors": [
@@ -295920,6 +296086,7 @@ var state = {
295920
296086
  "introspectBody": true,
295921
296087
  "upsertFileBody": true,
295922
296088
  "updateFileMetadataBody": true,
296089
+ "copyFileBody": true,
295923
296090
  "getOrCreateTableBody": true,
295924
296091
  "createTableBody": true,
295925
296092
  "duplicateTableBody": true,
@@ -296064,6 +296231,7 @@ var state = {
296064
296231
  "listFilesResponse": true,
296065
296232
  "getFileResponse": true,
296066
296233
  "updateFileMetadataResponse": true,
296234
+ "copyFileResponse": true,
296067
296235
  "searchFilesResponse": true,
296068
296236
  "listFilePassagesResponse": true,
296069
296237
  "listTablesResponse": true,
@@ -299576,6 +299744,7 @@ var state = {
299576
299744
  "listFiles",
299577
299745
  "getFile",
299578
299746
  "updateFileMetadata",
299747
+ "copyFile",
299579
299748
  "searchFiles",
299580
299749
  "listFilePassages"
299581
299750
  ],
@@ -7654,6 +7654,12 @@ export declare const state: {
7654
7654
  type: "boolean";
7655
7655
  description: string;
7656
7656
  };
7657
+ layers: {
7658
+ type: "array";
7659
+ items: {
7660
+ type: "string";
7661
+ };
7662
+ };
7657
7663
  };
7658
7664
  required: string[];
7659
7665
  title: string;
@@ -8178,6 +8184,12 @@ export declare const state: {
8178
8184
  type: "boolean";
8179
8185
  description: string;
8180
8186
  };
8187
+ layers: {
8188
+ type: "array";
8189
+ items: {
8190
+ type: "string";
8191
+ };
8192
+ };
8181
8193
  };
8182
8194
  title: string;
8183
8195
  additionalProperties: false;
@@ -10737,6 +10749,134 @@ export declare const state: {
10737
10749
  };
10738
10750
  };
10739
10751
  };
10752
+ copyFile: {
10753
+ name: string;
10754
+ path: string;
10755
+ description: string;
10756
+ method: "post";
10757
+ section: "files";
10758
+ parameters: {
10759
+ idOrKey: {
10760
+ type: "string";
10761
+ description: string;
10762
+ in: "path";
10763
+ };
10764
+ destinationKey: {
10765
+ in: "path";
10766
+ type: "string";
10767
+ description: string;
10768
+ };
10769
+ "x-destination-bot-id": {
10770
+ in: "header";
10771
+ type: "string";
10772
+ description: string;
10773
+ };
10774
+ };
10775
+ requestBody: {
10776
+ description: string;
10777
+ schema: {
10778
+ type: "object";
10779
+ properties: {
10780
+ i: {
10781
+ type: "boolean";
10782
+ };
10783
+ };
10784
+ title: string;
10785
+ additionalProperties: false;
10786
+ };
10787
+ };
10788
+ response: {
10789
+ description: string;
10790
+ schema: {
10791
+ type: "object";
10792
+ properties: {
10793
+ file: {
10794
+ type: "object";
10795
+ properties: {
10796
+ id: {
10797
+ type: "string";
10798
+ description: string;
10799
+ };
10800
+ botId: {
10801
+ type: "string";
10802
+ description: string;
10803
+ };
10804
+ key: {
10805
+ type: "string";
10806
+ description: string;
10807
+ };
10808
+ url: {
10809
+ type: "string";
10810
+ description: string;
10811
+ };
10812
+ size: {
10813
+ type: "number";
10814
+ description: string;
10815
+ nullable: true;
10816
+ };
10817
+ contentType: {
10818
+ type: "string";
10819
+ description: string;
10820
+ };
10821
+ tags: {
10822
+ type: "object";
10823
+ additionalProperties: {
10824
+ type: "string";
10825
+ maxLength: number;
10826
+ };
10827
+ description: string;
10828
+ };
10829
+ metadata: {
10830
+ type: "object";
10831
+ additionalProperties: {
10832
+ nullable: true;
10833
+ };
10834
+ description: string;
10835
+ };
10836
+ createdAt: {
10837
+ type: "string";
10838
+ description: string;
10839
+ };
10840
+ updatedAt: {
10841
+ type: "string";
10842
+ description: string;
10843
+ };
10844
+ accessPolicies: {
10845
+ type: "array";
10846
+ items: {
10847
+ type: "string";
10848
+ enum: string[];
10849
+ };
10850
+ description: string;
10851
+ };
10852
+ index: {
10853
+ type: "boolean";
10854
+ description: string;
10855
+ };
10856
+ status: {
10857
+ type: "string";
10858
+ enum: string[];
10859
+ description: string;
10860
+ };
10861
+ failedStatusReason: {
10862
+ type: "string";
10863
+ description: string;
10864
+ };
10865
+ expiresAt: {
10866
+ type: "string";
10867
+ description: string;
10868
+ };
10869
+ };
10870
+ required: string[];
10871
+ additionalProperties: false;
10872
+ };
10873
+ };
10874
+ required: string[];
10875
+ title: string;
10876
+ additionalProperties: false;
10877
+ };
10878
+ };
10879
+ };
10740
10880
  searchFiles: {
10741
10881
  name: string;
10742
10882
  path: string;
@@ -12147,6 +12287,7 @@ export declare const state: {
12147
12287
  introspectBody: true;
12148
12288
  upsertFileBody: true;
12149
12289
  updateFileMetadataBody: true;
12290
+ copyFileBody: true;
12150
12291
  getOrCreateTableBody: true;
12151
12292
  createTableBody: true;
12152
12293
  duplicateTableBody: true;
@@ -12291,6 +12432,7 @@ export declare const state: {
12291
12432
  listFilesResponse: true;
12292
12433
  getFileResponse: true;
12293
12434
  updateFileMetadataResponse: true;
12435
+ copyFileResponse: true;
12294
12436
  searchFilesResponse: true;
12295
12437
  listFilePassagesResponse: true;
12296
12438
  listTablesResponse: true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botpress/api",
3
- "version": "0.63.1",
3
+ "version": "0.64.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "scripts": {
@@ -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":"State","name":"state","operations":["setStateExpiry","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"},{"description":"","title":"Workflow","name":"workflow","operations":["createWorkflow","getWorkflow","updateWorkflow","deleteWorkflow","listWorkflows","getOrCreateWorkflow"],"schema":"Workflow"},{"description":"","title":"Tag","name":"tag","operations":["listTagValues"]},{"title":"Bot","description":"","name":"bot","operations":["createBot","updateBot","transferBot","listBots","getBot","deleteBot","getBotLogs","getBotWebchat","getBotAnalytics","getBotIssue","listBotIssues","deleteBotIssue","listBotIssueEvents","listBotVersions","getBotVersion","createBotVersion","deployBotVersion"],"schema":"Bot"},{"title":"Integration","description":"","name":"integration","operations":["listIntegrationApiKeys","createIntegrationApiKey","deleteIntegrationApiKey","createIntegration","updateIntegration","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","getPluginByName","updatePlugin","deletePlugin","listPlugins"],"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"],"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","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":["listTables","getTable","getOrCreateTable","createTable","duplicateTable","exportTable","getTableJobs","importTable","updateTable","renameTableColumn","deleteTable","getTableRow","findTableRows","createTableRows","deleteTableRows","updateTableRows","upsertTableRows"],"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":["upsertFile","deleteFile","listFiles","getFile","updateFileMetadata","searchFiles","listFilePassages"],"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":["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":"State","name":"state","operations":["setStateExpiry","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"},{"description":"","title":"Workflow","name":"workflow","operations":["createWorkflow","getWorkflow","updateWorkflow","deleteWorkflow","listWorkflows","getOrCreateWorkflow"],"schema":"Workflow"},{"description":"","title":"Tag","name":"tag","operations":["listTagValues"]},{"title":"Bot","description":"","name":"bot","operations":["createBot","updateBot","transferBot","listBots","getBot","deleteBot","getBotLogs","getBotWebchat","getBotAnalytics","getBotIssue","listBotIssues","deleteBotIssue","listBotIssueEvents","listBotVersions","getBotVersion","createBotVersion","deployBotVersion"],"schema":"Bot"},{"title":"Integration","description":"","name":"integration","operations":["listIntegrationApiKeys","createIntegrationApiKey","deleteIntegrationApiKey","createIntegration","updateIntegration","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","getPluginByName","updatePlugin","deletePlugin","listPlugins"],"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"],"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","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":["listTables","getTable","getOrCreateTable","createTable","duplicateTable","exportTable","getTableJobs","importTable","updateTable","renameTableColumn","deleteTable","getTableRow","findTableRows","createTableRows","deleteTableRows","updateTableRows","upsertTableRows"],"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":["upsertFile","deleteFile","listFiles","getFile","updateFileMetadata","copyFile","searchFiles","listFilePassages"],"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."}]}