@epilot/sdk 2.6.0 → 2.7.1
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/definitions/customer-portal-runtime.json +1 -1
- package/definitions/customer-portal.json +492 -7
- package/definitions/email-settings-runtime.json +1 -1
- package/definitions/email-settings.json +86 -4
- package/definitions/event-catalog-runtime.json +1 -1
- package/definitions/event-catalog.json +256 -1
- package/definitions/file-runtime.json +1 -1
- package/definitions/file.json +262 -4
- package/definitions/webhooks.json +19 -4
- package/dist/apis/access-token.cjs +6 -6
- package/dist/apis/access-token.js +1 -1
- package/dist/apis/address-suggestions.cjs +6 -6
- package/dist/apis/address-suggestions.js +1 -1
- package/dist/apis/address.cjs +6 -6
- package/dist/apis/address.js +1 -1
- package/dist/apis/ai-agents.cjs +6 -6
- package/dist/apis/ai-agents.js +1 -1
- package/dist/apis/app.cjs +6 -6
- package/dist/apis/app.js +1 -1
- package/dist/apis/audit-logs.cjs +6 -6
- package/dist/apis/audit-logs.js +1 -1
- package/dist/apis/automation.cjs +6 -6
- package/dist/apis/automation.js +1 -1
- package/dist/apis/billing.cjs +6 -6
- package/dist/apis/billing.js +1 -1
- package/dist/apis/blueprint-manifest.cjs +6 -6
- package/dist/apis/blueprint-manifest.js +1 -1
- package/dist/apis/calendar.cjs +6 -6
- package/dist/apis/calendar.js +1 -1
- package/dist/apis/configuration-hub.cjs +6 -6
- package/dist/apis/configuration-hub.js +1 -1
- package/dist/apis/consent.cjs +6 -6
- package/dist/apis/consent.js +1 -1
- package/dist/apis/customer-portal.cjs +8 -8
- package/dist/apis/customer-portal.d.cts +2 -2
- package/dist/apis/customer-portal.d.ts +2 -2
- package/dist/apis/customer-portal.js +2 -2
- package/dist/apis/dashboard.cjs +6 -6
- package/dist/apis/dashboard.js +1 -1
- package/dist/apis/data-governance.cjs +6 -6
- package/dist/apis/data-governance.js +1 -1
- package/dist/apis/deduplication.cjs +6 -6
- package/dist/apis/deduplication.js +1 -1
- package/dist/apis/design.cjs +6 -6
- package/dist/apis/design.js +1 -1
- package/dist/apis/document.cjs +6 -6
- package/dist/apis/document.js +1 -1
- package/dist/apis/email-settings.cjs +8 -8
- package/dist/apis/email-settings.d.cts +2 -2
- package/dist/apis/email-settings.d.ts +2 -2
- package/dist/apis/email-settings.js +2 -2
- package/dist/apis/email-template.cjs +6 -6
- package/dist/apis/email-template.js +1 -1
- package/dist/apis/entity-mapping.cjs +6 -6
- package/dist/apis/entity-mapping.js +1 -1
- package/dist/apis/entity.cjs +6 -6
- package/dist/apis/entity.js +1 -1
- package/dist/apis/environments.cjs +6 -6
- package/dist/apis/environments.js +1 -1
- package/dist/apis/event-catalog.cjs +8 -8
- package/dist/apis/event-catalog.d.cts +2 -2
- package/dist/apis/event-catalog.d.ts +2 -2
- package/dist/apis/event-catalog.js +2 -2
- package/dist/apis/file.cjs +8 -8
- package/dist/apis/file.d.cts +2 -2
- package/dist/apis/file.d.ts +2 -2
- package/dist/apis/file.js +2 -2
- package/dist/apis/iban.cjs +6 -6
- package/dist/apis/iban.js +1 -1
- package/dist/apis/integration-toolkit.cjs +6 -6
- package/dist/apis/integration-toolkit.js +1 -1
- package/dist/apis/journey.cjs +6 -6
- package/dist/apis/journey.js +1 -1
- package/dist/apis/kanban.cjs +6 -6
- package/dist/apis/kanban.js +1 -1
- package/dist/apis/message.cjs +6 -6
- package/dist/apis/message.js +1 -1
- package/dist/apis/metering.cjs +6 -6
- package/dist/apis/metering.js +1 -1
- package/dist/apis/notes.cjs +6 -6
- package/dist/apis/notes.js +1 -1
- package/dist/apis/notification.cjs +6 -6
- package/dist/apis/notification.js +1 -1
- package/dist/apis/organization.cjs +6 -6
- package/dist/apis/organization.js +1 -1
- package/dist/apis/partner-directory.cjs +6 -6
- package/dist/apis/partner-directory.js +1 -1
- package/dist/apis/permissions.cjs +6 -6
- package/dist/apis/permissions.js +1 -1
- package/dist/apis/pricing-tier.cjs +6 -6
- package/dist/apis/pricing-tier.js +1 -1
- package/dist/apis/pricing.cjs +6 -6
- package/dist/apis/pricing.js +1 -1
- package/dist/apis/purpose.cjs +6 -6
- package/dist/apis/purpose.js +1 -1
- package/dist/apis/query.cjs +6 -6
- package/dist/apis/query.js +1 -1
- package/dist/apis/sandbox.cjs +6 -6
- package/dist/apis/sandbox.js +1 -1
- package/dist/apis/sharing.cjs +6 -6
- package/dist/apis/sharing.js +1 -1
- package/dist/apis/submission.cjs +6 -6
- package/dist/apis/submission.js +1 -1
- package/dist/apis/target.cjs +6 -6
- package/dist/apis/target.js +1 -1
- package/dist/apis/targeting.cjs +6 -6
- package/dist/apis/targeting.js +1 -1
- package/dist/apis/template-variables.cjs +6 -6
- package/dist/apis/template-variables.js +1 -1
- package/dist/apis/user.cjs +6 -6
- package/dist/apis/user.js +1 -1
- package/dist/apis/validation-rules.cjs +6 -6
- package/dist/apis/validation-rules.js +1 -1
- package/dist/apis/webhooks.cjs +6 -6
- package/dist/apis/webhooks.d.cts +2 -2
- package/dist/apis/webhooks.d.ts +2 -2
- package/dist/apis/webhooks.js +1 -1
- package/dist/apis/workflow-definition.cjs +6 -6
- package/dist/apis/workflow-definition.js +1 -1
- package/dist/apis/workflow.cjs +6 -6
- package/dist/apis/workflow.js +1 -1
- package/dist/bin/cli.js +1 -1
- package/dist/chunk-3APTSPY4.js +14 -0
- package/dist/{chunk-BLNXQAMX.cjs → chunk-CBDKPGO5.cjs} +1 -1
- package/dist/chunk-KCPVNRDL.js +14 -0
- package/dist/chunk-KJPOUJBU.cjs +14 -0
- package/dist/{chunk-TME4YJNP.js → chunk-OCMIXJWC.js} +1 -1
- package/dist/chunk-OPXGJKZR.cjs +14 -0
- package/dist/chunk-PTEJYAYJ.js +14 -0
- package/dist/{chunk-SDIGGISZ.cjs → chunk-R7XDTILZ.cjs} +9 -9
- package/dist/{chunk-QNUU4TTU.js → chunk-SCMAZ73K.js} +9 -9
- package/dist/chunk-YI5YGTAH.cjs +14 -0
- package/dist/customer-portal-7HYSBH7H.cjs +7 -0
- package/dist/customer-portal-X4LJX6AU.js +7 -0
- package/dist/{customer-portal-runtime-OEXTSMSE.cjs → customer-portal-runtime-IYHJ3RME.cjs} +2 -2
- package/dist/{customer-portal-runtime-N4NWQ67M.js → customer-portal-runtime-ZYU3WIXY.js} +1 -1
- package/dist/{customer-portal.d-ChSEioI5.d.cts → customer-portal.d-C7ZCbjiY.d.cts} +605 -11
- package/dist/{customer-portal.d-ChSEioI5.d.ts → customer-portal.d-C7ZCbjiY.d.ts} +605 -11
- package/dist/email-settings-YJ4X5VFU.cjs +7 -0
- package/dist/email-settings-YUK3DXFJ.js +7 -0
- package/dist/{email-settings-runtime-EGIJ2AVQ.js → email-settings-runtime-BXRZV4M5.js} +1 -1
- package/dist/{email-settings-runtime-WGVLI7N6.cjs → email-settings-runtime-FWJQBQBK.cjs} +2 -2
- package/dist/{email-settings.d-B7Q_xT25.d.cts → email-settings.d-UJ0C3jPI.d.cts} +108 -9
- package/dist/{email-settings.d-B7Q_xT25.d.ts → email-settings.d-UJ0C3jPI.d.ts} +108 -9
- package/dist/event-catalog-37B6JC7G.js +7 -0
- package/dist/event-catalog-5JBHJJ2I.cjs +7 -0
- package/dist/{event-catalog-runtime-5HQSAJVX.cjs → event-catalog-runtime-B2BPKQVG.cjs} +2 -2
- package/dist/{event-catalog-runtime-6FA3SCRI.js → event-catalog-runtime-N262TQ3Y.js} +1 -1
- package/dist/{event-catalog.d-ENw6HO-w.d.cts → event-catalog.d-mQJLSYUo.d.cts} +351 -6
- package/dist/{event-catalog.d-ENw6HO-w.d.ts → event-catalog.d-mQJLSYUo.d.ts} +351 -6
- package/dist/file-P2FUUER2.js +7 -0
- package/dist/file-XTY74SIX.cjs +7 -0
- package/dist/file-runtime-24S3QPA7.cjs +5 -0
- package/dist/{file-runtime-B6AAGZQF.js → file-runtime-BIRMXYRH.js} +1 -1
- package/dist/{file.d-DcTJxjp7.d.cts → file.d-DTlrbI40.d.cts} +2336 -19
- package/dist/{file.d-DcTJxjp7.d.ts → file.d-DTlrbI40.d.ts} +2336 -19
- package/dist/index.cjs +16 -16
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +5 -5
- package/dist/{js-yaml-DLCVPJ7G.js → js-yaml-UPZKYVRY.js} +15 -17
- package/dist/{webhooks-XLBUXXCS.js → webhooks-NZHJBT64.js} +1 -1
- package/dist/{webhooks-NZ3TM3AY.cjs → webhooks-SK2STDKR.cjs} +1 -1
- package/dist/{webhooks.d-D79qib9f.d.cts → webhooks.d-ByePoUWs.d.cts} +40 -4
- package/dist/{webhooks.d-D79qib9f.d.ts → webhooks.d-ByePoUWs.d.ts} +40 -4
- package/docs/customer-portal.md +417 -51
- package/docs/email-settings.md +67 -3
- package/docs/event-catalog.md +247 -1
- package/docs/file.md +101 -2
- package/docs/webhooks.md +3 -1
- package/package.json +1 -1
- package/dist/chunk-4W22EIRF.cjs +0 -14
- package/dist/chunk-5OBMZHRL.cjs +0 -14
- package/dist/chunk-E2WMGOM5.js +0 -14
- package/dist/chunk-EFWPEVXI.js +0 -14
- package/dist/chunk-KEI3GHDY.cjs +0 -14
- package/dist/chunk-Z6HGUGXK.js +0 -14
- package/dist/customer-portal-5I7ZGQDU.cjs +0 -7
- package/dist/customer-portal-YL2YMPZL.js +0 -7
- package/dist/email-settings-CKFJU4WZ.js +0 -7
- package/dist/email-settings-NQJJKS2P.cjs +0 -7
- package/dist/event-catalog-C45ISVMP.cjs +0 -7
- package/dist/event-catalog-D7VJ7WRS.js +0 -7
- package/dist/file-UOWBTDIU.cjs +0 -7
- package/dist/file-XSN3NAVZ.js +0 -7
- package/dist/file-runtime-SFZIKODF.cjs +0 -5
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import "./chunk-YPSWSI3M.js";
|
|
2
|
-
|
|
3
|
-
// src/docs/email-settings.json
|
|
4
|
-
var email_settings_default = '# Messaging Settings API\n\n- **Base URL:** `https://email-settings.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/email-settings](https://docs.epilot.io/api/email-settings)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.emailSettings.provisionEpilotEmailAddress(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/email-settings\'\n\nconst emailSettingsClient = getClient()\nauthorize(emailSettingsClient, () => \'<token>\')\nconst { data } = await emailSettingsClient.provisionEpilotEmailAddress(...)\n```\n\n## Operations\n\n**Email addresses**\n- [`provisionEpilotEmailAddress`](#provisionepilotemailaddress)\n- [`setEmailAddressPrimary`](#setemailaddressprimary)\n- [`getEmailAddress`](#getemailaddress)\n- [`deleteEmailAddress`](#deleteemailaddress)\n- [`updateEmailAddress`](#updateemailaddress)\n- [`listEmailAddresses`](#listemailaddresses)\n- [`addEmailAddress`](#addemailaddress)\n\n**Shared inboxes**\n- [`getSharedInbox`](#getsharedinbox)\n- [`deleteSharedInbox`](#deletesharedinbox)\n- [`updateSharedInbox`](#updatesharedinbox)\n- [`listSharedInboxes`](#listsharedinboxes)\n- [`addSharedInbox`](#addsharedinbox)\n\n**Inbox buckets**\n- [`listInboxBuckets`](#listinboxbuckets)\n\n**O365 Outlook Connection**\n- [`connectOutlook`](#connectoutlook)\n- [`getOutlookConnectionStatus`](#getoutlookconnectionstatus)\n- [`disconnectOutlook`](#disconnectoutlook)\n- [`connectOutlookMailbox`](#connectoutlookmailbox)\n- [`disconnectOutlookMailbox`](#disconnectoutlookmailbox)\n- [`startMailboxSync`](#startmailboxsync)\n- [`getMailboxSyncStatus`](#getmailboxsyncstatus)\n- [`retryMailboxSync`](#retrymailboxsync)\n- [`getConnectedOutlookEmails`](#getconnectedoutlookemails)\n- [`outlookOAuthCallback`](#outlookoauthcallback)\n\n**Channels**\n- [`connectMsTeams`](#connectmsteams)\n- [`disconnectMsTeams`](#disconnectmsteams)\n- [`getMsTeamsStatus`](#getmsteamsstatus)\n\n**Settings**\n- [`getSettings`](#getsettings)\n- [`addSetting`](#addsetting)\n- [`deleteSetting`](#deletesetting)\n- [`updateSetting`](#updatesetting)\n\n**Domains**\n- [`addDomain`](#adddomain)\n- [`deleteDomain`](#deletedomain)\n- [`getDomains`](#getdomains)\n- [`verifyNameServers`](#verifynameservers)\n- [`verifyDomain`](#verifydomain)\n\n**Schemas**\n- [`MailboxSyncStatus`](#mailboxsyncstatus)\n- [`MailboxSyncStatuses`](#mailboxsyncstatuses)\n- [`MailboxSyncFolderStatuses`](#mailboxsyncfolderstatuses)\n- [`MailboxSyncTimeframePeriods`](#mailboxsynctimeframeperiods)\n- [`InboxBucketResponse`](#inboxbucketresponse)\n- [`ProvisionEpilotEmailAddressPayload`](#provisionepilotemailaddresspayload)\n- [`SetEmailAddressPrimaryPayload`](#setemailaddressprimarypayload)\n- [`UpdateEmailAddressPayload`](#updateemailaddresspayload)\n- [`CreateEmailAddressPayload`](#createemailaddresspayload)\n- [`EmailAddressResponse`](#emailaddressresponse)\n- [`ErrorResponse`](#errorresponse)\n- [`SettingMeta`](#settingmeta)\n- [`UpdateSharedInboxPayload`](#updatesharedinboxpayload)\n- [`CreateSharedInboxPayload`](#createsharedinboxpayload)\n- [`SharedInboxResponse`](#sharedinboxresponse)\n- [`SettingsResponse`](#settingsresponse)\n- [`ConnectedOutlookEmail`](#connectedoutlookemail)\n- [`OutlookConnectionError`](#outlookconnectionerror)\n- [`OutlookConnectionStatus`](#outlookconnectionstatus)\n- [`SignatureSetting`](#signaturesetting)\n- [`EmailDomainSetting`](#emaildomainsetting)\n- [`EmailAddressSetting`](#emailaddresssetting)\n- [`WhitelistEmailAddressSetting`](#whitelistemailaddresssetting)\n- [`RestrictDuplicatesWithinSetting`](#restrictduplicateswithinsetting)\n- [`SettingType`](#settingtype)\n- [`Setting`](#setting)\n- [`Domain`](#domain)\n\n### `provisionEpilotEmailAddress`\n\nProvisions or reactivates an epilot-managed email address for the organization.\n\n`PUT /v2/email-settings/email-addresses/epilot:provision`\n\n```ts\nconst { data } = await client.provisionEpilotEmailAddress(\n null,\n {\n address: \'mycompany@epilot.cloud\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `setEmailAddressPrimary`\n\nSets the specified email address as the primary address for the organization.\n\n`POST /v2/email-settings/email-addresses/primary`\n\n```ts\nconst { data } = await client.setEmailAddressPrimary(\n null,\n {\n address: \'sales@yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `getEmailAddress`\n\nRetrieves the details of a specific email address by its ID.\n\n`GET /v2/email-settings/email-addresses/{id}`\n\n```ts\nconst { data } = await client.getEmailAddress({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `deleteEmailAddress`\n\nPermanently deletes an email address from the organization.\n\n`DELETE /v2/email-settings/email-addresses/{id}`\n\n```ts\nconst { data } = await client.deleteEmailAddress({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `updateEmailAddress`\n\nUpdates the configuration of an existing email address.\n\n`PUT /v2/email-settings/email-addresses/{id}`\n\n```ts\nconst { data } = await client.updateEmailAddress(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n name: \'Sales Team\',\n user_ids: [\'user-123\', \'user-456\'],\n group_ids: [\'group-789\'],\n default_signature_id: \'sig-abc\',\n shared_inbox_id: \'inbox-xyz\',\n is_active: true\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `listEmailAddresses`\n\nRetrieves all email addresses configured for the organization.\n\n`GET /v2/email-settings/email-addresses`\n\n```ts\nconst { data } = await client.listEmailAddresses()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n }\n]\n```\n\n</details>\n\n---\n\n### `addEmailAddress`\n\nAdds a new email address to the organization.\n\n`POST /v2/email-settings/email-addresses`\n\n```ts\nconst { data } = await client.addEmailAddress(\n null,\n {\n address: \'support@yourcompany.com\',\n name: \'Customer Support\',\n user_ids: [\'user-123\'],\n group_ids: [\'group-456\'],\n default_signature_id: \'sig-789\',\n shared_inbox_id: \'inbox-abc\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `getSharedInbox`\n\nRetrieves the details of a specific shared inbox by its ID.\n\n`GET /v2/email-settings/shared-inboxes/{id}`\n\n```ts\nconst { data } = await client.getSharedInbox({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n}\n```\n\n</details>\n\n---\n\n### `deleteSharedInbox`\n\nDeletes a shared inbox and reroutes all associated emails to a successor inbox.\n\n`DELETE /v2/email-settings/shared-inboxes/{id}`\n\n```ts\nconst { data } = await client.deleteSharedInbox({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n successorInboxId: \'example\',\n})\n```\n\n---\n\n### `updateSharedInbox`\n\nUpdates the configuration of an existing shared inbox.\n\n`PUT /v2/email-settings/shared-inboxes/{id}`\n\n```ts\nconst { data } = await client.updateSharedInbox(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n color: \'#4CAF50\',\n name: \'Customer Support\',\n assignees: [\'user-123\', \'user-456\'],\n description: \'Incoming customer support requests\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n}\n```\n\n</details>\n\n---\n\n### `listSharedInboxes`\n\nRetrieves all shared inboxes configured for the organization.\n\n`GET /v2/email-settings/shared-inboxes`\n\n```ts\nconst { data } = await client.listSharedInboxes()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n }\n]\n```\n\n</details>\n\n---\n\n### `addSharedInbox`\n\nCreates a new shared inbox for the organization.\n\n`POST /v2/email-settings/shared-inboxes`\n\n```ts\nconst { data } = await client.addSharedInbox(\n null,\n {\n id: \'support-inbox\',\n color: \'#2196F3\',\n name: \'Sales Inquiries\',\n assignees: [\'user-123\', \'user-456\'],\n description: \'Inbound sales and pricing requests\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n}\n```\n\n</details>\n\n---\n\n### `listInboxBuckets`\n\nRetrieves all inbox buckets for the organization.\n\n`GET /v2/email-settings/inbox-buckets`\n\n```ts\nconst { data } = await client.listInboxBuckets()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "bucket-abc",\n "inbox_id": "inbox-xyz"\n }\n]\n```\n\n</details>\n\n---\n\n### `connectOutlook`\n\nReturns Microsoft authorization URL for Outlook OAuth.\n\n`GET /v2/outlook/connect`\n\n```ts\nconst { data } = await client.connectOutlook()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "authorization_url": "string"\n}\n```\n\n</details>\n\n---\n\n### `getOutlookConnectionStatus`\n\nReturns all Microsoft 365 / Outlook connections for the organization.\nSupports multiple connections (one per Azure AD tenant).\n\n`GET /v2/outlook/connection/status`\n\n```ts\nconst { data } = await client.getOutlookConnectionStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connections": [\n {\n "status": "connected",\n "action": "connect",\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_by_user_id": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "tenant_id": "string",\n "scopes": ["string"],\n "expires_at": "1970-01-01T00:00:00.000Z",\n "is_token_valid": true\n }\n ],\n "has_connections": true,\n "teams_enabled": true\n}\n```\n\n</details>\n\n---\n\n### `disconnectOutlook`\n\nRemoves the Microsoft 365 / Outlook connection for a specific tenant.\nThis deletes the stored tokens and disconnects the integration.\n\n`POST /v2/outlook/connection/disconnect`\n\n```ts\nconst { data } = await client.disconnectOutlook(\n null,\n {\n tenant_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "tenant_id": "string",\n "affected_shared_inboxes": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `connectMsTeams`\n\nConnects Microsoft Teams channel (click-to-call deep links, meetings) for the organization.\nRequires an active Microsoft 365 / Outlook connection.\n\n`POST /v2/channels/msteams/connect`\n\n```ts\nconst { data } = await client.connectMsTeams()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true,\n "connected_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `disconnectMsTeams`\n\nDisconnects Microsoft Teams channel for the organization.\n\n`POST /v2/channels/msteams/disconnect`\n\n```ts\nconst { data } = await client.disconnectMsTeams()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true\n}\n```\n\n</details>\n\n---\n\n### `getMsTeamsStatus`\n\nReturns the connection status of the Microsoft Teams channel for the organization.\n\n`GET /v2/channels/msteams/status`\n\n```ts\nconst { data } = await client.getMsTeamsStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true,\n "connected_at": "1970-01-01T00:00:00.000Z",\n "connected_by_user_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `connectOutlookMailbox`\n\nConnects an Outlook mailbox:\n 1. Validates the user has access to the mailbox via Microsoft Graph API\n 2. Creates a mapping between the email address of the mailbox and the outlook connection\n 3. E\n\n`POST /v2/outlook/mailbox/connect`\n\n```ts\nconst { data } = await client.connectOutlookMailbox(\n null,\n {\n email: \'user@example.com\',\n shared_inbox_id: \'default\',\n mailboxSyncTimeframe: \'5m\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "email_address": {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n },\n "outlook_email": "user@example.com",\n "tenant_id": "string",\n "provider": "outlook"\n}\n```\n\n</details>\n\n---\n\n### `disconnectOutlookMailbox`\n\nDisconnect Outlook Mailbox\n\n`POST /v2/outlook/mailbox/{email}/disconnect`\n\n```ts\nconst { data } = await client.disconnectOutlookMailbox({\n email: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "email": "user@example.com"\n}\n```\n\n</details>\n\n---\n\n### `startMailboxSync`\n\nStart Mailbox Sync\n\n`POST /v2/outlook/mailbox/{email}/sync`\n\n```ts\nconst { data } = await client.startMailboxSync(\n {\n email: \'example\',\n },\n {\n timeframe: \'5m\'\n },\n)\n```\n\n---\n\n### `getMailboxSyncStatus`\n\nGet Mailbox Sync Status\n\n`GET /v2/outlook/mailbox/{email}/sync/status`\n\n```ts\nconst { data } = await client.getMailboxSyncStatus({\n email: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "execution_id": "string",\n "status": "RUNNING",\n "timeframe": "5m",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "inbox": {\n "status": "PENDING",\n "total_messages": 0,\n "processed_messages": 0,\n "failed_messages": 0\n },\n "sent_items": {\n "status": "PENDING",\n "total_messages": 0,\n "processed_messages": 0,\n "failed_messages": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `retryMailboxSync`\n\nRetry Failed Messages\n\n`POST /v2/outlook/mailbox/{email}/sync/retry`\n\n```ts\nconst { data } = await client.retryMailboxSync(\n {\n email: \'example\',\n },\n {\n sync_id: \'string\',\n scope: \'all_failed\',\n message_ids: [\'string\']\n },\n)\n```\n\n---\n\n### `getConnectedOutlookEmails`\n\nReturns all Outlook email addresses connected to the organization.\n\n`GET /v2/outlook/mailbox/mappings`\n\n```ts\nconst { data } = await client.getConnectedOutlookEmails()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "outlook_emails": [\n {\n "outlook_email": "user@example.com",\n "tenant_id": "string",\n "provider": "outlook",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "connected_by_user_id": "string"\n }\n ],\n "count": 0\n}\n```\n\n</details>\n\n---\n\n### `outlookOAuthCallback`\n\nExchanges authorization code for tokens and stores them.\n\n`GET /v2/outlook/oauth/callback`\n\n```ts\nconst { data } = await client.outlookOAuthCallback({\n code: \'example\',\n state: \'example\',\n session_state: \'example\',\n error: \'example\',\n error_description: \'example\',\n error_subcode: \'example\',\n client_info: \'example\',\n error_uri: \'example\',\n admin_consent: \'example\',\n tenant: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true,\n "expires_at": "1970-01-01T00:00:00.000Z",\n "scope": "string"\n}\n```\n\n</details>\n\n---\n\n### `getSettings`\n\nRetrieves settings of a specific type for the organization.\n\n`GET /v1/email-settings`\n\n```ts\nconst { data } = await client.getSettings({\n type: \'example\',\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `addSetting`\n\nCreates a new setting of the specified type.\n\n`POST /v1/email-settings`\n\n```ts\nconst { data } = await client.addSetting(\n null,\n {\n id: \'a10bd0ff-4391-4cfc-88ee-b19d718a9bf7\',\n name: \'Default Signature\',\n org_id: \'org-123\',\n type: \'signature\',\n value: \'Best regards, The Team\',\n html: \'<p>Best regards,<br/><strong>The Team</strong></p>\',\n created_at: \'2024-01-15T10:30:00Z\',\n updated_at: \'2024-01-20T14:45:00Z\',\n created_by: \'user-123\',\n updated_by: \'user-456\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `deleteSetting`\n\nDeletes a setting by its ID and type.\n\n`DELETE /v1/email-settings`\n\n```ts\nconst { data } = await client.deleteSetting(\n null,\n {\n type: \'signature\',\n id: \'a10bd0ff-4391-4cfc-88ee-b19d718a9bf7\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n}\n```\n\n</details>\n\n---\n\n### `updateSetting`\n\nUpdates an existing setting identified by its ID.\n\n`POST /v1/email-settings/{id}`\n\n```ts\nconst { data } = await client.updateSetting(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n id: \'a10bd0ff-4391-4cfc-88ee-b19d718a9bf7\',\n name: \'Default Signature\',\n org_id: \'org-123\',\n type: \'signature\',\n value: \'Best regards, The Team\',\n html: \'<p>Best regards,<br/><strong>The Team</strong></p>\',\n created_at: \'2024-01-15T10:30:00Z\',\n updated_at: \'2024-01-20T14:45:00Z\',\n created_by: \'user-123\',\n updated_by: \'user-456\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n}\n```\n\n</details>\n\n---\n\n### `addDomain`\n\nAdds a custom email domain to the organization.\n\n`POST /v1/email-settings/domain`\n\n```ts\nconst { data } = await client.addDomain(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `deleteDomain`\n\nRemoves a custom email domain from the organization.\n\n`DELETE /v1/email-settings/domain`\n\n```ts\nconst { data } = await client.deleteDomain(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n---\n\n### `getDomains`\n\nRetrieves all custom email domains for the organization.\n\n`GET /v1/email-settings/domain`\n\n```ts\nconst { data } = await client.getDomains()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n["string"]\n```\n\n</details>\n\n---\n\n### `verifyNameServers`\n\nVerifies that the domain\'s name server (NS) records are correctly configured.\n\n`POST /v1/email-settings/domain/name-servers:verify`\n\n```ts\nconst { data } = await client.verifyNameServers(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `verifyDomain`\n\nVerifies ownership and configuration of a custom email domain.\n\n`POST /v1/email-settings/domain:verify`\n\n```ts\nconst { data } = await client.verifyDomain(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `MailboxSyncStatus`\n\n```ts\ntype MailboxSyncStatus = {\n execution_id: string\n status: "RUNNING" | "COMPLETED" | "COMPLETED_WITH_ERRORS" | "FAILED" | "CANCELLED"\n timeframe: "5m" | "1w" | "2w" | "1m"\n started_at: string // date-time\n completed_at?: string // date-time\n inbox?: {\n status?: "PENDING" | "RUNNING" | "COMPLETED" | "FAILED" | "SKIPPED"\n total_messages?: number\n processed_messages?: number\n failed_messages?: number\n }\n sent_items?: {\n status?: "PENDING" | "RUNNING" | "COMPLETED" | "FAILED" | "SKIPPED"\n total_messages?: number\n processed_messages?: number\n failed_messages?: number\n }\n}\n```\n\n### `MailboxSyncStatuses`\n\n```ts\ntype MailboxSyncStatuses = "RUNNING" | "COMPLETED" | "COMPLETED_WITH_ERRORS" | "FAILED" | "CANCELLED"\n```\n\n### `MailboxSyncFolderStatuses`\n\n```ts\ntype MailboxSyncFolderStatuses = "PENDING" | "RUNNING" | "COMPLETED" | "FAILED" | "SKIPPED"\n```\n\n### `MailboxSyncTimeframePeriods`\n\n```ts\ntype MailboxSyncTimeframePeriods = "5m" | "1w" | "2w" | "1m"\n```\n\n### `InboxBucketResponse`\n\nInbox bucket representing the storage container for a shared inbox.\n\n```ts\ntype InboxBucketResponse = {\n id: string\n inbox_id: string\n}\n```\n\n### `ProvisionEpilotEmailAddressPayload`\n\nRequest payload for provisioning an epilot-managed email address.\n\n```ts\ntype ProvisionEpilotEmailAddressPayload = {\n address: string\n}\n```\n\n### `SetEmailAddressPrimaryPayload`\n\nRequest payload for setting an email address as the organization\'s primary address.\n\n```ts\ntype SetEmailAddressPrimaryPayload = {\n address: string\n}\n```\n\n### `UpdateEmailAddressPayload`\n\nRequest payload for updating an email address configuration.\nAll fields are optional; only provided fields will be updated.\n\n\n```ts\ntype UpdateEmailAddressPayload = {\n name?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n shared_inbox_id?: string\n is_active?: boolean\n}\n```\n\n### `CreateEmailAddressPayload`\n\nRequest payload for creating a new email address.\n\n```ts\ntype CreateEmailAddressPayload = {\n address: string\n name?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n shared_inbox_id?: string\n}\n```\n\n### `EmailAddressResponse`\n\nEmail address configuration with all associated metadata.\n\n```ts\ntype EmailAddressResponse = {\n id: string\n created_at: string // date-time\n updated_at?: string // date-time\n created_by?: string\n updated_by?: string\n address: string\n name?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n shared_inbox_id?: string\n is_active?: boolean\n is_primary?: boolean\n is_epilot_email_address?: boolean\n}\n```\n\n### `ErrorResponse`\n\nStandard error response format for all API errors.\n\n```ts\ntype ErrorResponse = {\n error: string\n status: number\n}\n```\n\n### `SettingMeta`\n\nCommon metadata fields for all settings and resources.\n\n```ts\ntype SettingMeta = {\n id: string\n created_at: string // date-time\n updated_at?: string // date-time\n created_by?: string\n updated_by?: string\n}\n```\n\n### `UpdateSharedInboxPayload`\n\nRequest payload for updating a shared inbox configuration.\nAll fields are optional; only provided fields will be updated.\n\n\n```ts\ntype UpdateSharedInboxPayload = {\n color?: string\n name?: string\n assignees?: string[]\n description?: string\n}\n```\n\n### `CreateSharedInboxPayload`\n\nRequest payload for creating a new shared inbox.\n\n```ts\ntype CreateSharedInboxPayload = {\n id?: string\n color: string\n name: string\n assignees?: string[]\n description?: string\n}\n```\n\n### `SharedInboxResponse`\n\nShared inbox configuration with all associated metadata.\n\n```ts\ntype SharedInboxResponse = {\n id: string\n created_at: string // date-time\n updated_at?: string // date-time\n created_by?: string\n updated_by?: string\n name: string\n color: string\n assignees: string[]\n description?: string\n bucket_id: string\n}\n```\n\n### `SettingsResponse`\n\n```ts\ntype SettingsResponse = Array<{\n id?: string\n name?: string\n org_id?: string\n type: "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n value?: string\n html?: string\n created_at?: string\n updated_at?: string\n created_by?: string\n updated_by?: string\n}> | {\n id?: string\n name?: string\n org_id?: string\n type: "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n value?: string\n html?: string\n created_at?: string\n updated_at?: string\n created_by?: string\n updated_by?: string\n}\n```\n\n### `ConnectedOutlookEmail`\n\nMapping between an Outlook email and its Outlook Connection.\nThis tracks which provider/tenant provisions each Outlook email.\n\n\n```ts\ntype ConnectedOutlookEmail = {\n outlook_email: string // email\n tenant_id?: string\n provider?: "outlook"\n connected_at?: string // date-time\n connected_by_user_id?: string\n}\n```\n\n### `OutlookConnectionError`\n\n```ts\ntype OutlookConnectionError = {\n error: string\n error_description?: string\n admin_consent_url?: string // uri\n}\n```\n\n### `OutlookConnectionStatus`\n\n```ts\ntype OutlookConnectionStatus = {\n status: "connected" | "expired" | "pending_auth" | "not_connected"\n action: "connect" | "authorize" | "reconnect" | "none"\n connected_by_display_name?: string\n connected_by_email?: string // email\n connected_by_user_id?: string\n connected_at?: string // date-time\n updated_at?: string // date-time\n tenant_id: string\n scopes?: string[]\n expires_at?: string // date-time\n is_token_valid?: boolean\n}\n```\n\n### `SignatureSetting`\n\nSetting that allows to add a signature.\n\n```ts\ntype SignatureSetting = "signature"\n```\n\n### `EmailDomainSetting`\n\nSetting that allows to add a custom domain. For e.g; doe.com\n\n```ts\ntype EmailDomainSetting = "email_domain"\n```\n\n### `EmailAddressSetting`\n\nSetting that allows to add an email address on the custom domain. For e.g; john@doe.com\n\n```ts\ntype EmailAddressSetting = "email_address"\n```\n\n### `WhitelistEmailAddressSetting`\n\n- Setting that specifies a list of addresses exempt from being flagged as duplicate emails.\n- An email will be flagged as a duplicate if it has the same content and is sent to the same recipient within the time frame specified in the RestrictDuplicatesWithinSetting.\n\n\n```ts\ntype WhitelistEmailAddressSetting = "whitelist_email_address"\n```\n\n### `RestrictDuplicatesWithinSetting`\n\n- Restrict duplicates within:\n * 10s\n * 5m\n * 1d\n * 5000 // It converts to 5 seconds.When expressed as a numerical value, it will be interpreted as being in milliseconds.\n- Defaults to 3 minutes\n- Negative values will be treated same as positive values\n- If not set, defaults to 3 min\n- If set as\n\n```ts\ntype RestrictDuplicatesWithinSetting = "restrict_duplicates_within"\n```\n\n### `SettingType`\n\n```ts\ntype SettingType = "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n```\n\n### `Setting`\n\nGeneric setting object used for various email configuration types.\nThe applicable fields depend on the setting type:\n- **signature**: Uses `name`, `value` (plain text), and `html` (rich text)\n- **email_domain**: Uses `value` (domain name)\n- **whitelist_email_address**: Uses `value` (email address)\n-\n\n```ts\ntype Setting = {\n id?: string\n name?: string\n org_id?: string\n type: "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n value?: string\n html?: string\n created_at?: string\n updated_at?: string\n created_by?: string\n updated_by?: string\n}\n```\n\n### `Domain`\n\nCustom email domain configuration.\n\n```ts\ntype Domain = {\n domain?: string\n}\n```\n';
|
|
5
|
-
export {
|
|
6
|
-
email_settings_default as default
|
|
7
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
|
|
2
|
-
|
|
3
|
-
// src/docs/email-settings.json
|
|
4
|
-
var email_settings_default = '# Messaging Settings API\n\n- **Base URL:** `https://email-settings.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/email-settings](https://docs.epilot.io/api/email-settings)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.emailSettings.provisionEpilotEmailAddress(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/email-settings\'\n\nconst emailSettingsClient = getClient()\nauthorize(emailSettingsClient, () => \'<token>\')\nconst { data } = await emailSettingsClient.provisionEpilotEmailAddress(...)\n```\n\n## Operations\n\n**Email addresses**\n- [`provisionEpilotEmailAddress`](#provisionepilotemailaddress)\n- [`setEmailAddressPrimary`](#setemailaddressprimary)\n- [`getEmailAddress`](#getemailaddress)\n- [`deleteEmailAddress`](#deleteemailaddress)\n- [`updateEmailAddress`](#updateemailaddress)\n- [`listEmailAddresses`](#listemailaddresses)\n- [`addEmailAddress`](#addemailaddress)\n\n**Shared inboxes**\n- [`getSharedInbox`](#getsharedinbox)\n- [`deleteSharedInbox`](#deletesharedinbox)\n- [`updateSharedInbox`](#updatesharedinbox)\n- [`listSharedInboxes`](#listsharedinboxes)\n- [`addSharedInbox`](#addsharedinbox)\n\n**Inbox buckets**\n- [`listInboxBuckets`](#listinboxbuckets)\n\n**O365 Outlook Connection**\n- [`connectOutlook`](#connectoutlook)\n- [`getOutlookConnectionStatus`](#getoutlookconnectionstatus)\n- [`disconnectOutlook`](#disconnectoutlook)\n- [`connectOutlookMailbox`](#connectoutlookmailbox)\n- [`disconnectOutlookMailbox`](#disconnectoutlookmailbox)\n- [`startMailboxSync`](#startmailboxsync)\n- [`getMailboxSyncStatus`](#getmailboxsyncstatus)\n- [`retryMailboxSync`](#retrymailboxsync)\n- [`getConnectedOutlookEmails`](#getconnectedoutlookemails)\n- [`outlookOAuthCallback`](#outlookoauthcallback)\n\n**Channels**\n- [`connectMsTeams`](#connectmsteams)\n- [`disconnectMsTeams`](#disconnectmsteams)\n- [`getMsTeamsStatus`](#getmsteamsstatus)\n\n**Settings**\n- [`getSettings`](#getsettings)\n- [`addSetting`](#addsetting)\n- [`deleteSetting`](#deletesetting)\n- [`updateSetting`](#updatesetting)\n\n**Domains**\n- [`addDomain`](#adddomain)\n- [`deleteDomain`](#deletedomain)\n- [`getDomains`](#getdomains)\n- [`verifyNameServers`](#verifynameservers)\n- [`verifyDomain`](#verifydomain)\n\n**Schemas**\n- [`MailboxSyncStatus`](#mailboxsyncstatus)\n- [`MailboxSyncStatuses`](#mailboxsyncstatuses)\n- [`MailboxSyncFolderStatuses`](#mailboxsyncfolderstatuses)\n- [`MailboxSyncTimeframePeriods`](#mailboxsynctimeframeperiods)\n- [`InboxBucketResponse`](#inboxbucketresponse)\n- [`ProvisionEpilotEmailAddressPayload`](#provisionepilotemailaddresspayload)\n- [`SetEmailAddressPrimaryPayload`](#setemailaddressprimarypayload)\n- [`UpdateEmailAddressPayload`](#updateemailaddresspayload)\n- [`CreateEmailAddressPayload`](#createemailaddresspayload)\n- [`EmailAddressResponse`](#emailaddressresponse)\n- [`ErrorResponse`](#errorresponse)\n- [`SettingMeta`](#settingmeta)\n- [`UpdateSharedInboxPayload`](#updatesharedinboxpayload)\n- [`CreateSharedInboxPayload`](#createsharedinboxpayload)\n- [`SharedInboxResponse`](#sharedinboxresponse)\n- [`SettingsResponse`](#settingsresponse)\n- [`ConnectedOutlookEmail`](#connectedoutlookemail)\n- [`OutlookConnectionError`](#outlookconnectionerror)\n- [`OutlookConnectionStatus`](#outlookconnectionstatus)\n- [`SignatureSetting`](#signaturesetting)\n- [`EmailDomainSetting`](#emaildomainsetting)\n- [`EmailAddressSetting`](#emailaddresssetting)\n- [`WhitelistEmailAddressSetting`](#whitelistemailaddresssetting)\n- [`RestrictDuplicatesWithinSetting`](#restrictduplicateswithinsetting)\n- [`SettingType`](#settingtype)\n- [`Setting`](#setting)\n- [`Domain`](#domain)\n\n### `provisionEpilotEmailAddress`\n\nProvisions or reactivates an epilot-managed email address for the organization.\n\n`PUT /v2/email-settings/email-addresses/epilot:provision`\n\n```ts\nconst { data } = await client.provisionEpilotEmailAddress(\n null,\n {\n address: \'mycompany@epilot.cloud\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `setEmailAddressPrimary`\n\nSets the specified email address as the primary address for the organization.\n\n`POST /v2/email-settings/email-addresses/primary`\n\n```ts\nconst { data } = await client.setEmailAddressPrimary(\n null,\n {\n address: \'sales@yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `getEmailAddress`\n\nRetrieves the details of a specific email address by its ID.\n\n`GET /v2/email-settings/email-addresses/{id}`\n\n```ts\nconst { data } = await client.getEmailAddress({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `deleteEmailAddress`\n\nPermanently deletes an email address from the organization.\n\n`DELETE /v2/email-settings/email-addresses/{id}`\n\n```ts\nconst { data } = await client.deleteEmailAddress({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `updateEmailAddress`\n\nUpdates the configuration of an existing email address.\n\n`PUT /v2/email-settings/email-addresses/{id}`\n\n```ts\nconst { data } = await client.updateEmailAddress(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n name: \'Sales Team\',\n user_ids: [\'user-123\', \'user-456\'],\n group_ids: [\'group-789\'],\n default_signature_id: \'sig-abc\',\n shared_inbox_id: \'inbox-xyz\',\n is_active: true\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `listEmailAddresses`\n\nRetrieves all email addresses configured for the organization.\n\n`GET /v2/email-settings/email-addresses`\n\n```ts\nconst { data } = await client.listEmailAddresses()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n }\n]\n```\n\n</details>\n\n---\n\n### `addEmailAddress`\n\nAdds a new email address to the organization.\n\n`POST /v2/email-settings/email-addresses`\n\n```ts\nconst { data } = await client.addEmailAddress(\n null,\n {\n address: \'support@yourcompany.com\',\n name: \'Customer Support\',\n user_ids: [\'user-123\'],\n group_ids: [\'group-456\'],\n default_signature_id: \'sig-789\',\n shared_inbox_id: \'inbox-abc\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n}\n```\n\n</details>\n\n---\n\n### `getSharedInbox`\n\nRetrieves the details of a specific shared inbox by its ID.\n\n`GET /v2/email-settings/shared-inboxes/{id}`\n\n```ts\nconst { data } = await client.getSharedInbox({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n}\n```\n\n</details>\n\n---\n\n### `deleteSharedInbox`\n\nDeletes a shared inbox and reroutes all associated emails to a successor inbox.\n\n`DELETE /v2/email-settings/shared-inboxes/{id}`\n\n```ts\nconst { data } = await client.deleteSharedInbox({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n successorInboxId: \'example\',\n})\n```\n\n---\n\n### `updateSharedInbox`\n\nUpdates the configuration of an existing shared inbox.\n\n`PUT /v2/email-settings/shared-inboxes/{id}`\n\n```ts\nconst { data } = await client.updateSharedInbox(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n color: \'#4CAF50\',\n name: \'Customer Support\',\n assignees: [\'user-123\', \'user-456\'],\n description: \'Incoming customer support requests\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n}\n```\n\n</details>\n\n---\n\n### `listSharedInboxes`\n\nRetrieves all shared inboxes configured for the organization.\n\n`GET /v2/email-settings/shared-inboxes`\n\n```ts\nconst { data } = await client.listSharedInboxes()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n }\n]\n```\n\n</details>\n\n---\n\n### `addSharedInbox`\n\nCreates a new shared inbox for the organization.\n\n`POST /v2/email-settings/shared-inboxes`\n\n```ts\nconst { data } = await client.addSharedInbox(\n null,\n {\n id: \'support-inbox\',\n color: \'#2196F3\',\n name: \'Sales Inquiries\',\n assignees: [\'user-123\', \'user-456\'],\n description: \'Inbound sales and pricing requests\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "name": "Customer Support",\n "color": "#4CAF50",\n "assignees": ["user-123", "user-456"],\n "description": "Incoming customer support requests",\n "bucket_id": "bucket-xyz"\n}\n```\n\n</details>\n\n---\n\n### `listInboxBuckets`\n\nRetrieves all inbox buckets for the organization.\n\n`GET /v2/email-settings/inbox-buckets`\n\n```ts\nconst { data } = await client.listInboxBuckets()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "bucket-abc",\n "inbox_id": "inbox-xyz"\n }\n]\n```\n\n</details>\n\n---\n\n### `connectOutlook`\n\nReturns Microsoft authorization URL for Outlook OAuth.\n\n`GET /v2/outlook/connect`\n\n```ts\nconst { data } = await client.connectOutlook()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "authorization_url": "string"\n}\n```\n\n</details>\n\n---\n\n### `getOutlookConnectionStatus`\n\nReturns all Microsoft 365 / Outlook connections for the organization.\nSupports multiple connections (one per Azure AD tenant).\n\n`GET /v2/outlook/connection/status`\n\n```ts\nconst { data } = await client.getOutlookConnectionStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connections": [\n {\n "status": "connected",\n "action": "connect",\n "connected_by_display_name": "string",\n "connected_by_email": "user@example.com",\n "connected_by_user_id": "string",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "tenant_id": "string",\n "scopes": ["string"],\n "expires_at": "1970-01-01T00:00:00.000Z",\n "is_token_valid": true\n }\n ],\n "has_connections": true,\n "teams_enabled": true\n}\n```\n\n</details>\n\n---\n\n### `disconnectOutlook`\n\nRemoves the Microsoft 365 / Outlook connection for a specific tenant.\nThis deletes the stored tokens and disconnects the integration.\n\n`POST /v2/outlook/connection/disconnect`\n\n```ts\nconst { data } = await client.disconnectOutlook(\n null,\n {\n tenant_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "tenant_id": "string",\n "affected_shared_inboxes": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `connectMsTeams`\n\nConnects Microsoft Teams channel (click-to-call deep links, meetings) for the organization.\nRequires an active Microsoft 365 / Outlook connection.\n\n`POST /v2/channels/msteams/connect`\n\n```ts\nconst { data } = await client.connectMsTeams()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true,\n "connected_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `disconnectMsTeams`\n\nDisconnects Microsoft Teams channel for the organization.\n\n`POST /v2/channels/msteams/disconnect`\n\n```ts\nconst { data } = await client.disconnectMsTeams()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true\n}\n```\n\n</details>\n\n---\n\n### `getMsTeamsStatus`\n\nReturns the connection status of the Microsoft Teams channel for the organization.\n\n`GET /v2/channels/msteams/status`\n\n```ts\nconst { data } = await client.getMsTeamsStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true,\n "connected_at": "1970-01-01T00:00:00.000Z",\n "connected_by_user_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `connectOutlookMailbox`\n\nConnects an Outlook mailbox:\n 1. Validates the user has access to the mailbox via Microsoft Graph API\n 2. Creates a mapping between the email address of the mailbox and the outlook connection\n 3. E\n\n`POST /v2/outlook/mailbox/connect`\n\n```ts\nconst { data } = await client.connectOutlookMailbox(\n null,\n {\n email: \'user@example.com\',\n shared_inbox_id: \'default\',\n mailboxSyncTimeframe: \'5m\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "email_address": {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456",\n "address": "sales@yourcompany.com",\n "name": "Sales Team",\n "user_ids": ["user-123", "user-456"],\n "group_ids": ["group-789"],\n "default_signature_id": "sig-abc",\n "shared_inbox_id": "inbox-xyz",\n "is_active": true,\n "is_primary": false,\n "is_epilot_email_address": false\n },\n "outlook_email": "user@example.com",\n "tenant_id": "string",\n "provider": "outlook"\n}\n```\n\n</details>\n\n---\n\n### `disconnectOutlookMailbox`\n\nDisconnect Outlook Mailbox\n\n`POST /v2/outlook/mailbox/{email}/disconnect`\n\n```ts\nconst { data } = await client.disconnectOutlookMailbox({\n email: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "email": "user@example.com"\n}\n```\n\n</details>\n\n---\n\n### `startMailboxSync`\n\nStart Mailbox Sync\n\n`POST /v2/outlook/mailbox/{email}/sync`\n\n```ts\nconst { data } = await client.startMailboxSync(\n {\n email: \'example\',\n },\n {\n timeframe: \'5m\'\n },\n)\n```\n\n---\n\n### `getMailboxSyncStatus`\n\nGet Mailbox Sync Status\n\n`GET /v2/outlook/mailbox/{email}/sync/status`\n\n```ts\nconst { data } = await client.getMailboxSyncStatus({\n email: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "execution_id": "string",\n "status": "RUNNING",\n "timeframe": "5m",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "inbox": {\n "status": "PENDING",\n "total_messages": 0,\n "processed_messages": 0,\n "failed_messages": 0\n },\n "sent_items": {\n "status": "PENDING",\n "total_messages": 0,\n "processed_messages": 0,\n "failed_messages": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `retryMailboxSync`\n\nRetry Failed Messages\n\n`POST /v2/outlook/mailbox/{email}/sync/retry`\n\n```ts\nconst { data } = await client.retryMailboxSync(\n {\n email: \'example\',\n },\n {\n sync_id: \'string\',\n scope: \'all_failed\',\n message_ids: [\'string\']\n },\n)\n```\n\n---\n\n### `getConnectedOutlookEmails`\n\nReturns all Outlook email addresses connected to the organization.\n\n`GET /v2/outlook/mailbox/mappings`\n\n```ts\nconst { data } = await client.getConnectedOutlookEmails()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "outlook_emails": [\n {\n "outlook_email": "user@example.com",\n "tenant_id": "string",\n "provider": "outlook",\n "connected_at": "1970-01-01T00:00:00.000Z",\n "connected_by_user_id": "string"\n }\n ],\n "count": 0\n}\n```\n\n</details>\n\n---\n\n### `outlookOAuthCallback`\n\nExchanges authorization code for tokens and stores them.\n\n`GET /v2/outlook/oauth/callback`\n\n```ts\nconst { data } = await client.outlookOAuthCallback({\n code: \'example\',\n state: \'example\',\n session_state: \'example\',\n error: \'example\',\n error_description: \'example\',\n error_subcode: \'example\',\n client_info: \'example\',\n error_uri: \'example\',\n admin_consent: \'example\',\n tenant: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "connected": true,\n "expires_at": "1970-01-01T00:00:00.000Z",\n "scope": "string"\n}\n```\n\n</details>\n\n---\n\n### `getSettings`\n\nRetrieves settings of a specific type for the organization.\n\n`GET /v1/email-settings`\n\n```ts\nconst { data } = await client.getSettings({\n type: \'example\',\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `addSetting`\n\nCreates a new setting of the specified type.\n\n`POST /v1/email-settings`\n\n```ts\nconst { data } = await client.addSetting(\n null,\n {\n id: \'a10bd0ff-4391-4cfc-88ee-b19d718a9bf7\',\n name: \'Default Signature\',\n org_id: \'org-123\',\n type: \'signature\',\n value: \'Best regards, The Team\',\n html: \'<p>Best regards,<br/><strong>The Team</strong></p>\',\n created_at: \'2024-01-15T10:30:00Z\',\n updated_at: \'2024-01-20T14:45:00Z\',\n created_by: \'user-123\',\n updated_by: \'user-456\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `deleteSetting`\n\nDeletes a setting by its ID and type.\n\n`DELETE /v1/email-settings`\n\n```ts\nconst { data } = await client.deleteSetting(\n null,\n {\n type: \'signature\',\n id: \'a10bd0ff-4391-4cfc-88ee-b19d718a9bf7\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n}\n```\n\n</details>\n\n---\n\n### `updateSetting`\n\nUpdates an existing setting identified by its ID.\n\n`POST /v1/email-settings/{id}`\n\n```ts\nconst { data } = await client.updateSetting(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n id: \'a10bd0ff-4391-4cfc-88ee-b19d718a9bf7\',\n name: \'Default Signature\',\n org_id: \'org-123\',\n type: \'signature\',\n value: \'Best regards, The Team\',\n html: \'<p>Best regards,<br/><strong>The Team</strong></p>\',\n created_at: \'2024-01-15T10:30:00Z\',\n updated_at: \'2024-01-20T14:45:00Z\',\n created_by: \'user-123\',\n updated_by: \'user-456\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n}\n```\n\n</details>\n\n---\n\n### `addDomain`\n\nAdds a custom email domain to the organization.\n\n`POST /v1/email-settings/domain`\n\n```ts\nconst { data } = await client.addDomain(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `deleteDomain`\n\nRemoves a custom email domain from the organization.\n\n`DELETE /v1/email-settings/domain`\n\n```ts\nconst { data } = await client.deleteDomain(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n---\n\n### `getDomains`\n\nRetrieves all custom email domains for the organization.\n\n`GET /v1/email-settings/domain`\n\n```ts\nconst { data } = await client.getDomains()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n["string"]\n```\n\n</details>\n\n---\n\n### `verifyNameServers`\n\nVerifies that the domain\'s name server (NS) records are correctly configured.\n\n`POST /v1/email-settings/domain/name-servers:verify`\n\n```ts\nconst { data } = await client.verifyNameServers(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n### `verifyDomain`\n\nVerifies ownership and configuration of a custom email domain.\n\n`POST /v1/email-settings/domain:verify`\n\n```ts\nconst { data } = await client.verifyDomain(\n null,\n {\n domain: \'mail.yourcompany.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "a10bd0ff-4391-4cfc-88ee-b19d718a9bf7",\n "name": "Default Signature",\n "org_id": "org-123",\n "type": "signature",\n "value": "Best regards, The Team",\n "html": "<p>Best regards,<br/><strong>The Team</strong></p>",\n "created_at": "2024-01-15T10:30:00Z",\n "updated_at": "2024-01-20T14:45:00Z",\n "created_by": "user-123",\n "updated_by": "user-456"\n }\n]\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `MailboxSyncStatus`\n\n```ts\ntype MailboxSyncStatus = {\n execution_id: string\n status: "RUNNING" | "COMPLETED" | "COMPLETED_WITH_ERRORS" | "FAILED" | "CANCELLED"\n timeframe: "5m" | "1w" | "2w" | "1m"\n started_at: string // date-time\n completed_at?: string // date-time\n inbox?: {\n status?: "PENDING" | "RUNNING" | "COMPLETED" | "FAILED" | "SKIPPED"\n total_messages?: number\n processed_messages?: number\n failed_messages?: number\n }\n sent_items?: {\n status?: "PENDING" | "RUNNING" | "COMPLETED" | "FAILED" | "SKIPPED"\n total_messages?: number\n processed_messages?: number\n failed_messages?: number\n }\n}\n```\n\n### `MailboxSyncStatuses`\n\n```ts\ntype MailboxSyncStatuses = "RUNNING" | "COMPLETED" | "COMPLETED_WITH_ERRORS" | "FAILED" | "CANCELLED"\n```\n\n### `MailboxSyncFolderStatuses`\n\n```ts\ntype MailboxSyncFolderStatuses = "PENDING" | "RUNNING" | "COMPLETED" | "FAILED" | "SKIPPED"\n```\n\n### `MailboxSyncTimeframePeriods`\n\n```ts\ntype MailboxSyncTimeframePeriods = "5m" | "1w" | "2w" | "1m"\n```\n\n### `InboxBucketResponse`\n\nInbox bucket representing the storage container for a shared inbox.\n\n```ts\ntype InboxBucketResponse = {\n id: string\n inbox_id: string\n}\n```\n\n### `ProvisionEpilotEmailAddressPayload`\n\nRequest payload for provisioning an epilot-managed email address.\n\n```ts\ntype ProvisionEpilotEmailAddressPayload = {\n address: string\n}\n```\n\n### `SetEmailAddressPrimaryPayload`\n\nRequest payload for setting an email address as the organization\'s primary address.\n\n```ts\ntype SetEmailAddressPrimaryPayload = {\n address: string\n}\n```\n\n### `UpdateEmailAddressPayload`\n\nRequest payload for updating an email address configuration.\nAll fields are optional; only provided fields will be updated.\n\n\n```ts\ntype UpdateEmailAddressPayload = {\n name?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n shared_inbox_id?: string\n is_active?: boolean\n}\n```\n\n### `CreateEmailAddressPayload`\n\nRequest payload for creating a new email address.\n\n```ts\ntype CreateEmailAddressPayload = {\n address: string\n name?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n shared_inbox_id?: string\n}\n```\n\n### `EmailAddressResponse`\n\nEmail address configuration with all associated metadata.\n\n```ts\ntype EmailAddressResponse = {\n id: string\n created_at: string // date-time\n updated_at?: string // date-time\n created_by?: string\n updated_by?: string\n address: string\n name?: string\n user_ids?: string[]\n group_ids?: string[]\n default_signature_id?: string\n shared_inbox_id?: string\n is_active?: boolean\n is_primary?: boolean\n is_epilot_email_address?: boolean\n}\n```\n\n### `ErrorResponse`\n\nStandard error response format for all API errors.\n\n```ts\ntype ErrorResponse = {\n error: string\n status: number\n}\n```\n\n### `SettingMeta`\n\nCommon metadata fields for all settings and resources.\n\n```ts\ntype SettingMeta = {\n id: string\n created_at: string // date-time\n updated_at?: string // date-time\n created_by?: string\n updated_by?: string\n}\n```\n\n### `UpdateSharedInboxPayload`\n\nRequest payload for updating a shared inbox configuration.\nAll fields are optional; only provided fields will be updated.\n\n\n```ts\ntype UpdateSharedInboxPayload = {\n color?: string\n name?: string\n assignees?: string[]\n description?: string\n}\n```\n\n### `CreateSharedInboxPayload`\n\nRequest payload for creating a new shared inbox.\n\n```ts\ntype CreateSharedInboxPayload = {\n id?: string\n color: string\n name: string\n assignees?: string[]\n description?: string\n}\n```\n\n### `SharedInboxResponse`\n\nShared inbox configuration with all associated metadata.\n\n```ts\ntype SharedInboxResponse = {\n id: string\n created_at: string // date-time\n updated_at?: string // date-time\n created_by?: string\n updated_by?: string\n name: string\n color: string\n assignees: string[]\n description?: string\n bucket_id: string\n}\n```\n\n### `SettingsResponse`\n\n```ts\ntype SettingsResponse = Array<{\n id?: string\n name?: string\n org_id?: string\n type: "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n value?: string\n html?: string\n created_at?: string\n updated_at?: string\n created_by?: string\n updated_by?: string\n}> | {\n id?: string\n name?: string\n org_id?: string\n type: "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n value?: string\n html?: string\n created_at?: string\n updated_at?: string\n created_by?: string\n updated_by?: string\n}\n```\n\n### `ConnectedOutlookEmail`\n\nMapping between an Outlook email and its Outlook Connection.\nThis tracks which provider/tenant provisions each Outlook email.\n\n\n```ts\ntype ConnectedOutlookEmail = {\n outlook_email: string // email\n tenant_id?: string\n provider?: "outlook"\n connected_at?: string // date-time\n connected_by_user_id?: string\n}\n```\n\n### `OutlookConnectionError`\n\n```ts\ntype OutlookConnectionError = {\n error: string\n error_description?: string\n admin_consent_url?: string // uri\n}\n```\n\n### `OutlookConnectionStatus`\n\n```ts\ntype OutlookConnectionStatus = {\n status: "connected" | "expired" | "pending_auth" | "not_connected"\n action: "connect" | "authorize" | "reconnect" | "none"\n connected_by_display_name?: string\n connected_by_email?: string // email\n connected_by_user_id?: string\n connected_at?: string // date-time\n updated_at?: string // date-time\n tenant_id: string\n scopes?: string[]\n expires_at?: string // date-time\n is_token_valid?: boolean\n}\n```\n\n### `SignatureSetting`\n\nSetting that allows to add a signature.\n\n```ts\ntype SignatureSetting = "signature"\n```\n\n### `EmailDomainSetting`\n\nSetting that allows to add a custom domain. For e.g; doe.com\n\n```ts\ntype EmailDomainSetting = "email_domain"\n```\n\n### `EmailAddressSetting`\n\nSetting that allows to add an email address on the custom domain. For e.g; john@doe.com\n\n```ts\ntype EmailAddressSetting = "email_address"\n```\n\n### `WhitelistEmailAddressSetting`\n\n- Setting that specifies a list of addresses exempt from being flagged as duplicate emails.\n- An email will be flagged as a duplicate if it has the same content and is sent to the same recipient within the time frame specified in the RestrictDuplicatesWithinSetting.\n\n\n```ts\ntype WhitelistEmailAddressSetting = "whitelist_email_address"\n```\n\n### `RestrictDuplicatesWithinSetting`\n\n- Restrict duplicates within:\n * 10s\n * 5m\n * 1d\n * 5000 // It converts to 5 seconds.When expressed as a numerical value, it will be interpreted as being in milliseconds.\n- Defaults to 3 minutes\n- Negative values will be treated same as positive values\n- If not set, defaults to 3 min\n- If set as\n\n```ts\ntype RestrictDuplicatesWithinSetting = "restrict_duplicates_within"\n```\n\n### `SettingType`\n\n```ts\ntype SettingType = "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n```\n\n### `Setting`\n\nGeneric setting object used for various email configuration types.\nThe applicable fields depend on the setting type:\n- **signature**: Uses `name`, `value` (plain text), and `html` (rich text)\n- **email_domain**: Uses `value` (domain name)\n- **whitelist_email_address**: Uses `value` (email address)\n-\n\n```ts\ntype Setting = {\n id?: string\n name?: string\n org_id?: string\n type: "signature" | "email_domain" | "email_address" | "whitelist_email_address" | "restrict_duplicates_within"\n value?: string\n html?: string\n created_at?: string\n updated_at?: string\n created_by?: string\n updated_by?: string\n}\n```\n\n### `Domain`\n\nCustom email domain configuration.\n\n```ts\ntype Domain = {\n domain?: string\n}\n```\n';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.default = email_settings_default;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
|
|
2
|
-
|
|
3
|
-
// src/docs/event-catalog.json
|
|
4
|
-
var event_catalog_default = '# Event Catalog API\n\n- **Base URL:** `https://event-catalog.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/event-catalog](https://docs.epilot.io/api/event-catalog)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.eventCatalog.listEvents(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/event-catalog\'\n\nconst eventCatalogClient = getClient()\nauthorize(eventCatalogClient, () => \'<token>\')\nconst { data } = await eventCatalogClient.listEvents(...)\n```\n\n## Operations\n\n**Event Catalog**\n- [`listEvents`](#listevents)\n- [`getEvent`](#getevent)\n- [`patchEvent`](#patchevent)\n- [`getEventJSONSchema`](#geteventjsonschema)\n- [`getEventExample`](#geteventexample)\n- [`searchEventHistory`](#searcheventhistory)\n- [`triggerEvent`](#triggerevent)\n\n**Schemas**\n- [`EventConfigBase`](#eventconfigbase)\n- [`EventConfig`](#eventconfig)\n- [`UpdateEventPayload`](#updateeventpayload)\n- [`PrimitiveField`](#primitivefield)\n- [`ContextEntity`](#contextentity)\n- [`SchemaField`](#schemafield)\n- [`CommonEventMetadata`](#commoneventmetadata)\n- [`EventJsonSchema`](#eventjsonschema)\n- [`Event`](#event)\n- [`GraphDefinition`](#graphdefinition)\n- [`GraphNode`](#graphnode)\n- [`GraphEdge`](#graphedge)\n- [`EntityOperationTrigger`](#entityoperationtrigger)\n- [`SearchOptions`](#searchoptions)\n- [`FieldsParam`](#fieldsparam)\n- [`TriggerEventPayload`](#triggereventpayload)\n- [`TriggerEventResponse`](#triggereventresponse)\n\n### `listEvents`\n\nRetrieve list of available business events\n\n`GET /v1/events`\n\n```ts\nconst { data } = await client.listEvents()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0.0",\n "event_status": "active",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getEvent`\n\nRetrieve the configuration of a specific business event\n\n`GET /v1/events/{event_name}`\n\n```ts\nconst { data } = await client.getEvent({\n event_name: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0.0",\n "event_status": "active",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true\n}\n```\n\n</details>\n\n---\n\n### `patchEvent`\n\nUpdate the configuration of a specific business event for the organization\n\n`PATCH /v1/events/{event_name}`\n\n```ts\nconst { data } = await client.patchEvent(\n {\n event_name: \'example\',\n },\n {\n event_name: \'AddMeterReading\',\n event_title: \'Add Meter Reading\',\n event_description: \'Triggered when a new meter reading is added\',\n event_version: \'1.0.0\',\n event_status: \'active\',\n event_tags: [\'builtin\', \'metering\', \'erp\'],\n schema_fields: {},\n entity_graph: {\n nodes: [\n {\n id: \'contact\',\n schema: \'contact\',\n cardinality: \'one\',\n fields: [\'_id\', \'_title\', \'first_name\', \'account\', \'!account.*._files\', \'**._product\']\n }\n ],\n edges: [\n {\n from: \'contact\',\n to: \'billing_account\'\n }\n ]\n },\n entity_operation: {\n operation: [\'createEntity\', \'updateEntity\'],\n schema: [\'contact\', \'contract\', \'order\'],\n attribute: [\'email\', \'phone\', \'status\'],\n purpose: [\'K\xFCndigung\', \'Umzug/Auszug\']\n },\n enabled: true,\n auto_trigger: true,\n automation_trigger: true\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0.0",\n "event_status": "active",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true\n}\n```\n\n</details>\n\n---\n\n### `getEventJSONSchema`\n\nRetrieve the JSON Schema of a specific business event\n\n`GET /v1/events/{event_name}/json_schema`\n\n```ts\nconst { data } = await client.getEventJSONSchema({\n event_name: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "type": "object",\n "properties": {\n "_org_id": {\n "type": "string",\n "description": "epilot tenant/organization ID"\n },\n "_event_time": {\n "type": "string",\n "format": "date-time",\n "description": "ISO 8601 timestamp when event occurred"\n },\n "_event_id": {\n "type": "string",\n "description": "Unique event identifier (ULID)"\n },\n "_event_name": {\n "type": "string",\n "description": "Event name from catalog"\n },\n "_event_version": {\n "type": "string",\n "description": "Event version (semver)"\n },\n "_event_source": {\n "type": "string",\n "description": "Source that triggered the event"\n },\n "reading_value": {\n "type": "number",\n "description": "The meter reading value"\n },\n "reading_date": {\n "type": "string",\n "format": "date-time",\n "description": "ISO 8601 timestamp when reading was taken"\n },\n "read_by": {\n "type": "string",\n "description": "Name or identifier of who submitted the reading"\n },\n "reason": {\n "type": "string",\n "enum": ["regular", "move-in", "move-out", "supplier-change", "correction", "final"],\n "description": "Reason for the meter reading"\n },\n "direction": {\n "type": "string",\n "enum": ["feed-in", "feed-out"],\n "description": "Direction of energy flow"\n },\n "source": {\n "type": "string",\n "enum": ["portal", "360", "api", "automation"],\n "description": "Source system where reading was submitted"\n },\n "meter_id": {\n "type": "string",\n "format": "uuid",\n "description": "Entity ID of the meter"\n },\n "counter_id": {\n "type": "string",\n "format": "uuid",\n "description": "Entity ID of the meter counter"\n },\n "meter_number": {\n "type": "string",\n "description": "Human-readable meter number"\n },\n "obis_number": {\n "type": "string",\n "description": "OBIS code of the counter"\n },\n "unit": {\n "type": "string",\n "description": "Unit of measurement (e.g., kWh, m3)"\n },\n "customer_id": {\n "type": "string",\n "format": "uuid",\n "description": "Entity ID of the customer"\n },\n "contract_id": {\n "type": "string",\n "format": "uuid",\n "description": "Entity ID of the contract"\n },\n "user_id": {\n "type": "string",\n "description": "ID of the user who submitted the reading"\n },\n "user_email": {\n "type": "string",\n "format": "email",\n "description": "Email of the user who submitted the reading"\n }\n },\n "required": ["_org_id", "_event_time", "_event_id", "_event_name", "_event_version", "_event_source", "reading_value", "reading_date", "read_by", "reason", "direction", "source", "meter_id", "counter_id", "meter_number", "obis_number", "unit", "customer_id", "contract_id"]\n}\n```\n\n</details>\n\n---\n\n### `getEventExample`\n\nGenerate a sample event payload based on the event\'s JSON Schema\n\n`GET /v1/events/{event_name}/example`\n\n```ts\nconst { data } = await client.getEventExample({\n event_name: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{}\n```\n\n</details>\n\n---\n\n### `searchEventHistory`\n\nPaginated history of events\n\n`POST /v1/events/{event_name}:history`\n\n```ts\nconst { data } = await client.searchEventHistory(\n {\n event_name: \'example\',\n },\n {\n limit: 10,\n cursor: {\n event_time: \'2025-10-31 12:34:56\',\n event_id: \'evt_1234567890abcdef\'\n },\n timestamp: {\n from: \'2025-10-01T00:00:00Z\',\n to: \'2025-10-31T23:59:59Z\'\n },\n event_id: \'evt_1234567890abcdef\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "_org_id": "org_123456",\n "_event_time": "2024-01-01T12:00:00Z",\n "_event_id": "01FZ4Z5FZ5FZ5FZ5FZ5FZ5FZ5F",\n "_event_name": "MeterReading",\n "_event_version": "1.0.0",\n "_event_source": "api",\n "_trigger_source_type": "api",\n "_trigger_source": "user_123456",\n "reading_value": 123.45,\n "reading_date": "2024-01-01T11:59:00Z",\n "read_by": "John Doe",\n "reason": "regular",\n "direction": "feed-out",\n "source": "portal",\n "meter_id": "550e8400-e29b-41d4-a716-446655440000",\n "counter_id": "660e8400-e29b-41d4-a716-446655440000",\n "meter_number": "MT123456789",\n "obis_number": "1-0:1.8.0",\n "unit": "kWh",\n "customer_id": "770e8400-e29b-41d4-a716-446655440000",\n "contract_id": "880e8400-e29b-41d4-a716-446655440000"\n }\n ],\n "next_cursor": {\n "event_time": "2025-10-31T12:34:56Z",\n "event_id": "evt_1234567890abcdef"\n }\n}\n```\n\n</details>\n\n---\n\n### `triggerEvent`\n\nExplicitly trigger an event by providing input field values and an optional entity seed\nfor graph hydration. The event must be enabled for the organization.\n\n`POST /v1/events/{event_name}:trigger`\n\n```ts\nconst { data } = await client.triggerEvent(\n {\n event_name: \'example\',\n },\n {\n seed: {\n entity_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n node_id: \'string\'\n },\n fields: {},\n skip_hydration: [\'string\'],\n _trigger_source_type: \'string\',\n _trigger_source: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "event_id": "string",\n "event_bridge_event_id": "string"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `EventConfigBase`\n\nBase properties shared between EventConfig and UpdateEventPayload\n\n```ts\ntype EventConfigBase = {\n event_name?: string\n event_title?: string\n event_description?: string\n event_version?: string\n event_status?: "active" | "deprecated" | "draft" | "disabled"\n event_tags?: string[]\n schema_fields?: Record<string, {\n json_schema: object\n required?: boolean\n graph_source?: string\n } | {\n entity_schema: string\n required?: boolean\n }>\n entity_graph?: {\n nodes: Array<{\n id: { ... }\n schema: { ... }\n cardinality?: { ... }\n fields?: { ... }\n }>\n edges: Array<{\n from: { ... }\n to: { ... }\n }>\n }\n entity_operation?: {\n operation: "createEntity" | "updateEntity" | "deleteEntity"[]\n schema: string[]\n attribute?: string[]\n purpose?: string[]\n }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\n}\n```\n\n### `EventConfig`\n\nEvent configuration with required fields\n\n```ts\ntype EventConfig = {\n event_name: string\n event_title?: string\n event_description?: string\n event_version: string\n event_status?: "active" | "deprecated" | "draft" | "disabled"\n event_tags?: string[]\n schema_fields: Record<string, {\n json_schema: object\n required?: boolean\n graph_source?: string\n } | {\n entity_schema: string\n required?: boolean\n }>\n entity_graph?: {\n nodes: Array<{\n id: { ... }\n schema: { ... }\n cardinality?: { ... }\n fields?: { ... }\n }>\n edges: Array<{\n from: { ... }\n to: { ... }\n }>\n }\n entity_operation?: {\n operation: "createEntity" | "updateEntity" | "deleteEntity"[]\n schema: string[]\n attribute?: string[]\n purpose?: string[]\n }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\n}\n```\n\n### `UpdateEventPayload`\n\nPayload for updating an event configuration.\nAccepts the same fields as EventConfig (all optional for PATCH).\nCurrently only `enabled` and `auto_trigger` fields are processed, other fields are ignored.\n\n\n```ts\ntype UpdateEventPayload = {\n event_name?: string\n event_title?: string\n event_description?: string\n event_version?: string\n event_status?: "active" | "deprecated" | "draft" | "disabled"\n event_tags?: string[]\n schema_fields?: Record<string, {\n json_schema: object\n required?: boolean\n graph_source?: string\n } | {\n entity_schema: string\n required?: boolean\n }>\n entity_graph?: {\n nodes: Array<{\n id: { ... }\n schema: { ... }\n cardinality?: { ... }\n fields?: { ... }\n }>\n edges: Array<{\n from: { ... }\n to: { ... }\n }>\n }\n entity_operation?: {\n operation: "createEntity" | "updateEntity" | "deleteEntity"[]\n schema: string[]\n attribute?: string[]\n purpose?: string[]\n }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\n}\n```\n\n### `PrimitiveField`\n\nA primitive JSON Schema field definition\n\n```ts\ntype PrimitiveField = {\n json_schema: object\n required?: boolean\n graph_source?: string\n}\n```\n\n### `ContextEntity`\n\n```ts\ntype ContextEntity = {\n entity_schema: string\n required?: boolean\n}\n```\n\n### `SchemaField`\n\n```ts\ntype SchemaField = {\n json_schema: object\n required?: boolean\n graph_source?: string\n} | {\n entity_schema: string\n required?: boolean\n}\n```\n\n### `CommonEventMetadata`\n\nCommon metadata fields present in all event payloads\n\n```ts\ntype CommonEventMetadata = object\n```\n\n### `EventJsonSchema`\n\nJSON Schema declaring the event payload structure\n\n```ts\ntype EventJsonSchema = object\n```\n\n### `Event`\n\nAn event instance in the event history\n\n```ts\ntype Event = {\n _org_id: string\n _event_time: string // date-time\n _event_id: string\n _event_name: string\n _event_version: string\n _event_source: string\n _trigger_source_type?: string\n _trigger_source?: string\n _ack_id?: string\n}\n```\n\n### `GraphDefinition`\n\nEntity graph definition for resolving related entities\n\n```ts\ntype GraphDefinition = {\n nodes: Array<{\n id: string\n schema: string\n cardinality?: "one" | "many"\n fields?: object\n }>\n edges: Array<{\n from: string\n to: string\n }>\n}\n```\n\n### `GraphNode`\n\nA node in the entity graph\n\n```ts\ntype GraphNode = {\n id: string\n schema: string\n cardinality?: "one" | "many"\n fields?: object\n}\n```\n\n### `GraphEdge`\n\nAn edge connecting two nodes in the graph\n\n```ts\ntype GraphEdge = {\n from: string\n to: string\n}\n```\n\n### `EntityOperationTrigger`\n\nConfiguration for triggering an event based on entity operations.\n\nWhen an entity operation matches the configured criteria, the event will be triggered.\n- On createEntity: the attribute must be present in the entity payload\n- On updateEntity: the attribute must be in diff.added, diff.updated, or di\n\n```ts\ntype EntityOperationTrigger = {\n operation: "createEntity" | "updateEntity" | "deleteEntity"[]\n schema: string[]\n attribute?: string[]\n purpose?: string[]\n}\n```\n\n### `SearchOptions`\n\n```ts\ntype SearchOptions = {\n limit?: number\n cursor?: {\n event_time?: string\n event_id?: string\n }\n timestamp?: {\n from?: string // date-time\n to?: string // date-time\n }\n event_id?: string\n}\n```\n\n### `FieldsParam`\n\nList of entity fields to include or exclude in the response\n\nUse ! to exclude fields, e.g. `!_id` to exclude the `_id` field.\n\nGlobbing and globstart (**) is supported for nested fields.\n\n\n```ts\ntype FieldsParam = string[]\n```\n\n### `TriggerEventPayload`\n\nPayload for explicitly triggering an event via API\n\n```ts\ntype TriggerEventPayload = {\n seed?: {\n entity_id: string // uuid\n node_id: string\n }\n fields?: Record<string, unknown>\n skip_hydration?: string[]\n _trigger_source_type?: string\n _trigger_source?: string\n}\n```\n\n### `TriggerEventResponse`\n\nResponse from triggering an event\n\n```ts\ntype TriggerEventResponse = {\n success: boolean\n event_id: string\n event_bridge_event_id?: string\n}\n```\n';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.default = event_catalog_default;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import "./chunk-YPSWSI3M.js";
|
|
2
|
-
|
|
3
|
-
// src/docs/event-catalog.json
|
|
4
|
-
var event_catalog_default = '# Event Catalog API\n\n- **Base URL:** `https://event-catalog.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/event-catalog](https://docs.epilot.io/api/event-catalog)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.eventCatalog.listEvents(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/event-catalog\'\n\nconst eventCatalogClient = getClient()\nauthorize(eventCatalogClient, () => \'<token>\')\nconst { data } = await eventCatalogClient.listEvents(...)\n```\n\n## Operations\n\n**Event Catalog**\n- [`listEvents`](#listevents)\n- [`getEvent`](#getevent)\n- [`patchEvent`](#patchevent)\n- [`getEventJSONSchema`](#geteventjsonschema)\n- [`getEventExample`](#geteventexample)\n- [`searchEventHistory`](#searcheventhistory)\n- [`triggerEvent`](#triggerevent)\n\n**Schemas**\n- [`EventConfigBase`](#eventconfigbase)\n- [`EventConfig`](#eventconfig)\n- [`UpdateEventPayload`](#updateeventpayload)\n- [`PrimitiveField`](#primitivefield)\n- [`ContextEntity`](#contextentity)\n- [`SchemaField`](#schemafield)\n- [`CommonEventMetadata`](#commoneventmetadata)\n- [`EventJsonSchema`](#eventjsonschema)\n- [`Event`](#event)\n- [`GraphDefinition`](#graphdefinition)\n- [`GraphNode`](#graphnode)\n- [`GraphEdge`](#graphedge)\n- [`EntityOperationTrigger`](#entityoperationtrigger)\n- [`SearchOptions`](#searchoptions)\n- [`FieldsParam`](#fieldsparam)\n- [`TriggerEventPayload`](#triggereventpayload)\n- [`TriggerEventResponse`](#triggereventresponse)\n\n### `listEvents`\n\nRetrieve list of available business events\n\n`GET /v1/events`\n\n```ts\nconst { data } = await client.listEvents()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0.0",\n "event_status": "active",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getEvent`\n\nRetrieve the configuration of a specific business event\n\n`GET /v1/events/{event_name}`\n\n```ts\nconst { data } = await client.getEvent({\n event_name: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0.0",\n "event_status": "active",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true\n}\n```\n\n</details>\n\n---\n\n### `patchEvent`\n\nUpdate the configuration of a specific business event for the organization\n\n`PATCH /v1/events/{event_name}`\n\n```ts\nconst { data } = await client.patchEvent(\n {\n event_name: \'example\',\n },\n {\n event_name: \'AddMeterReading\',\n event_title: \'Add Meter Reading\',\n event_description: \'Triggered when a new meter reading is added\',\n event_version: \'1.0.0\',\n event_status: \'active\',\n event_tags: [\'builtin\', \'metering\', \'erp\'],\n schema_fields: {},\n entity_graph: {\n nodes: [\n {\n id: \'contact\',\n schema: \'contact\',\n cardinality: \'one\',\n fields: [\'_id\', \'_title\', \'first_name\', \'account\', \'!account.*._files\', \'**._product\']\n }\n ],\n edges: [\n {\n from: \'contact\',\n to: \'billing_account\'\n }\n ]\n },\n entity_operation: {\n operation: [\'createEntity\', \'updateEntity\'],\n schema: [\'contact\', \'contract\', \'order\'],\n attribute: [\'email\', \'phone\', \'status\'],\n purpose: [\'K\xFCndigung\', \'Umzug/Auszug\']\n },\n enabled: true,\n auto_trigger: true,\n automation_trigger: true\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0.0",\n "event_status": "active",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true\n}\n```\n\n</details>\n\n---\n\n### `getEventJSONSchema`\n\nRetrieve the JSON Schema of a specific business event\n\n`GET /v1/events/{event_name}/json_schema`\n\n```ts\nconst { data } = await client.getEventJSONSchema({\n event_name: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "type": "object",\n "properties": {\n "_org_id": {\n "type": "string",\n "description": "epilot tenant/organization ID"\n },\n "_event_time": {\n "type": "string",\n "format": "date-time",\n "description": "ISO 8601 timestamp when event occurred"\n },\n "_event_id": {\n "type": "string",\n "description": "Unique event identifier (ULID)"\n },\n "_event_name": {\n "type": "string",\n "description": "Event name from catalog"\n },\n "_event_version": {\n "type": "string",\n "description": "Event version (semver)"\n },\n "_event_source": {\n "type": "string",\n "description": "Source that triggered the event"\n },\n "reading_value": {\n "type": "number",\n "description": "The meter reading value"\n },\n "reading_date": {\n "type": "string",\n "format": "date-time",\n "description": "ISO 8601 timestamp when reading was taken"\n },\n "read_by": {\n "type": "string",\n "description": "Name or identifier of who submitted the reading"\n },\n "reason": {\n "type": "string",\n "enum": ["regular", "move-in", "move-out", "supplier-change", "correction", "final"],\n "description": "Reason for the meter reading"\n },\n "direction": {\n "type": "string",\n "enum": ["feed-in", "feed-out"],\n "description": "Direction of energy flow"\n },\n "source": {\n "type": "string",\n "enum": ["portal", "360", "api", "automation"],\n "description": "Source system where reading was submitted"\n },\n "meter_id": {\n "type": "string",\n "format": "uuid",\n "description": "Entity ID of the meter"\n },\n "counter_id": {\n "type": "string",\n "format": "uuid",\n "description": "Entity ID of the meter counter"\n },\n "meter_number": {\n "type": "string",\n "description": "Human-readable meter number"\n },\n "obis_number": {\n "type": "string",\n "description": "OBIS code of the counter"\n },\n "unit": {\n "type": "string",\n "description": "Unit of measurement (e.g., kWh, m3)"\n },\n "customer_id": {\n "type": "string",\n "format": "uuid",\n "description": "Entity ID of the customer"\n },\n "contract_id": {\n "type": "string",\n "format": "uuid",\n "description": "Entity ID of the contract"\n },\n "user_id": {\n "type": "string",\n "description": "ID of the user who submitted the reading"\n },\n "user_email": {\n "type": "string",\n "format": "email",\n "description": "Email of the user who submitted the reading"\n }\n },\n "required": ["_org_id", "_event_time", "_event_id", "_event_name", "_event_version", "_event_source", "reading_value", "reading_date", "read_by", "reason", "direction", "source", "meter_id", "counter_id", "meter_number", "obis_number", "unit", "customer_id", "contract_id"]\n}\n```\n\n</details>\n\n---\n\n### `getEventExample`\n\nGenerate a sample event payload based on the event\'s JSON Schema\n\n`GET /v1/events/{event_name}/example`\n\n```ts\nconst { data } = await client.getEventExample({\n event_name: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{}\n```\n\n</details>\n\n---\n\n### `searchEventHistory`\n\nPaginated history of events\n\n`POST /v1/events/{event_name}:history`\n\n```ts\nconst { data } = await client.searchEventHistory(\n {\n event_name: \'example\',\n },\n {\n limit: 10,\n cursor: {\n event_time: \'2025-10-31 12:34:56\',\n event_id: \'evt_1234567890abcdef\'\n },\n timestamp: {\n from: \'2025-10-01T00:00:00Z\',\n to: \'2025-10-31T23:59:59Z\'\n },\n event_id: \'evt_1234567890abcdef\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "_org_id": "org_123456",\n "_event_time": "2024-01-01T12:00:00Z",\n "_event_id": "01FZ4Z5FZ5FZ5FZ5FZ5FZ5FZ5F",\n "_event_name": "MeterReading",\n "_event_version": "1.0.0",\n "_event_source": "api",\n "_trigger_source_type": "api",\n "_trigger_source": "user_123456",\n "reading_value": 123.45,\n "reading_date": "2024-01-01T11:59:00Z",\n "read_by": "John Doe",\n "reason": "regular",\n "direction": "feed-out",\n "source": "portal",\n "meter_id": "550e8400-e29b-41d4-a716-446655440000",\n "counter_id": "660e8400-e29b-41d4-a716-446655440000",\n "meter_number": "MT123456789",\n "obis_number": "1-0:1.8.0",\n "unit": "kWh",\n "customer_id": "770e8400-e29b-41d4-a716-446655440000",\n "contract_id": "880e8400-e29b-41d4-a716-446655440000"\n }\n ],\n "next_cursor": {\n "event_time": "2025-10-31T12:34:56Z",\n "event_id": "evt_1234567890abcdef"\n }\n}\n```\n\n</details>\n\n---\n\n### `triggerEvent`\n\nExplicitly trigger an event by providing input field values and an optional entity seed\nfor graph hydration. The event must be enabled for the organization.\n\n`POST /v1/events/{event_name}:trigger`\n\n```ts\nconst { data } = await client.triggerEvent(\n {\n event_name: \'example\',\n },\n {\n seed: {\n entity_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n node_id: \'string\'\n },\n fields: {},\n skip_hydration: [\'string\'],\n _trigger_source_type: \'string\',\n _trigger_source: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "event_id": "string",\n "event_bridge_event_id": "string"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `EventConfigBase`\n\nBase properties shared between EventConfig and UpdateEventPayload\n\n```ts\ntype EventConfigBase = {\n event_name?: string\n event_title?: string\n event_description?: string\n event_version?: string\n event_status?: "active" | "deprecated" | "draft" | "disabled"\n event_tags?: string[]\n schema_fields?: Record<string, {\n json_schema: object\n required?: boolean\n graph_source?: string\n } | {\n entity_schema: string\n required?: boolean\n }>\n entity_graph?: {\n nodes: Array<{\n id: { ... }\n schema: { ... }\n cardinality?: { ... }\n fields?: { ... }\n }>\n edges: Array<{\n from: { ... }\n to: { ... }\n }>\n }\n entity_operation?: {\n operation: "createEntity" | "updateEntity" | "deleteEntity"[]\n schema: string[]\n attribute?: string[]\n purpose?: string[]\n }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\n}\n```\n\n### `EventConfig`\n\nEvent configuration with required fields\n\n```ts\ntype EventConfig = {\n event_name: string\n event_title?: string\n event_description?: string\n event_version: string\n event_status?: "active" | "deprecated" | "draft" | "disabled"\n event_tags?: string[]\n schema_fields: Record<string, {\n json_schema: object\n required?: boolean\n graph_source?: string\n } | {\n entity_schema: string\n required?: boolean\n }>\n entity_graph?: {\n nodes: Array<{\n id: { ... }\n schema: { ... }\n cardinality?: { ... }\n fields?: { ... }\n }>\n edges: Array<{\n from: { ... }\n to: { ... }\n }>\n }\n entity_operation?: {\n operation: "createEntity" | "updateEntity" | "deleteEntity"[]\n schema: string[]\n attribute?: string[]\n purpose?: string[]\n }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\n}\n```\n\n### `UpdateEventPayload`\n\nPayload for updating an event configuration.\nAccepts the same fields as EventConfig (all optional for PATCH).\nCurrently only `enabled` and `auto_trigger` fields are processed, other fields are ignored.\n\n\n```ts\ntype UpdateEventPayload = {\n event_name?: string\n event_title?: string\n event_description?: string\n event_version?: string\n event_status?: "active" | "deprecated" | "draft" | "disabled"\n event_tags?: string[]\n schema_fields?: Record<string, {\n json_schema: object\n required?: boolean\n graph_source?: string\n } | {\n entity_schema: string\n required?: boolean\n }>\n entity_graph?: {\n nodes: Array<{\n id: { ... }\n schema: { ... }\n cardinality?: { ... }\n fields?: { ... }\n }>\n edges: Array<{\n from: { ... }\n to: { ... }\n }>\n }\n entity_operation?: {\n operation: "createEntity" | "updateEntity" | "deleteEntity"[]\n schema: string[]\n attribute?: string[]\n purpose?: string[]\n }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\n}\n```\n\n### `PrimitiveField`\n\nA primitive JSON Schema field definition\n\n```ts\ntype PrimitiveField = {\n json_schema: object\n required?: boolean\n graph_source?: string\n}\n```\n\n### `ContextEntity`\n\n```ts\ntype ContextEntity = {\n entity_schema: string\n required?: boolean\n}\n```\n\n### `SchemaField`\n\n```ts\ntype SchemaField = {\n json_schema: object\n required?: boolean\n graph_source?: string\n} | {\n entity_schema: string\n required?: boolean\n}\n```\n\n### `CommonEventMetadata`\n\nCommon metadata fields present in all event payloads\n\n```ts\ntype CommonEventMetadata = object\n```\n\n### `EventJsonSchema`\n\nJSON Schema declaring the event payload structure\n\n```ts\ntype EventJsonSchema = object\n```\n\n### `Event`\n\nAn event instance in the event history\n\n```ts\ntype Event = {\n _org_id: string\n _event_time: string // date-time\n _event_id: string\n _event_name: string\n _event_version: string\n _event_source: string\n _trigger_source_type?: string\n _trigger_source?: string\n _ack_id?: string\n}\n```\n\n### `GraphDefinition`\n\nEntity graph definition for resolving related entities\n\n```ts\ntype GraphDefinition = {\n nodes: Array<{\n id: string\n schema: string\n cardinality?: "one" | "many"\n fields?: object\n }>\n edges: Array<{\n from: string\n to: string\n }>\n}\n```\n\n### `GraphNode`\n\nA node in the entity graph\n\n```ts\ntype GraphNode = {\n id: string\n schema: string\n cardinality?: "one" | "many"\n fields?: object\n}\n```\n\n### `GraphEdge`\n\nAn edge connecting two nodes in the graph\n\n```ts\ntype GraphEdge = {\n from: string\n to: string\n}\n```\n\n### `EntityOperationTrigger`\n\nConfiguration for triggering an event based on entity operations.\n\nWhen an entity operation matches the configured criteria, the event will be triggered.\n- On createEntity: the attribute must be present in the entity payload\n- On updateEntity: the attribute must be in diff.added, diff.updated, or di\n\n```ts\ntype EntityOperationTrigger = {\n operation: "createEntity" | "updateEntity" | "deleteEntity"[]\n schema: string[]\n attribute?: string[]\n purpose?: string[]\n}\n```\n\n### `SearchOptions`\n\n```ts\ntype SearchOptions = {\n limit?: number\n cursor?: {\n event_time?: string\n event_id?: string\n }\n timestamp?: {\n from?: string // date-time\n to?: string // date-time\n }\n event_id?: string\n}\n```\n\n### `FieldsParam`\n\nList of entity fields to include or exclude in the response\n\nUse ! to exclude fields, e.g. `!_id` to exclude the `_id` field.\n\nGlobbing and globstart (**) is supported for nested fields.\n\n\n```ts\ntype FieldsParam = string[]\n```\n\n### `TriggerEventPayload`\n\nPayload for explicitly triggering an event via API\n\n```ts\ntype TriggerEventPayload = {\n seed?: {\n entity_id: string // uuid\n node_id: string\n }\n fields?: Record<string, unknown>\n skip_hydration?: string[]\n _trigger_source_type?: string\n _trigger_source?: string\n}\n```\n\n### `TriggerEventResponse`\n\nResponse from triggering an event\n\n```ts\ntype TriggerEventResponse = {\n success: boolean\n event_id: string\n event_bridge_event_id?: string\n}\n```\n';
|
|
5
|
-
export {
|
|
6
|
-
event_catalog_default as default
|
|
7
|
-
};
|
package/dist/file-UOWBTDIU.cjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
|
|
2
|
-
|
|
3
|
-
// src/docs/file.json
|
|
4
|
-
var file_default = '# File API\n\n- **Base URL:** `https://file.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/file](https://docs.epilot.io/api/file)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.file.uploadFileV2(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/file\'\n\nconst fileClient = getClient()\nauthorize(fileClient, () => \'<token>\')\nconst { data } = await fileClient.uploadFileV2(...)\n```\n\n## Operations\n\n**File**\n- [`uploadFileV2`](#uploadfilev2)\n- [`saveFileV2`](#savefilev2)\n- [`getFile`](#getfile)\n- [`deleteFile`](#deletefile)\n- [`downloadFile`](#downloadfile)\n- [`downloadS3File`](#downloads3file)\n- [`downloadFiles`](#downloadfiles)\n- [`verifyCustomDownloadUrl`](#verifycustomdownloadurl)\n- [`uploadFilePublic`](#uploadfilepublic)\n\n**Preview**\n- [`previewFile`](#previewfile)\n- [`previewS3File`](#previews3file)\n- [`previewS3FileGet`](#previews3fileget)\n- [`previewPublicFile`](#previewpublicfile)\n\n**Session**\n- [`getSession`](#getsession)\n- [`deleteSession`](#deletesession)\n\n**Public Links**\n- [`generatePublicLink`](#generatepubliclink)\n- [`listPublicLinksForFile`](#listpubliclinksforfile)\n- [`accessPublicLink`](#accesspubliclink)\n- [`revokePublicLink`](#revokepubliclink)\n\n**File Collections**\n- [`getUserSchemaFileCollections`](#getuserschemafilecollections)\n- [`createUserSchemaFileCollection`](#createuserschemafilecollection)\n- [`updateUserSchemaFileCollection`](#updateuserschemafilecollection)\n- [`deleteUserSchemaFileCollection`](#deleteuserschemafilecollection)\n- [`getFilesInCollection`](#getfilesincollection)\n- [`getGlobalFileCollections`](#getglobalfilecollections)\n\n**Schemas**\n- [`EntityId`](#entityid)\n- [`EntitySlug`](#entityslug)\n- [`ActivityId`](#activityid)\n- [`FileEntityId`](#fileentityid)\n- [`FileAttributes`](#fileattributes)\n- [`FileType`](#filetype)\n- [`CustomDownloadUrl`](#customdownloadurl)\n- [`FileEntity`](#fileentity)\n- [`CommonSaveFilePayload`](#commonsavefilepayload)\n- [`SaveS3FilePayload`](#saves3filepayload)\n- [`SaveFileFromSourceURLPayload`](#savefilefromsourceurlpayload)\n- [`SaveCustomFilePayload`](#savecustomfilepayload)\n- [`SaveFilePayload`](#savefilepayload)\n- [`SaveFilePayloadV2`](#savefilepayloadv2)\n- [`BatchSaveFileVersionPayload`](#batchsavefileversionpayload)\n- [`UploadFilePayload`](#uploadfilepayload)\n- [`FileUpload`](#fileupload)\n- [`DownloadFilesPayload`](#downloadfilespayload)\n- [`VerifyCustomDownloadUrlPayload`](#verifycustomdownloadurlpayload)\n- [`S3Reference`](#s3reference)\n- [`S3Ref`](#s3ref)\n- [`FileItem`](#fileitem)\n- [`FileRelationItem`](#filerelationitem)\n- [`PublicLink`](#publiclink)\n- [`BaseEntityOwner`](#baseentityowner)\n- [`BaseEntityAcl`](#baseentityacl)\n- [`ErrorObject`](#errorobject)\n- [`FileCollectionId`](#filecollectionid)\n- [`FileCollectionItem`](#filecollectionitem)\n- [`FileCollectionAttributes`](#filecollectionattributes)\n- [`FileCollectionCreateRequest`](#filecollectioncreaterequest)\n\n### `uploadFileV2`\n\nCreate pre-signed S3 URL to upload a file to keep temporarily (one week).\n\n`POST /v2/files/upload`\n\n```ts\nconst { data } = await client.uploadFileV2(\n {\n file_entity_id: \'example\',\n },\n {\n filename: \'document.pdf\',\n mime_type: \'application/pdf\',\n index_tag: \'2f6a377c8e78\',\n metadata: {\n color: \'blue\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "s3ref": {\n "bucket": "epilot-prod-user-content",\n "key": "123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n },\n "upload_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n}\n```\n\n</details>\n\n---\n\n### `saveFileV2`\n\nSaves a permanent file entity. Updates an existing file entity when `_id` is passed.\n\n`POST /v2/files`\n\n```ts\nconst { data } = await client.saveFileV2(\n {\n activity_id: \'example\',\n fill_activity: true,\n strict: true,\n async: true,\n delete_temp_file: true,\n version_only: true,\n },\n {\n _id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n file_entity_id: \'string\',\n relations: [\n {\n entity_id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n _schema: \'contact\',\n _tags: [\'string\']\n }\n ],\n _tags: [\'tag1\', \'tag2\'],\n _purpose: [\'8d396871-95a0-4c9d-bb4d-9eda9c35776c\', \'da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8\'],\n _manifest: [\'123e4567-e89b-12d3-a456-426614174000\'],\n filename: \'document.pdf\',\n type: \'document\',\n mime_type: \'application/pdf\',\n size_bytes: 1234,\n readable_size: \'1.2 MB\',\n access_control: \'private\',\n public_url: \'https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf\',\n custom_download_url: \'https://some-api-url.com/download?file_id=123\',\n s3ref: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `getFile`\n\nGet a file entity by id\n\n`GET /v2/files/{id}`\n\n```ts\nconst { data } = await client.getFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n source_url: true,\n strict: true,\n async: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `deleteFile`\n\nDelete a file entity by id\n\n`DELETE /v2/files/{id}`\n\n```ts\nconst { data } = await client.deleteFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n purge: true,\n activity_id: \'example\',\n strict: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `downloadFile`\n\nGenerate a pre-signed download URL for a file.\n\n`GET /v1/files/{id}/download`\n\n```ts\nconst { data } = await client.downloadFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n attachment: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123"\n}\n```\n\n</details>\n\n---\n\n### `downloadS3File`\n\nGenerate a pre-signed download URL for a file using its S3 reference.\n\n`POST /v1/files:downloadS3`\n\n```ts\nconst { data } = await client.downloadS3File({\n s3_key: \'example\',\n s3_bucket: \'example\',\n attachment: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123"\n}\n```\n\n</details>\n\n---\n\n### `downloadFiles`\n\nBulk generate pre-signed download URLs for multiple files in a single request.\n\n`POST /v1/files:downloadFiles`\n\n```ts\nconst { data } = await client.downloadFiles(\n null,\n [\n {\n id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n version: 0\n }\n ],\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "file_entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"\n }\n]\n```\n\n</details>\n\n---\n\n### `previewFile`\n\nGenerate a thumbnail preview for a file entity.\n\n`GET /v1/files/{id}/preview`\n\n```ts\nconst { data } = await client.previewFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n w: 1,\n h: 1,\n})\n```\n\n---\n\n### `previewS3File`\n\nGenerate a thumbnail preview from an S3 reference.\n\n`POST /v1/files:previewS3`\n\n```ts\nconst { data } = await client.previewS3File(\n {\n w: 1,\n h: 1,\n },\n {},\n)\n```\n\n---\n\n### `previewS3FileGet`\n\nGet a thumbnail preview from an S3 reference using query parameters.\n\n`GET /v1/files:previewS3`\n\n```ts\nconst { data } = await client.previewS3FileGet({\n key: \'example\',\n bucket: \'example\',\n w: 1,\n h: 1,\n})\n```\n\n---\n\n### `previewPublicFile`\n\nGenerate a thumbnail preview for a public file entity.\n\n`GET /v1/files/public/{id}/preview`\n\n```ts\nconst { data } = await client.previewPublicFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n w: 1,\n h: 1,\n org_id: \'example\',\n})\n```\n\n---\n\n### `getSession`\n\nStart a browser session by converting a Bearer token into a server-side cookie.\n\n`GET /v1/files/session`\n\n```ts\nconst { data } = await client.getSession()\n```\n\n---\n\n### `deleteSession`\n\nEnd a browser session by deleting the token cookie.\n\n`DELETE /v1/files/session`\n\n```ts\nconst { data } = await client.deleteSession()\n```\n\n---\n\n### `generatePublicLink`\n\nGenerate a public link to share a private file externally.\n\n`POST /v1/files/{id}/public/links`\n\n```ts\nconst { data } = await client.generatePublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n"string"\n```\n\n</details>\n\n---\n\n### `listPublicLinksForFile`\n\n**Not yet implemented.**\n\n`GET /v1/files/{id}/public/links`\n\n```ts\nconst { data } = await client.listPublicLinksForFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "3ef5c6d9-818d-45e6-8efb-b1de59079a1c",\n "link": "https://file.sls.epilot.io/v1/files/public/links/3ef5c6d9-818d-45e6-8efb-b1de59079a1c",\n "last_accessed_at": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `accessPublicLink`\n\nAccess a file via its public link.\n\n`GET /v1/files/public/links/{id}/{filename}`\n\n```ts\nconst { data } = await client.accessPublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n filename: \'example\',\n hash: \'example\',\n})\n```\n\n---\n\n### `revokePublicLink`\n\n**Not yet implemented.**\n\n`DELETE /v1/files/public/links/{id}`\n\n```ts\nconst { data } = await client.revokePublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `verifyCustomDownloadUrl`\n\nVerify that a custom download URL is valid and has not expired.\n\n`POST /v1/files/download:verify`\n\n```ts\nconst { data } = await client.verifyCustomDownloadUrl(\n null,\n {\n custom_download_url: \'https://some-api-url.com?file_id=123&expires_at=1699273500029&signature=abcdefg\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "valid": true\n}\n```\n\n</details>\n\n---\n\n### `uploadFilePublic`\n\nCreate a pre-signed S3 URL for uploading a file without authentication.\n\n`POST /v1/files/public/upload`\n\n```ts\nconst { data } = await client.uploadFilePublic(\n null,\n {\n filename: \'document.pdf\',\n mime_type: \'application/pdf\',\n index_tag: \'2f6a377c8e78\',\n metadata: {\n color: \'blue\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "s3ref": {\n "bucket": "epilot-prod-user-content",\n "key": "123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n },\n "upload_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "error": "File entity not found"\n}\n```\n\n</details>\n\n---\n\n### `getUserSchemaFileCollections`\n\nGet all file collections for the current user within a specific schema.\n\n`GET /v1/{slug}/collections`\n\n```ts\nconst { data } = await client.getUserSchemaFileCollections({\n slug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n }\n]\n```\n\n</details>\n\n---\n\n### `createUserSchemaFileCollection`\n\nCreate a new file collection for the current user within a specific schema.\n\n`POST /v1/{slug}/collections`\n\n```ts\nconst { data } = await client.createUserSchemaFileCollection(\n {\n slug: \'example\',\n },\n {\n name: \'string\',\n parents: [\'string\'],\n starred: false,\n enabled_locations: [\'string\'],\n enabled_purposes: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n}\n```\n\n</details>\n\n---\n\n### `updateUserSchemaFileCollection`\n\nUpdate an existing file collection.\n\n`PUT /v1/{slug}/collections/{collectionSlug}`\n\n```ts\nconst { data } = await client.updateUserSchemaFileCollection(\n {\n slug: \'example\',\n collectionSlug: \'example\',\n },\n {\n name: \'string\',\n parents: [\'string\'],\n starred: false,\n enabled_locations: [\'string\'],\n enabled_purposes: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteUserSchemaFileCollection`\n\nDelete a file collection.\n\n`DELETE /v1/{slug}/collections/{collectionSlug}`\n\n```ts\nconst { data } = await client.deleteUserSchemaFileCollection({\n slug: \'example\',\n collectionSlug: \'example\',\n})\n```\n\n---\n\n### `getFilesInCollection`\n\nGet all files within a specific collection for an entity.\n\n`GET /v1/entity/{id}/collections/{collectionSlug}/files`\n\n```ts\nconst { data } = await client.getFilesInCollection({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n collectionSlug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n }\n]\n```\n\n</details>\n\n---\n\n### `getGlobalFileCollections`\n\nGet all global file collections for a specific schema.\n\n`GET /v1/collections/{schemaSlug}`\n\n```ts\nconst { data } = await client.getGlobalFileCollections({\n schemaSlug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n }\n]\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `EntityId`\n\n```ts\ntype EntityId = string\n```\n\n### `EntitySlug`\n\nURL-friendly identifier for the entity schema\n\n```ts\ntype EntitySlug = string\n```\n\n### `ActivityId`\n\nSee https://github.com/ulid/spec\n\n```ts\ntype ActivityId = string // ulid\n```\n\n### `FileEntityId`\n\n```ts\ntype FileEntityId = string | string // uuid\n```\n\n### `FileAttributes`\n\n```ts\ntype FileAttributes = {\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `FileType`\n\n```ts\ntype FileType = "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n```\n\n### `CustomDownloadUrl`\n\nCustom external download url used for the file\n\n```ts\ntype CustomDownloadUrl = string // uri\n```\n\n### `FileEntity`\n\n```ts\ntype FileEntity = {\n _title: string\n _schema: "file"\n _org: string\n _id: string | string // uuid\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename: string\n type: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string\n s3ref?: object\n versions: Array<{\n s3ref?: unknown\n filename?: string\n size_bytes?: number\n readable_size?: string\n mime_type?: string\n }>\n _updated_at?: string // date-time\n _created_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n __additional?: Record<string, unknown>\n}\n```\n\n### `CommonSaveFilePayload`\n\n```ts\ntype CommonSaveFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n}\n```\n\n### `SaveS3FilePayload`\n\n```ts\ntype SaveS3FilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n s3ref?: unknown\n}\n```\n\n### `SaveFileFromSourceURLPayload`\n\n```ts\ntype SaveFileFromSourceURLPayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string // uri\n}\n```\n\n### `SaveCustomFilePayload`\n\n```ts\ntype SaveCustomFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `SaveFilePayload`\n\n```ts\ntype SaveFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n s3ref?: unknown\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string // uri\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `SaveFilePayloadV2`\n\n```ts\ntype SaveFilePayloadV2 = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n s3ref?: unknown\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string // uri\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `BatchSaveFileVersionPayload`\n\nPayload for batch version save. Only s3ref payloads are supported.\n\n```ts\ntype BatchSaveFileVersionPayload = {\n _id?: object\n file_entity_id?: string\n filename?: string\n mime_type?: string\n access_control?: "private" | "public-read"\n s3ref: unknown\n}\n```\n\n### `UploadFilePayload`\n\n```ts\ntype UploadFilePayload = {\n filename: string\n mime_type?: string\n index_tag?: string\n metadata?: Record<string, string>\n}\n```\n\n### `FileUpload`\n\n```ts\ntype FileUpload = {\n s3ref?: object\n upload_url?: string // url\n public_url?: string // url\n}\n```\n\n### `DownloadFilesPayload`\n\n```ts\ntype DownloadFilesPayload = Array<{\n id: string | string // uuid\n version?: number\n}>\n```\n\n### `VerifyCustomDownloadUrlPayload`\n\n```ts\ntype VerifyCustomDownloadUrlPayload = {\n custom_download_url: string\n}\n```\n\n### `S3Reference`\n\n```ts\ntype S3Reference = {\n bucket: string\n key: string\n}\n```\n\n### `S3Ref`\n\n```ts\ntype S3Ref = {\n bucket: string\n key: string\n}\n```\n\n### `FileItem`\n\n```ts\ntype FileItem = {\n s3ref?: unknown\n filename?: string\n size_bytes?: number\n readable_size?: string\n mime_type?: string\n}\n```\n\n### `FileRelationItem`\n\n```ts\ntype FileRelationItem = {\n entity_id: string\n _schema?: string\n _tags?: string[]\n}\n```\n\n### `PublicLink`\n\n```ts\ntype PublicLink = {\n id?: string\n link?: string\n last_accessed_at?: string\n}\n```\n\n### `BaseEntityOwner`\n\nThe user / organization owning this entity.\n\nNote: Owner implicitly has access to the entity regardless of ACLs.\n\n\n```ts\ntype BaseEntityOwner = {\n org_id: string\n user_id?: string\n}\n```\n\n### `BaseEntityAcl`\n\nAccess control list (ACL) for an entity. Defines sharing access to external orgs or users.\n\n```ts\ntype BaseEntityAcl = {\n view?: string[]\n edit?: string[]\n delete?: string[]\n}\n```\n\n### `ErrorObject`\n\nA generic error returned by the API\n\n```ts\ntype ErrorObject = {\n status?: number\n error?: string\n}\n```\n\n### `FileCollectionId`\n\nGenerated uuid for a file collection\n\n```ts\ntype FileCollectionId = string // uuid\n```\n\n### `FileCollectionItem`\n\nA file collection with identifiers and timestamps\n\n```ts\ntype FileCollectionItem = {\n slug?: string\n name: string\n id?: string // uuid\n parents?: string[]\n starred?: boolean\n order?: number\n enabled_locations?: string[]\n enabled_purposes?: string[]\n created_at?: string // date-time\n updated_at?: string // date-time\n}\n```\n\n### `FileCollectionAttributes`\n\n```ts\ntype FileCollectionAttributes = {\n name?: string\n parents?: string[]\n starred?: boolean\n enabled_locations?: string[]\n enabled_purposes?: string[]\n}\n```\n\n### `FileCollectionCreateRequest`\n\nRequest body for creating a file collection\n\n```ts\ntype FileCollectionCreateRequest = {\n name: string\n parents?: string[]\n starred?: boolean\n enabled_locations?: string[]\n enabled_purposes?: string[]\n}\n```\n';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.default = file_default;
|
package/dist/file-XSN3NAVZ.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import "./chunk-YPSWSI3M.js";
|
|
2
|
-
|
|
3
|
-
// src/docs/file.json
|
|
4
|
-
var file_default = '# File API\n\n- **Base URL:** `https://file.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/file](https://docs.epilot.io/api/file)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.file.uploadFileV2(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/file\'\n\nconst fileClient = getClient()\nauthorize(fileClient, () => \'<token>\')\nconst { data } = await fileClient.uploadFileV2(...)\n```\n\n## Operations\n\n**File**\n- [`uploadFileV2`](#uploadfilev2)\n- [`saveFileV2`](#savefilev2)\n- [`getFile`](#getfile)\n- [`deleteFile`](#deletefile)\n- [`downloadFile`](#downloadfile)\n- [`downloadS3File`](#downloads3file)\n- [`downloadFiles`](#downloadfiles)\n- [`verifyCustomDownloadUrl`](#verifycustomdownloadurl)\n- [`uploadFilePublic`](#uploadfilepublic)\n\n**Preview**\n- [`previewFile`](#previewfile)\n- [`previewS3File`](#previews3file)\n- [`previewS3FileGet`](#previews3fileget)\n- [`previewPublicFile`](#previewpublicfile)\n\n**Session**\n- [`getSession`](#getsession)\n- [`deleteSession`](#deletesession)\n\n**Public Links**\n- [`generatePublicLink`](#generatepubliclink)\n- [`listPublicLinksForFile`](#listpubliclinksforfile)\n- [`accessPublicLink`](#accesspubliclink)\n- [`revokePublicLink`](#revokepubliclink)\n\n**File Collections**\n- [`getUserSchemaFileCollections`](#getuserschemafilecollections)\n- [`createUserSchemaFileCollection`](#createuserschemafilecollection)\n- [`updateUserSchemaFileCollection`](#updateuserschemafilecollection)\n- [`deleteUserSchemaFileCollection`](#deleteuserschemafilecollection)\n- [`getFilesInCollection`](#getfilesincollection)\n- [`getGlobalFileCollections`](#getglobalfilecollections)\n\n**Schemas**\n- [`EntityId`](#entityid)\n- [`EntitySlug`](#entityslug)\n- [`ActivityId`](#activityid)\n- [`FileEntityId`](#fileentityid)\n- [`FileAttributes`](#fileattributes)\n- [`FileType`](#filetype)\n- [`CustomDownloadUrl`](#customdownloadurl)\n- [`FileEntity`](#fileentity)\n- [`CommonSaveFilePayload`](#commonsavefilepayload)\n- [`SaveS3FilePayload`](#saves3filepayload)\n- [`SaveFileFromSourceURLPayload`](#savefilefromsourceurlpayload)\n- [`SaveCustomFilePayload`](#savecustomfilepayload)\n- [`SaveFilePayload`](#savefilepayload)\n- [`SaveFilePayloadV2`](#savefilepayloadv2)\n- [`BatchSaveFileVersionPayload`](#batchsavefileversionpayload)\n- [`UploadFilePayload`](#uploadfilepayload)\n- [`FileUpload`](#fileupload)\n- [`DownloadFilesPayload`](#downloadfilespayload)\n- [`VerifyCustomDownloadUrlPayload`](#verifycustomdownloadurlpayload)\n- [`S3Reference`](#s3reference)\n- [`S3Ref`](#s3ref)\n- [`FileItem`](#fileitem)\n- [`FileRelationItem`](#filerelationitem)\n- [`PublicLink`](#publiclink)\n- [`BaseEntityOwner`](#baseentityowner)\n- [`BaseEntityAcl`](#baseentityacl)\n- [`ErrorObject`](#errorobject)\n- [`FileCollectionId`](#filecollectionid)\n- [`FileCollectionItem`](#filecollectionitem)\n- [`FileCollectionAttributes`](#filecollectionattributes)\n- [`FileCollectionCreateRequest`](#filecollectioncreaterequest)\n\n### `uploadFileV2`\n\nCreate pre-signed S3 URL to upload a file to keep temporarily (one week).\n\n`POST /v2/files/upload`\n\n```ts\nconst { data } = await client.uploadFileV2(\n {\n file_entity_id: \'example\',\n },\n {\n filename: \'document.pdf\',\n mime_type: \'application/pdf\',\n index_tag: \'2f6a377c8e78\',\n metadata: {\n color: \'blue\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "s3ref": {\n "bucket": "epilot-prod-user-content",\n "key": "123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n },\n "upload_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n}\n```\n\n</details>\n\n---\n\n### `saveFileV2`\n\nSaves a permanent file entity. Updates an existing file entity when `_id` is passed.\n\n`POST /v2/files`\n\n```ts\nconst { data } = await client.saveFileV2(\n {\n activity_id: \'example\',\n fill_activity: true,\n strict: true,\n async: true,\n delete_temp_file: true,\n version_only: true,\n },\n {\n _id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n file_entity_id: \'string\',\n relations: [\n {\n entity_id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n _schema: \'contact\',\n _tags: [\'string\']\n }\n ],\n _tags: [\'tag1\', \'tag2\'],\n _purpose: [\'8d396871-95a0-4c9d-bb4d-9eda9c35776c\', \'da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8\'],\n _manifest: [\'123e4567-e89b-12d3-a456-426614174000\'],\n filename: \'document.pdf\',\n type: \'document\',\n mime_type: \'application/pdf\',\n size_bytes: 1234,\n readable_size: \'1.2 MB\',\n access_control: \'private\',\n public_url: \'https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf\',\n custom_download_url: \'https://some-api-url.com/download?file_id=123\',\n s3ref: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `getFile`\n\nGet a file entity by id\n\n`GET /v2/files/{id}`\n\n```ts\nconst { data } = await client.getFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n source_url: true,\n strict: true,\n async: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `deleteFile`\n\nDelete a file entity by id\n\n`DELETE /v2/files/{id}`\n\n```ts\nconst { data } = await client.deleteFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n purge: true,\n activity_id: \'example\',\n strict: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `downloadFile`\n\nGenerate a pre-signed download URL for a file.\n\n`GET /v1/files/{id}/download`\n\n```ts\nconst { data } = await client.downloadFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n attachment: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123"\n}\n```\n\n</details>\n\n---\n\n### `downloadS3File`\n\nGenerate a pre-signed download URL for a file using its S3 reference.\n\n`POST /v1/files:downloadS3`\n\n```ts\nconst { data } = await client.downloadS3File({\n s3_key: \'example\',\n s3_bucket: \'example\',\n attachment: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123"\n}\n```\n\n</details>\n\n---\n\n### `downloadFiles`\n\nBulk generate pre-signed download URLs for multiple files in a single request.\n\n`POST /v1/files:downloadFiles`\n\n```ts\nconst { data } = await client.downloadFiles(\n null,\n [\n {\n id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n version: 0\n }\n ],\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "file_entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"\n }\n]\n```\n\n</details>\n\n---\n\n### `previewFile`\n\nGenerate a thumbnail preview for a file entity.\n\n`GET /v1/files/{id}/preview`\n\n```ts\nconst { data } = await client.previewFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n w: 1,\n h: 1,\n})\n```\n\n---\n\n### `previewS3File`\n\nGenerate a thumbnail preview from an S3 reference.\n\n`POST /v1/files:previewS3`\n\n```ts\nconst { data } = await client.previewS3File(\n {\n w: 1,\n h: 1,\n },\n {},\n)\n```\n\n---\n\n### `previewS3FileGet`\n\nGet a thumbnail preview from an S3 reference using query parameters.\n\n`GET /v1/files:previewS3`\n\n```ts\nconst { data } = await client.previewS3FileGet({\n key: \'example\',\n bucket: \'example\',\n w: 1,\n h: 1,\n})\n```\n\n---\n\n### `previewPublicFile`\n\nGenerate a thumbnail preview for a public file entity.\n\n`GET /v1/files/public/{id}/preview`\n\n```ts\nconst { data } = await client.previewPublicFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n w: 1,\n h: 1,\n org_id: \'example\',\n})\n```\n\n---\n\n### `getSession`\n\nStart a browser session by converting a Bearer token into a server-side cookie.\n\n`GET /v1/files/session`\n\n```ts\nconst { data } = await client.getSession()\n```\n\n---\n\n### `deleteSession`\n\nEnd a browser session by deleting the token cookie.\n\n`DELETE /v1/files/session`\n\n```ts\nconst { data } = await client.deleteSession()\n```\n\n---\n\n### `generatePublicLink`\n\nGenerate a public link to share a private file externally.\n\n`POST /v1/files/{id}/public/links`\n\n```ts\nconst { data } = await client.generatePublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n"string"\n```\n\n</details>\n\n---\n\n### `listPublicLinksForFile`\n\n**Not yet implemented.**\n\n`GET /v1/files/{id}/public/links`\n\n```ts\nconst { data } = await client.listPublicLinksForFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "3ef5c6d9-818d-45e6-8efb-b1de59079a1c",\n "link": "https://file.sls.epilot.io/v1/files/public/links/3ef5c6d9-818d-45e6-8efb-b1de59079a1c",\n "last_accessed_at": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `accessPublicLink`\n\nAccess a file via its public link.\n\n`GET /v1/files/public/links/{id}/{filename}`\n\n```ts\nconst { data } = await client.accessPublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n filename: \'example\',\n hash: \'example\',\n})\n```\n\n---\n\n### `revokePublicLink`\n\n**Not yet implemented.**\n\n`DELETE /v1/files/public/links/{id}`\n\n```ts\nconst { data } = await client.revokePublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `verifyCustomDownloadUrl`\n\nVerify that a custom download URL is valid and has not expired.\n\n`POST /v1/files/download:verify`\n\n```ts\nconst { data } = await client.verifyCustomDownloadUrl(\n null,\n {\n custom_download_url: \'https://some-api-url.com?file_id=123&expires_at=1699273500029&signature=abcdefg\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "valid": true\n}\n```\n\n</details>\n\n---\n\n### `uploadFilePublic`\n\nCreate a pre-signed S3 URL for uploading a file without authentication.\n\n`POST /v1/files/public/upload`\n\n```ts\nconst { data } = await client.uploadFilePublic(\n null,\n {\n filename: \'document.pdf\',\n mime_type: \'application/pdf\',\n index_tag: \'2f6a377c8e78\',\n metadata: {\n color: \'blue\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "s3ref": {\n "bucket": "epilot-prod-user-content",\n "key": "123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n },\n "upload_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "error": "File entity not found"\n}\n```\n\n</details>\n\n---\n\n### `getUserSchemaFileCollections`\n\nGet all file collections for the current user within a specific schema.\n\n`GET /v1/{slug}/collections`\n\n```ts\nconst { data } = await client.getUserSchemaFileCollections({\n slug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n }\n]\n```\n\n</details>\n\n---\n\n### `createUserSchemaFileCollection`\n\nCreate a new file collection for the current user within a specific schema.\n\n`POST /v1/{slug}/collections`\n\n```ts\nconst { data } = await client.createUserSchemaFileCollection(\n {\n slug: \'example\',\n },\n {\n name: \'string\',\n parents: [\'string\'],\n starred: false,\n enabled_locations: [\'string\'],\n enabled_purposes: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n}\n```\n\n</details>\n\n---\n\n### `updateUserSchemaFileCollection`\n\nUpdate an existing file collection.\n\n`PUT /v1/{slug}/collections/{collectionSlug}`\n\n```ts\nconst { data } = await client.updateUserSchemaFileCollection(\n {\n slug: \'example\',\n collectionSlug: \'example\',\n },\n {\n name: \'string\',\n parents: [\'string\'],\n starred: false,\n enabled_locations: [\'string\'],\n enabled_purposes: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteUserSchemaFileCollection`\n\nDelete a file collection.\n\n`DELETE /v1/{slug}/collections/{collectionSlug}`\n\n```ts\nconst { data } = await client.deleteUserSchemaFileCollection({\n slug: \'example\',\n collectionSlug: \'example\',\n})\n```\n\n---\n\n### `getFilesInCollection`\n\nGet all files within a specific collection for an entity.\n\n`GET /v1/entity/{id}/collections/{collectionSlug}/files`\n\n```ts\nconst { data } = await client.getFilesInCollection({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n collectionSlug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n }\n]\n```\n\n</details>\n\n---\n\n### `getGlobalFileCollections`\n\nGet all global file collections for a specific schema.\n\n`GET /v1/collections/{schemaSlug}`\n\n```ts\nconst { data } = await client.getGlobalFileCollections({\n schemaSlug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n }\n]\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `EntityId`\n\n```ts\ntype EntityId = string\n```\n\n### `EntitySlug`\n\nURL-friendly identifier for the entity schema\n\n```ts\ntype EntitySlug = string\n```\n\n### `ActivityId`\n\nSee https://github.com/ulid/spec\n\n```ts\ntype ActivityId = string // ulid\n```\n\n### `FileEntityId`\n\n```ts\ntype FileEntityId = string | string // uuid\n```\n\n### `FileAttributes`\n\n```ts\ntype FileAttributes = {\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `FileType`\n\n```ts\ntype FileType = "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n```\n\n### `CustomDownloadUrl`\n\nCustom external download url used for the file\n\n```ts\ntype CustomDownloadUrl = string // uri\n```\n\n### `FileEntity`\n\n```ts\ntype FileEntity = {\n _title: string\n _schema: "file"\n _org: string\n _id: string | string // uuid\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename: string\n type: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string\n s3ref?: object\n versions: Array<{\n s3ref?: unknown\n filename?: string\n size_bytes?: number\n readable_size?: string\n mime_type?: string\n }>\n _updated_at?: string // date-time\n _created_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n __additional?: Record<string, unknown>\n}\n```\n\n### `CommonSaveFilePayload`\n\n```ts\ntype CommonSaveFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n}\n```\n\n### `SaveS3FilePayload`\n\n```ts\ntype SaveS3FilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n s3ref?: unknown\n}\n```\n\n### `SaveFileFromSourceURLPayload`\n\n```ts\ntype SaveFileFromSourceURLPayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string // uri\n}\n```\n\n### `SaveCustomFilePayload`\n\n```ts\ntype SaveCustomFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `SaveFilePayload`\n\n```ts\ntype SaveFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n s3ref?: unknown\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string // uri\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `SaveFilePayloadV2`\n\n```ts\ntype SaveFilePayloadV2 = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n s3ref?: unknown\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n source_url?: string // uri\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n}\n```\n\n### `BatchSaveFileVersionPayload`\n\nPayload for batch version save. Only s3ref payloads are supported.\n\n```ts\ntype BatchSaveFileVersionPayload = {\n _id?: object\n file_entity_id?: string\n filename?: string\n mime_type?: string\n access_control?: "private" | "public-read"\n s3ref: unknown\n}\n```\n\n### `UploadFilePayload`\n\n```ts\ntype UploadFilePayload = {\n filename: string\n mime_type?: string\n index_tag?: string\n metadata?: Record<string, string>\n}\n```\n\n### `FileUpload`\n\n```ts\ntype FileUpload = {\n s3ref?: object\n upload_url?: string // url\n public_url?: string // url\n}\n```\n\n### `DownloadFilesPayload`\n\n```ts\ntype DownloadFilesPayload = Array<{\n id: string | string // uuid\n version?: number\n}>\n```\n\n### `VerifyCustomDownloadUrlPayload`\n\n```ts\ntype VerifyCustomDownloadUrlPayload = {\n custom_download_url: string\n}\n```\n\n### `S3Reference`\n\n```ts\ntype S3Reference = {\n bucket: string\n key: string\n}\n```\n\n### `S3Ref`\n\n```ts\ntype S3Ref = {\n bucket: string\n key: string\n}\n```\n\n### `FileItem`\n\n```ts\ntype FileItem = {\n s3ref?: unknown\n filename?: string\n size_bytes?: number\n readable_size?: string\n mime_type?: string\n}\n```\n\n### `FileRelationItem`\n\n```ts\ntype FileRelationItem = {\n entity_id: string\n _schema?: string\n _tags?: string[]\n}\n```\n\n### `PublicLink`\n\n```ts\ntype PublicLink = {\n id?: string\n link?: string\n last_accessed_at?: string\n}\n```\n\n### `BaseEntityOwner`\n\nThe user / organization owning this entity.\n\nNote: Owner implicitly has access to the entity regardless of ACLs.\n\n\n```ts\ntype BaseEntityOwner = {\n org_id: string\n user_id?: string\n}\n```\n\n### `BaseEntityAcl`\n\nAccess control list (ACL) for an entity. Defines sharing access to external orgs or users.\n\n```ts\ntype BaseEntityAcl = {\n view?: string[]\n edit?: string[]\n delete?: string[]\n}\n```\n\n### `ErrorObject`\n\nA generic error returned by the API\n\n```ts\ntype ErrorObject = {\n status?: number\n error?: string\n}\n```\n\n### `FileCollectionId`\n\nGenerated uuid for a file collection\n\n```ts\ntype FileCollectionId = string // uuid\n```\n\n### `FileCollectionItem`\n\nA file collection with identifiers and timestamps\n\n```ts\ntype FileCollectionItem = {\n slug?: string\n name: string\n id?: string // uuid\n parents?: string[]\n starred?: boolean\n order?: number\n enabled_locations?: string[]\n enabled_purposes?: string[]\n created_at?: string // date-time\n updated_at?: string // date-time\n}\n```\n\n### `FileCollectionAttributes`\n\n```ts\ntype FileCollectionAttributes = {\n name?: string\n parents?: string[]\n starred?: boolean\n enabled_locations?: string[]\n enabled_purposes?: string[]\n}\n```\n\n### `FileCollectionCreateRequest`\n\nRequest body for creating a file collection\n\n```ts\ntype FileCollectionCreateRequest = {\n name: string\n parents?: string[]\n starred?: boolean\n enabled_locations?: string[]\n enabled_purposes?: string[]\n}\n```\n';
|
|
5
|
-
export {
|
|
6
|
-
file_default as default
|
|
7
|
-
};
|