@epilot/sdk 2.1.1 → 2.1.3
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/email-settings-runtime.json +1 -1
- package/definitions/email-settings.json +121 -0
- package/definitions/partner-directory-runtime.json +1 -1
- package/definitions/partner-directory.json +795 -229
- 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/consent.cjs +6 -6
- package/dist/apis/consent.js +1 -1
- package/dist/apis/customer-portal.cjs +6 -6
- package/dist/apis/customer-portal.js +1 -1
- package/dist/apis/dashboard.cjs +6 -6
- package/dist/apis/dashboard.js +1 -1
- package/dist/apis/data-management.cjs +6 -6
- package/dist/apis/data-management.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/erp-integration.cjs +6 -6
- package/dist/apis/erp-integration.js +1 -1
- package/dist/apis/event-catalog.cjs +6 -6
- package/dist/apis/event-catalog.js +1 -1
- package/dist/apis/file.cjs +6 -6
- package/dist/apis/file.js +1 -1
- package/dist/apis/iban.cjs +6 -6
- package/dist/apis/iban.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 +8 -8
- package/dist/apis/partner-directory.d.cts +2 -2
- package/dist/apis/partner-directory.d.ts +2 -2
- package/dist/apis/partner-directory.js +2 -2
- 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/sandbox.cjs +6 -6
- package/dist/apis/sandbox.js +1 -1
- package/dist/apis/submission.cjs +6 -6
- package/dist/apis/submission.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.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-RJ3DWFSK.js → chunk-3NLMZLCD.js} +1 -1
- package/dist/{chunk-BPHOGIQM.cjs → chunk-A67W5WAP.cjs} +1 -1
- package/dist/{chunk-F5JVW2D5.cjs → chunk-BFUNXZRX.cjs} +1 -1
- package/dist/{chunk-WSZWUQDD.cjs → chunk-FPO2GB3J.cjs} +4 -4
- package/dist/{chunk-AUH6NP6Y.js → chunk-I2XRA5AM.js} +1 -1
- package/dist/{chunk-NBYH536J.js → chunk-PDALFDYR.js} +4 -4
- package/dist/email-settings-EJ3DCPPN.js +7 -0
- package/dist/email-settings-TALOPLBC.cjs +7 -0
- package/dist/{email-settings-runtime-NS7MU3RB.cjs → email-settings-runtime-3NJIAWWI.cjs} +2 -2
- package/dist/{email-settings-runtime-X7F3EPAB.js → email-settings-runtime-Q2HVKJDS.js} +1 -1
- package/dist/{email-settings.d-BXxYjVDr.d.cts → email-settings.d-DUvmLZMN.d.cts} +115 -2
- package/dist/{email-settings.d-BXxYjVDr.d.ts → email-settings.d-DUvmLZMN.d.ts} +115 -2
- package/dist/index.cjs +12 -12
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -3
- package/dist/{js-yaml-UPZKYVRY.js → js-yaml-DLCVPJ7G.js} +17 -15
- package/dist/partner-directory-THI7JEXK.js +7 -0
- package/dist/partner-directory-ZQIBKD5Q.cjs +7 -0
- package/dist/{partner-directory-runtime-RSONSDNJ.cjs → partner-directory-runtime-AUHVA5Q3.cjs} +2 -2
- package/dist/{partner-directory-runtime-QURDOO4Z.js → partner-directory-runtime-GNVT7U7R.js} +1 -1
- package/dist/partner-directory.d-BCIjHoGs.d.cts +2337 -0
- package/dist/partner-directory.d-BCIjHoGs.d.ts +2337 -0
- package/docs/email-settings.md +80 -1
- package/docs/partner-directory.md +295 -127
- package/package.json +1 -1
- package/dist/email-settings-TQ5GGDYG.js +0 -7
- package/dist/email-settings-TQC34GST.cjs +0 -7
- package/dist/partner-directory-2XMPQWWX.js +0 -7
- package/dist/partner-directory-WHNTKQ5E.cjs +0 -7
- package/dist/partner-directory.d-CRNkDF8q.d.cts +0 -1510
- package/dist/partner-directory.d-CRNkDF8q.d.ts +0 -1510
package/dist/index.d.cts
CHANGED
|
@@ -19,7 +19,7 @@ import { C as Client$c } from './data-management.d-CkDmJwpx.cjs';
|
|
|
19
19
|
import { C as Client$d } from './deduplication.d-w_2aJD5f.cjs';
|
|
20
20
|
import { C as Client$e } from './design.d-eA-irKEX.cjs';
|
|
21
21
|
import { C as Client$f } from './document.d-DN37pjdx.cjs';
|
|
22
|
-
import { C as Client$g } from './email-settings.d-
|
|
22
|
+
import { C as Client$g } from './email-settings.d-DUvmLZMN.cjs';
|
|
23
23
|
import { C as Client$h } from './email-template.d-gtQkdaXM.cjs';
|
|
24
24
|
import { C as Client$i } from './entity.d-DtiajmaY.cjs';
|
|
25
25
|
import { C as Client$j } from './entity-mapping.d-DKSW3sfy.cjs';
|
|
@@ -35,7 +35,7 @@ import { C as Client$s } from './metering.d-DvtPv7wk.cjs';
|
|
|
35
35
|
import { C as Client$t } from './notes.d-BC-scR42.cjs';
|
|
36
36
|
import { C as Client$u } from './notification.d-BfBL3lga.cjs';
|
|
37
37
|
import { C as Client$v } from './organization.d-DqwnNxMg.cjs';
|
|
38
|
-
import { C as Client$w } from './partner-directory.d-
|
|
38
|
+
import { C as Client$w } from './partner-directory.d-BCIjHoGs.cjs';
|
|
39
39
|
import { C as Client$x } from './permissions.d-BHB1FFS5.cjs';
|
|
40
40
|
import { C as Client$y } from './pricing.d-Cv39plGm.cjs';
|
|
41
41
|
import { C as Client$z } from './pricing-tier.d-Cg0jl6n_.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ import { C as Client$c } from './data-management.d-CkDmJwpx.js';
|
|
|
19
19
|
import { C as Client$d } from './deduplication.d-w_2aJD5f.js';
|
|
20
20
|
import { C as Client$e } from './design.d-eA-irKEX.js';
|
|
21
21
|
import { C as Client$f } from './document.d-DN37pjdx.js';
|
|
22
|
-
import { C as Client$g } from './email-settings.d-
|
|
22
|
+
import { C as Client$g } from './email-settings.d-DUvmLZMN.js';
|
|
23
23
|
import { C as Client$h } from './email-template.d-gtQkdaXM.js';
|
|
24
24
|
import { C as Client$i } from './entity.d-DtiajmaY.js';
|
|
25
25
|
import { C as Client$j } from './entity-mapping.d-DKSW3sfy.js';
|
|
@@ -35,7 +35,7 @@ import { C as Client$s } from './metering.d-DvtPv7wk.js';
|
|
|
35
35
|
import { C as Client$t } from './notes.d-BC-scR42.js';
|
|
36
36
|
import { C as Client$u } from './notification.d-BfBL3lga.js';
|
|
37
37
|
import { C as Client$v } from './organization.d-DqwnNxMg.js';
|
|
38
|
-
import { C as Client$w } from './partner-directory.d-
|
|
38
|
+
import { C as Client$w } from './partner-directory.d-BCIjHoGs.js';
|
|
39
39
|
import { C as Client$x } from './permissions.d-BHB1FFS5.js';
|
|
40
40
|
import { C as Client$y } from './pricing.d-Cv39plGm.js';
|
|
41
41
|
import { C as Client$z } from './pricing-tier.d-Cg0jl6n_.js';
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
} from "./chunk-OEBV2PMV.js";
|
|
25
25
|
import {
|
|
26
26
|
require_partner_directory_runtime
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-I2XRA5AM.js";
|
|
28
28
|
import {
|
|
29
29
|
require_permissions_runtime
|
|
30
30
|
} from "./chunk-SITPUXIR.js";
|
|
@@ -72,7 +72,7 @@ import {
|
|
|
72
72
|
} from "./chunk-75EI2Q64.js";
|
|
73
73
|
import {
|
|
74
74
|
require_email_settings_runtime
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-3NLMZLCD.js";
|
|
76
76
|
import {
|
|
77
77
|
require_email_template_runtime
|
|
78
78
|
} from "./chunk-JJWJLY42.js";
|
|
@@ -143,7 +143,7 @@ import {
|
|
|
143
143
|
expand,
|
|
144
144
|
help,
|
|
145
145
|
openapi
|
|
146
|
-
} from "./chunk-
|
|
146
|
+
} from "./chunk-PDALFDYR.js";
|
|
147
147
|
import {
|
|
148
148
|
__require
|
|
149
149
|
} from "./chunk-YPSWSI3M.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
// ../../node_modules/js-yaml/dist/js-yaml.mjs
|
|
3
|
+
// ../../node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs
|
|
4
4
|
function isNothing(subject) {
|
|
5
5
|
return typeof subject === "undefined" || subject === null;
|
|
6
6
|
}
|
|
@@ -864,6 +864,18 @@ function charFromCodepoint(c) {
|
|
|
864
864
|
(c - 65536 & 1023) + 56320
|
|
865
865
|
);
|
|
866
866
|
}
|
|
867
|
+
function setProperty(object, key, value) {
|
|
868
|
+
if (key === "__proto__") {
|
|
869
|
+
Object.defineProperty(object, key, {
|
|
870
|
+
configurable: true,
|
|
871
|
+
enumerable: true,
|
|
872
|
+
writable: true,
|
|
873
|
+
value
|
|
874
|
+
});
|
|
875
|
+
} else {
|
|
876
|
+
object[key] = value;
|
|
877
|
+
}
|
|
878
|
+
}
|
|
867
879
|
var simpleEscapeCheck = new Array(256);
|
|
868
880
|
var simpleEscapeMap = new Array(256);
|
|
869
881
|
for (i = 0; i < 256; i++) {
|
|
@@ -983,7 +995,7 @@ function mergeMappings(state, destination, source, overridableKeys) {
|
|
|
983
995
|
for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {
|
|
984
996
|
key = sourceKeys[index];
|
|
985
997
|
if (!_hasOwnProperty$1.call(destination, key)) {
|
|
986
|
-
destination
|
|
998
|
+
setProperty(destination, key, source[key]);
|
|
987
999
|
overridableKeys[key] = true;
|
|
988
1000
|
}
|
|
989
1001
|
}
|
|
@@ -1023,16 +1035,7 @@ function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valu
|
|
|
1023
1035
|
state.position = startPos || state.position;
|
|
1024
1036
|
throwError(state, "duplicated mapping key");
|
|
1025
1037
|
}
|
|
1026
|
-
|
|
1027
|
-
Object.defineProperty(_result, keyNode, {
|
|
1028
|
-
configurable: true,
|
|
1029
|
-
enumerable: true,
|
|
1030
|
-
writable: true,
|
|
1031
|
-
value: valueNode
|
|
1032
|
-
});
|
|
1033
|
-
} else {
|
|
1034
|
-
_result[keyNode] = valueNode;
|
|
1035
|
-
}
|
|
1038
|
+
setProperty(_result, keyNode, valueNode);
|
|
1036
1039
|
delete overridableKeys[keyNode];
|
|
1037
1040
|
}
|
|
1038
1041
|
return _result;
|
|
@@ -2620,7 +2623,6 @@ var jsYaml = {
|
|
|
2620
2623
|
safeLoadAll,
|
|
2621
2624
|
safeDump
|
|
2622
2625
|
};
|
|
2623
|
-
var js_yaml_default = jsYaml;
|
|
2624
2626
|
export {
|
|
2625
2627
|
CORE_SCHEMA,
|
|
2626
2628
|
DEFAULT_SCHEMA,
|
|
@@ -2629,7 +2631,7 @@ export {
|
|
|
2629
2631
|
Schema,
|
|
2630
2632
|
Type,
|
|
2631
2633
|
YAMLException,
|
|
2632
|
-
|
|
2634
|
+
jsYaml as default,
|
|
2633
2635
|
dump,
|
|
2634
2636
|
load,
|
|
2635
2637
|
loadAll,
|
|
@@ -2641,5 +2643,5 @@ export {
|
|
|
2641
2643
|
/*! Bundled license information:
|
|
2642
2644
|
|
|
2643
2645
|
js-yaml/dist/js-yaml.mjs:
|
|
2644
|
-
(*! js-yaml 4.1.
|
|
2646
|
+
(*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT *)
|
|
2645
2647
|
*/
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "./chunk-YPSWSI3M.js";
|
|
2
|
+
|
|
3
|
+
// src/docs/partner-directory.json
|
|
4
|
+
var partner_directory_default = '# Partner Directory API\n\n- **Base URL:** `https://partner-directory-api.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/partner-directory](https://docs.epilot.io/api/partner-directory)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.partnerDirectory.approvePartner(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/partner-directory\'\n\nconst partnerDirectoryClient = getClient()\nauthorize(partnerDirectoryClient, () => \'<token>\')\nconst { data } = await partnerDirectoryClient.approvePartner(...)\n```\n\n## Operations\n\n**Partners**\n- [`approvePartner`](#approvepartner)\n- [`rejectPartner`](#rejectpartner)\n- [`searchAssignable`](#searchassignable)\n- [`batchGetAssignable`](#batchgetassignable)\n- [`getPartnerByToken`](#getpartnerbytoken)\n- [`activatePartner`](#activatepartner)\n- [`searchGeolocationForText`](#searchgeolocationfortext)\n- [`invitePartnerV2`](#invitepartnerv2)\n\n**Partner Users**\n- [`getPartnerUsers`](#getpartnerusers)\n- [`createPartnerUser`](#createpartneruser)\n- [`deletePartnerUser`](#deletepartneruser)\n- [`getPartnerRoles`](#getpartnerroles)\n- [`createPartnerRole`](#createpartnerrole)\n- [`updatePartnerRole`](#updatepartnerrole)\n- [`deletePartnerRole`](#deletepartnerrole)\n- [`assignPartnerUserRoles`](#assignpartneruserroles)\n- [`unassignPartnerUserRoles`](#unassignpartneruserroles)\n\n**Schemas**\n- [`InviteToken`](#invitetoken)\n- [`Partner`](#partner)\n- [`PartnerId`](#partnerid)\n- [`OrganizationId`](#organizationid)\n- [`ActivatePartnerPayload`](#activatepartnerpayload)\n- [`PartnerInvitationPayload`](#partnerinvitationpayload)\n- [`Assignable`](#assignable)\n- [`BaseAssignable`](#baseassignable)\n- [`AssignableUser`](#assignableuser)\n- [`AssignablePartnerUser`](#assignablepartneruser)\n- [`AssignableGroup`](#assignablegroup)\n- [`AssignableOrganization`](#assignableorganization)\n- [`AssignableEcpPlaceholder`](#assignableecpplaceholder)\n- [`SearchGeolocation`](#searchgeolocation)\n- [`Geolocation`](#geolocation)\n- [`Address`](#address)\n- [`AddressGeolocation`](#addressgeolocation)\n- [`PartnerUser`](#partneruser)\n- [`CreatePartnerUserPayload`](#createpartneruserpayload)\n- [`CreatePartnerRolePayload`](#createpartnerrolepayload)\n- [`UpdatePartnerRolePayload`](#updatepartnerrolepayload)\n- [`Grant`](#grant)\n- [`GrantWithDependencies`](#grantwithdependencies)\n- [`GrantCondition`](#grantcondition)\n- [`EqualsCondition`](#equalscondition)\n- [`RoleId`](#roleid)\n- [`BaseRoleForCreate`](#baseroleforcreate)\n- [`PartnerRole`](#partnerrole)\n- [`AssignRolesPayload`](#assignrolespayload)\n- [`User`](#user)\n\n### `approvePartner`\n\nApproves a pending partner request, allowing the partner to begin collaboration.\n\n`POST /v1/partners/{id}/approve`\n\n```ts\nconst { data } = await client.approvePartner({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "e45a6dc2-3795-43a3-ae0f-6b6760f310fc",\n "organization_id": "123",\n "created_at": "2022-02-08T04:44:32.246Z",\n "description": "Regional solar installation partner for Bavaria",\n "company_name": "Acme Solar GmbH",\n "invitation_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",\n "invitation_email": "user@example.com",\n "email": "contact@acme-solar.de",\n "owner_email": "owner@acme-solar.de",\n "signed_up_email": "admin@acme-solar.de",\n "partner_org_id": "456789",\n "status": "Pending"\n}\n```\n\n</details>\n\n---\n\n### `rejectPartner`\n\nRejects a pending partner request, declining the partnership.\n\n`POST /v1/partners/{id}/reject`\n\n```ts\nconst { data } = await client.rejectPartner({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "e45a6dc2-3795-43a3-ae0f-6b6760f310fc",\n "organization_id": "123",\n "created_at": "2022-02-08T04:44:32.246Z",\n "description": "Regional solar installation partner for Bavaria",\n "company_name": "Acme Solar GmbH",\n "invitation_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",\n "invitation_email": "user@example.com",\n "email": "contact@acme-solar.de",\n "owner_email": "owner@acme-solar.de",\n "signed_up_email": "admin@acme-solar.de",\n "partner_org_id": "456789",\n "status": "Pending"\n}\n```\n\n</details>\n\n---\n\n### `searchAssignable`\n\nSearch for users and organizations that can be assigned to tasks, workflows, or entities.\n\n`POST /v1/partners/assignables:search`\n\n```ts\nconst { data } = await client.searchAssignable(\n null,\n {\n q: \'john\',\n from: 0,\n size: 25,\n org_ids: [\'123\', \'456\'],\n portalUsersEntityIdScope: \'f7c22299-ca72-4bca-8538-0a88eeefc947\',\n types: [\'user\', \'partner_user\', \'partner_organization\', \'ecp\', \'group\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 42,\n "results": [\n {\n "type": "user",\n "display_name": "John Smith",\n "image_uri": {\n "original": "https://epilot-staging-user-content.s3.eu-central-1.amazonaws.com/728/8043d909-71fc-4838-a363-1b15dc1d585c/epilot.png",\n "thumbnail_32": "https://file.sls.epilot.io/v1/files/public/preview?w=32&h=32&key=/728/8043d909-71fc-4838-a363-1b15dc1d585c/epilot.png"\n },\n "org_id": "123",\n "created_at": "2022-02-08T04:44:32.246Z",\n "activated_at": "2022-02-08T04:44:32.246Z",\n "status": "Active",\n "user_id": "456",\n "email": "john.smith@example.com"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `batchGetAssignable`\n\nRetrieve multiple assignable users or groups by their IDs in a single request.\n\n`POST /v1/partners/assignables:batchGet`\n\n```ts\nconst { data } = await client.batchGetAssignable(\n null,\n [\n {\n user_id: \'456\',\n org_id: \'123\',\n group_id: \'group-789\'\n }\n ],\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 3,\n "results": [\n {\n "type": "user",\n "display_name": "John Smith",\n "image_uri": {\n "original": "https://epilot-staging-user-content.s3.eu-central-1.amazonaws.com/728/8043d909-71fc-4838-a363-1b15dc1d585c/epilot.png",\n "thumbnail_32": "https://file.sls.epilot.io/v1/files/public/preview?w=32&h=32&key=/728/8043d909-71fc-4838-a363-1b15dc1d585c/epilot.png"\n },\n "org_id": "123",\n "created_at": "2022-02-08T04:44:32.246Z",\n "activated_at": "2022-02-08T04:44:32.246Z",\n "status": "Active",\n "user_id": "456",\n "email": "john.smith@example.com"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getPartnerByToken`\n\nRetrieves partner information using an invitation token.\n\n`GET /v1/partner-directory/public/getPartnerByToken`\n\n```ts\nconst { data } = await client.getPartnerByToken({\n token: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "e45a6dc2-3795-43a3-ae0f-6b6760f310fc",\n "organization_id": "123",\n "created_at": "2022-02-08T04:44:32.246Z",\n "description": "Regional solar installation partner for Bavaria",\n "company_name": "Acme Solar GmbH",\n "invitation_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",\n "invitation_email": "user@example.com",\n "email": "contact@acme-solar.de",\n "owner_email": "owner@acme-solar.de",\n "signed_up_email": "admin@acme-solar.de",\n "partner_org_id": "456789",\n "status": "Pending"\n}\n```\n\n</details>\n\n---\n\n### `activatePartner`\n\nActivates a partner account using an invitation token.\n\n`POST /v1/partner-directory/public/activate`\n\n```ts\nconst { data } = await client.activatePartner(\n {\n token: \'example\',\n },\n {\n company_name: \'Acme Solar GmbH\',\n signed_up_email: \'admin@acme-solar.de\',\n organization_id: \'456\'\n },\n)\n```\n\n---\n\n### `searchGeolocationForText`\n\nConverts an address string to geographic coordinates (latitude and longitude).\n\n`POST /v1/geolocation/text:search`\n\n```ts\nconst { data } = await client.searchGeolocationForText(\n null,\n {\n address: \'Auweg 1, 93055 Regensburg, DE\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "lat": 49.013,\n "lng": 12.101,\n "addressLabel": "Auweg 1, 93055 Regensburg, Germany",\n "relevance": 0.95\n}\n```\n\n</details>\n\n---\n\n### `invitePartnerV2`\n\nSends an invitation email to a partner organization to begin collaboration.\n\n`POST /v2/partners/{id}/invite`\n\n```ts\nconst { data } = await client.invitePartnerV2(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n language: \'de\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "e45a6dc2-3795-43a3-ae0f-6b6760f310fc",\n "organization_id": "123",\n "created_at": "2022-02-08T04:44:32.246Z",\n "description": "Regional solar installation partner for Bavaria",\n "company_name": "Acme Solar GmbH",\n "invitation_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",\n "invitation_email": "user@example.com",\n "email": "contact@acme-solar.de",\n "owner_email": "owner@acme-solar.de",\n "signed_up_email": "admin@acme-solar.de",\n "partner_org_id": "456789",\n "status": "Pending"\n}\n```\n\n</details>\n\n---\n\n### `getPartnerUsers`\n\nRetrieves all users belonging to a partner organization along with their assigned roles.\n\n`GET /v2/partners/{orgId}/users`\n\n```ts\nconst { data } = await client.getPartnerUsers({\n orgId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "456",\n "name": "John Doe",\n "email": "user@partner.com",\n "status": "Active",\n "image": {\n "original": "https://example.com/path",\n "thumbnail_32": "https://example.com/path"\n },\n "roles": [\n {\n "id": "123:partner_admin",\n "slug": "partner_admin",\n "name": "Partner Administrator"\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createPartnerUser`\n\nCreates a new user in a partner organization.\n\n`POST /v2/partners/{orgId}/users`\n\n```ts\nconst { data } = await client.createPartnerUser(\n {\n orgId: \'example\',\n },\n {\n email: \'newuser@partner.com\',\n language: \'de\',\n roles: [\'123:partner_viewer\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "456",\n "email": "user@example.com",\n "display_name": "John Doe",\n "status": "Active"\n}\n```\n\n</details>\n\n---\n\n### `deletePartnerUser`\n\nRemoves a user from a partner organization.\n\n`DELETE /v2/partners/{orgId}/users/{userId}`\n\n```ts\nconst { data } = await client.deletePartnerUser({\n orgId: \'example\',\n userId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{}\n```\n\n</details>\n\n---\n\n### `getPartnerRoles`\n\nRetrieves all roles defined for a partner organization.\n\n`GET /v2/partners/{orgId}/roles`\n\n```ts\nconst { data } = await client.getPartnerRoles({\n orgId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "123:partner_admin",\n "slug": "partner_admin",\n "name": "Partner Administrator",\n "type": "share_role",\n "grants": [\n {\n "action": "entity-read",\n "resource": "entity:123:contact:*",\n "effect": "allow",\n "conditions": [\n {\n "attribute": "workflows.primary.task_name",\n "operation": "equals",\n "values": ["Qualification"]\n }\n ]\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createPartnerRole`\n\nCreates a new role for a partner organization.\n\n`POST /v2/partners/{orgId}/roles`\n\n```ts\nconst { data } = await client.createPartnerRole(\n {\n orgId: \'example\',\n },\n {\n name: \'Partner Administrator\',\n slug: \'partner_admin\',\n grants: [\n {\n action: \'entity-read\',\n resource: \'entity:123:contact:*\',\n effect: \'allow\',\n conditions: [\n {\n attribute: \'workflows.primary.task_name\',\n operation: \'equals\',\n values: [\'Qualification\']\n }\n ],\n dependencies: [\n {\n action: \'entity-read\',\n resource: \'entity:123:contact:*\',\n effect: \'allow\',\n conditions: [\n {\n attribute: \'workflows.primary.task_name\',\n operation: \'equals\',\n values: [\'Qualification\']\n }\n ]\n }\n ]\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "123:partner_admin",\n "slug": "partner_admin",\n "name": "Partner Administrator",\n "type": "share_role",\n "grants": [\n {\n "action": "entity-read",\n "resource": "entity:123:contact:*",\n "effect": "allow",\n "conditions": [\n {\n "attribute": "workflows.primary.task_name",\n "operation": "equals",\n "values": ["Qualification"]\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `updatePartnerRole`\n\nUpdates an existing role in a partner organization.\n\n`PUT /v2/partners/{orgId}/roles/{roleId}`\n\n```ts\nconst { data } = await client.updatePartnerRole(\n {\n orgId: \'example\',\n roleId: \'example\',\n },\n {\n grants: [\n {\n action: \'entity-read\',\n resource: \'entity:123:contact:*\',\n effect: \'allow\',\n conditions: [\n {\n attribute: \'workflows.primary.task_name\',\n operation: \'equals\',\n values: [\'Qualification\']\n }\n ],\n dependencies: [\n {\n action: \'entity-read\',\n resource: \'entity:123:contact:*\',\n effect: \'allow\',\n conditions: [\n {\n attribute: \'workflows.primary.task_name\',\n operation: \'equals\',\n values: [\'Qualification\']\n }\n ]\n }\n ]\n }\n ],\n id: \'123:owner\',\n name: \'Owner\',\n slug: \'owner\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "123:partner_admin",\n "slug": "partner_admin",\n "name": "Partner Administrator",\n "type": "share_role",\n "grants": [\n {\n "action": "entity-read",\n "resource": "entity:123:contact:*",\n "effect": "allow",\n "conditions": [\n {\n "attribute": "workflows.primary.task_name",\n "operation": "equals",\n "values": ["Qualification"]\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `deletePartnerRole`\n\nDelete a role from a partner organization\n\n`DELETE /v2/partners/{orgId}/roles/{roleId}`\n\n```ts\nconst { data } = await client.deletePartnerRole({\n orgId: \'example\',\n roleId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "123:partner_admin",\n "slug": "partner_admin",\n "name": "Partner Administrator",\n "type": "share_role",\n "grants": [\n {\n "action": "entity-read",\n "resource": "entity:123:contact:*",\n "effect": "allow",\n "conditions": [\n {\n "attribute": "workflows.primary.task_name",\n "operation": "equals",\n "values": ["Qualification"]\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `assignPartnerUserRoles`\n\nAssigns one or more roles to a user in a partner organization.\n\n`POST /v2/partners/{orgId}/users/{userId}/roles`\n\n```ts\nconst { data } = await client.assignPartnerUserRoles(\n {\n orgId: \'example\',\n userId: \'example\',\n },\n {\n roleIds: [\'123:partner_admin\', \'123:partner_viewer\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "roleId": "string",\n "success": true,\n "data": {},\n "error": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `unassignPartnerUserRoles`\n\nRemoves one or more roles from a user in a partner organization.\n\n`DELETE /v2/partners/{orgId}/users/{userId}/roles`\n\n```ts\nconst { data } = await client.unassignPartnerUserRoles(\n {\n orgId: \'example\',\n userId: \'example\',\n },\n {\n roleIds: [\'123:partner_admin\', \'123:partner_viewer\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "roleId": "string",\n "success": true,\n "data": {},\n "error": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `InviteToken`\n\nA secure token used for partner invitation and activation. Sent via email to the invited partner.\n\n```ts\ntype InviteToken = string\n```\n\n### `Partner`\n\nRepresents a partner organization in the partner directory.\n\nPartners go through a lifecycle from invitation to active collaboration:\n- **Pending**: Initial state when partner record is created\n- **Invited**: Invitation email has been sent to the partner\n- **Request**: Partner has requested to join \n\n```ts\ntype Partner = {\n id?: string\n organization_id?: string\n created_at?: string // date-time\n description?: string\n company_name?: string\n invitation_token?: string\n invitation_email?: string // email\n email?: string // email\n owner_email?: string // email\n signed_up_email?: string // email\n partner_org_id?: string\n status?: "Pending" | "Request" | "Deleted" | "Invited" | "Rejected"\n}\n```\n\n### `PartnerId`\n\nUnique identifier for a partner record (UUID format)\n\n```ts\ntype PartnerId = string\n```\n\n### `OrganizationId`\n\nUnique identifier for an organization in the epilot platform\n\n```ts\ntype OrganizationId = string\n```\n\n### `ActivatePartnerPayload`\n\nPayload for activating a partner account using an invitation token\n\n```ts\ntype ActivatePartnerPayload = {\n company_name?: string\n signed_up_email: string // email\n organization_id: string\n}\n```\n\n### `PartnerInvitationPayload`\n\nConfiguration options for sending a partner invitation\n\n```ts\ntype PartnerInvitationPayload = {\n language?: "en" | "de"\n}\n```\n\n### `Assignable`\n\nA user, organization, or group that can be assigned to tasks, workflows, or entities.\nThe `type` field discriminates between different assignable types.\n\n\n```ts\ntype Assignable = {\n type: "user"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n user_id?: string\n email?: string // email\n} | {\n type: "partner_user"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n partner_id?: string\n user_id?: string\n email?: string // email\n} | {\n type: "partner_organization"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n partner_id: string\n email?: string // email\n geolocations?: Array<{\n address?: {\n street?: { ... }\n street_number?: { ... }\n city?: { ... }\n postal_code?: { ... }\n country?: { ... }\n }\n lat: number\n lng: number\n addressLabel?: string\n relevance?: number\n }>\n phone?: string\n activity_radius?: number\n} | {\n type: "ecp"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n user_id: string\n email?: string // email\n} | {\n type: "group"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n group_id?: string\n}\n```\n\n### `BaseAssignable`\n\nCommon properties shared by all assignable types\n\n```ts\ntype BaseAssignable = {\n type: string\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n}\n```\n\n### `AssignableUser`\n\nA user within the caller\'s organization that can be assigned to tasks or entities\n\n```ts\ntype AssignableUser = {\n type: "user"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n user_id?: string\n email?: string // email\n}\n```\n\n### `AssignablePartnerUser`\n\nA user from a partner organization that can be assigned to shared tasks or entities\n\n```ts\ntype AssignablePartnerUser = {\n type: "partner_user"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n partner_id?: string\n user_id?: string\n email?: string // email\n}\n```\n\n### `AssignableGroup`\n\nA user group that can be assigned to tasks or entities. All members of the group will be notified/assigned.\n\n```ts\ntype AssignableGroup = {\n type: "group"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n group_id?: string\n}\n```\n\n### `AssignableOrganization`\n\nA partner organization that can be assigned to tasks or entities at the organization level.\nUseful when you want to assign work to a partner company rather than a specific individual.\n\n\n```ts\ntype AssignableOrganization = {\n type: "partner_organization"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n partner_id: string\n email?: string // email\n geolocations?: Array<{\n address?: {\n street?: { ... }\n street_number?: { ... }\n city?: { ... }\n postal_code?: { ... }\n country?: { ... }\n }\n lat: number\n lng: number\n addressLabel?: string\n relevance?: number\n }>\n phone?: string\n activity_radius?: number\n}\n```\n\n### `AssignableEcpPlaceholder`\n\nAn End Customer Portal (ECP) user that can be assigned to tasks or entities.\nThese are external users who access the system through the customer portal.\n\n\n```ts\ntype AssignableEcpPlaceholder = {\n type: "ecp"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n user_id: string\n email?: string // email\n}\n```\n\n### `SearchGeolocation`\n\nRequest payload for geocoding an address to coordinates\n\n```ts\ntype SearchGeolocation = {\n address: string\n}\n```\n\n### `Geolocation`\n\nGeographic coordinates with optional metadata\n\n```ts\ntype Geolocation = {\n lat: number\n lng: number\n addressLabel?: string\n relevance?: number\n}\n```\n\n### `Address`\n\nStructured postal address\n\n```ts\ntype Address = {\n street?: string\n street_number?: string\n city?: string\n postal_code?: string\n country?: string\n}\n```\n\n### `AddressGeolocation`\n\nCombined address and geographic coordinates for a location\n\n```ts\ntype AddressGeolocation = {\n address?: {\n street?: string\n street_number?: string\n city?: string\n postal_code?: string\n country?: string\n }\n lat: number\n lng: number\n addressLabel?: string\n relevance?: number\n}\n```\n\n### `PartnerUser`\n\nA user within a partner organization, including their assigned roles\n\n```ts\ntype PartnerUser = {\n id: string\n name?: string\n email: string // email\n status: string\n image?: {\n original?: string // uri\n thumbnail_32?: string // uri\n }\n roles: Array<{\n id: string\n slug: string\n name: string\n }>\n}\n```\n\n### `CreatePartnerUserPayload`\n\nRequest payload for creating a new user in a partner organization\n\n```ts\ntype CreatePartnerUserPayload = {\n email: string // email\n language?: "en" | "de"\n roles?: string[]\n}\n```\n\n### `CreatePartnerRolePayload`\n\nRequest payload for creating a new role in a partner organization\n\n```ts\ntype CreatePartnerRolePayload = {\n name: string\n slug: string\n grants: Array<{\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n dependencies?: Array<{\n action: { ... }\n resource?: { ... }\n effect?: { ... }\n conditions?: { ... }\n }>\n }>\n}\n```\n\n### `UpdatePartnerRolePayload`\n\nRequest payload for updating an existing role in a partner organization\n\n```ts\ntype UpdatePartnerRolePayload = {\n grants: Array<{\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n }>\n id?: string\n name: string\n slug: string\n}\n```\n\n### `Grant`\n\nA permission grant that allows or denies a specific action on a resource.\n\nGrants are the building blocks of roles and define what users can do within the system.\n\n\n```ts\ntype Grant = {\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n}\n```\n\n### `GrantWithDependencies`\n\nA grant with optional dependent grants that are automatically included when this grant is assigned\n\n```ts\ntype GrantWithDependencies = {\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n dependencies?: Array<{\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n }>\n}\n```\n\n### `GrantCondition`\n\nAn additional condition that must be met for a grant to apply.\nConditions allow fine-grained control over when permissions are active.\n\n\n```ts\ntype GrantCondition = object\n```\n\n### `EqualsCondition`\n\nA condition that checks if an attribute equals one of the specified values.\nThe grant only applies when the condition is satisfied.\n\n\n```ts\ntype EqualsCondition = {\n attribute: string\n operation: "equals"\n values: string[]\n}\n```\n\n### `RoleId`\n\nUnique identifier for a role, combining organization ID and role slug.\nFormat: `<organization_id>`:`<slug>`\n\n\n```ts\ntype RoleId = string\n```\n\n### `BaseRoleForCreate`\n\nBase schema for creating or updating a role\n\n```ts\ntype BaseRoleForCreate = {\n id?: string\n name: string\n slug: string\n grants: Array<{\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n }>\n}\n```\n\n### `PartnerRole`\n\nA role definition for users in a partner organization\n\n```ts\ntype PartnerRole = {\n id: string\n slug: string\n name: string\n type?: string\n grants: Array<{\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n }>\n}\n```\n\n### `AssignRolesPayload`\n\nRequest payload for assigning or unassigning roles to/from a user\n\n```ts\ntype AssignRolesPayload = {\n roleIds: string[]\n}\n```\n\n### `User`\n\nA user account in the epilot platform\n\n```ts\ntype User = {\n id?: string\n email?: string // email\n display_name?: string\n status?: "Active" | "Pending" | "Deactivated"\n}\n```\n';
|
|
5
|
+
export {
|
|
6
|
+
partner_directory_default as default
|
|
7
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
|
|
2
|
+
|
|
3
|
+
// src/docs/partner-directory.json
|
|
4
|
+
var partner_directory_default = '# Partner Directory API\n\n- **Base URL:** `https://partner-directory-api.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/partner-directory](https://docs.epilot.io/api/partner-directory)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.partnerDirectory.approvePartner(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/partner-directory\'\n\nconst partnerDirectoryClient = getClient()\nauthorize(partnerDirectoryClient, () => \'<token>\')\nconst { data } = await partnerDirectoryClient.approvePartner(...)\n```\n\n## Operations\n\n**Partners**\n- [`approvePartner`](#approvepartner)\n- [`rejectPartner`](#rejectpartner)\n- [`searchAssignable`](#searchassignable)\n- [`batchGetAssignable`](#batchgetassignable)\n- [`getPartnerByToken`](#getpartnerbytoken)\n- [`activatePartner`](#activatepartner)\n- [`searchGeolocationForText`](#searchgeolocationfortext)\n- [`invitePartnerV2`](#invitepartnerv2)\n\n**Partner Users**\n- [`getPartnerUsers`](#getpartnerusers)\n- [`createPartnerUser`](#createpartneruser)\n- [`deletePartnerUser`](#deletepartneruser)\n- [`getPartnerRoles`](#getpartnerroles)\n- [`createPartnerRole`](#createpartnerrole)\n- [`updatePartnerRole`](#updatepartnerrole)\n- [`deletePartnerRole`](#deletepartnerrole)\n- [`assignPartnerUserRoles`](#assignpartneruserroles)\n- [`unassignPartnerUserRoles`](#unassignpartneruserroles)\n\n**Schemas**\n- [`InviteToken`](#invitetoken)\n- [`Partner`](#partner)\n- [`PartnerId`](#partnerid)\n- [`OrganizationId`](#organizationid)\n- [`ActivatePartnerPayload`](#activatepartnerpayload)\n- [`PartnerInvitationPayload`](#partnerinvitationpayload)\n- [`Assignable`](#assignable)\n- [`BaseAssignable`](#baseassignable)\n- [`AssignableUser`](#assignableuser)\n- [`AssignablePartnerUser`](#assignablepartneruser)\n- [`AssignableGroup`](#assignablegroup)\n- [`AssignableOrganization`](#assignableorganization)\n- [`AssignableEcpPlaceholder`](#assignableecpplaceholder)\n- [`SearchGeolocation`](#searchgeolocation)\n- [`Geolocation`](#geolocation)\n- [`Address`](#address)\n- [`AddressGeolocation`](#addressgeolocation)\n- [`PartnerUser`](#partneruser)\n- [`CreatePartnerUserPayload`](#createpartneruserpayload)\n- [`CreatePartnerRolePayload`](#createpartnerrolepayload)\n- [`UpdatePartnerRolePayload`](#updatepartnerrolepayload)\n- [`Grant`](#grant)\n- [`GrantWithDependencies`](#grantwithdependencies)\n- [`GrantCondition`](#grantcondition)\n- [`EqualsCondition`](#equalscondition)\n- [`RoleId`](#roleid)\n- [`BaseRoleForCreate`](#baseroleforcreate)\n- [`PartnerRole`](#partnerrole)\n- [`AssignRolesPayload`](#assignrolespayload)\n- [`User`](#user)\n\n### `approvePartner`\n\nApproves a pending partner request, allowing the partner to begin collaboration.\n\n`POST /v1/partners/{id}/approve`\n\n```ts\nconst { data } = await client.approvePartner({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "e45a6dc2-3795-43a3-ae0f-6b6760f310fc",\n "organization_id": "123",\n "created_at": "2022-02-08T04:44:32.246Z",\n "description": "Regional solar installation partner for Bavaria",\n "company_name": "Acme Solar GmbH",\n "invitation_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",\n "invitation_email": "user@example.com",\n "email": "contact@acme-solar.de",\n "owner_email": "owner@acme-solar.de",\n "signed_up_email": "admin@acme-solar.de",\n "partner_org_id": "456789",\n "status": "Pending"\n}\n```\n\n</details>\n\n---\n\n### `rejectPartner`\n\nRejects a pending partner request, declining the partnership.\n\n`POST /v1/partners/{id}/reject`\n\n```ts\nconst { data } = await client.rejectPartner({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "e45a6dc2-3795-43a3-ae0f-6b6760f310fc",\n "organization_id": "123",\n "created_at": "2022-02-08T04:44:32.246Z",\n "description": "Regional solar installation partner for Bavaria",\n "company_name": "Acme Solar GmbH",\n "invitation_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",\n "invitation_email": "user@example.com",\n "email": "contact@acme-solar.de",\n "owner_email": "owner@acme-solar.de",\n "signed_up_email": "admin@acme-solar.de",\n "partner_org_id": "456789",\n "status": "Pending"\n}\n```\n\n</details>\n\n---\n\n### `searchAssignable`\n\nSearch for users and organizations that can be assigned to tasks, workflows, or entities.\n\n`POST /v1/partners/assignables:search`\n\n```ts\nconst { data } = await client.searchAssignable(\n null,\n {\n q: \'john\',\n from: 0,\n size: 25,\n org_ids: [\'123\', \'456\'],\n portalUsersEntityIdScope: \'f7c22299-ca72-4bca-8538-0a88eeefc947\',\n types: [\'user\', \'partner_user\', \'partner_organization\', \'ecp\', \'group\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 42,\n "results": [\n {\n "type": "user",\n "display_name": "John Smith",\n "image_uri": {\n "original": "https://epilot-staging-user-content.s3.eu-central-1.amazonaws.com/728/8043d909-71fc-4838-a363-1b15dc1d585c/epilot.png",\n "thumbnail_32": "https://file.sls.epilot.io/v1/files/public/preview?w=32&h=32&key=/728/8043d909-71fc-4838-a363-1b15dc1d585c/epilot.png"\n },\n "org_id": "123",\n "created_at": "2022-02-08T04:44:32.246Z",\n "activated_at": "2022-02-08T04:44:32.246Z",\n "status": "Active",\n "user_id": "456",\n "email": "john.smith@example.com"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `batchGetAssignable`\n\nRetrieve multiple assignable users or groups by their IDs in a single request.\n\n`POST /v1/partners/assignables:batchGet`\n\n```ts\nconst { data } = await client.batchGetAssignable(\n null,\n [\n {\n user_id: \'456\',\n org_id: \'123\',\n group_id: \'group-789\'\n }\n ],\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 3,\n "results": [\n {\n "type": "user",\n "display_name": "John Smith",\n "image_uri": {\n "original": "https://epilot-staging-user-content.s3.eu-central-1.amazonaws.com/728/8043d909-71fc-4838-a363-1b15dc1d585c/epilot.png",\n "thumbnail_32": "https://file.sls.epilot.io/v1/files/public/preview?w=32&h=32&key=/728/8043d909-71fc-4838-a363-1b15dc1d585c/epilot.png"\n },\n "org_id": "123",\n "created_at": "2022-02-08T04:44:32.246Z",\n "activated_at": "2022-02-08T04:44:32.246Z",\n "status": "Active",\n "user_id": "456",\n "email": "john.smith@example.com"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getPartnerByToken`\n\nRetrieves partner information using an invitation token.\n\n`GET /v1/partner-directory/public/getPartnerByToken`\n\n```ts\nconst { data } = await client.getPartnerByToken({\n token: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "e45a6dc2-3795-43a3-ae0f-6b6760f310fc",\n "organization_id": "123",\n "created_at": "2022-02-08T04:44:32.246Z",\n "description": "Regional solar installation partner for Bavaria",\n "company_name": "Acme Solar GmbH",\n "invitation_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",\n "invitation_email": "user@example.com",\n "email": "contact@acme-solar.de",\n "owner_email": "owner@acme-solar.de",\n "signed_up_email": "admin@acme-solar.de",\n "partner_org_id": "456789",\n "status": "Pending"\n}\n```\n\n</details>\n\n---\n\n### `activatePartner`\n\nActivates a partner account using an invitation token.\n\n`POST /v1/partner-directory/public/activate`\n\n```ts\nconst { data } = await client.activatePartner(\n {\n token: \'example\',\n },\n {\n company_name: \'Acme Solar GmbH\',\n signed_up_email: \'admin@acme-solar.de\',\n organization_id: \'456\'\n },\n)\n```\n\n---\n\n### `searchGeolocationForText`\n\nConverts an address string to geographic coordinates (latitude and longitude).\n\n`POST /v1/geolocation/text:search`\n\n```ts\nconst { data } = await client.searchGeolocationForText(\n null,\n {\n address: \'Auweg 1, 93055 Regensburg, DE\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "lat": 49.013,\n "lng": 12.101,\n "addressLabel": "Auweg 1, 93055 Regensburg, Germany",\n "relevance": 0.95\n}\n```\n\n</details>\n\n---\n\n### `invitePartnerV2`\n\nSends an invitation email to a partner organization to begin collaboration.\n\n`POST /v2/partners/{id}/invite`\n\n```ts\nconst { data } = await client.invitePartnerV2(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n language: \'de\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "e45a6dc2-3795-43a3-ae0f-6b6760f310fc",\n "organization_id": "123",\n "created_at": "2022-02-08T04:44:32.246Z",\n "description": "Regional solar installation partner for Bavaria",\n "company_name": "Acme Solar GmbH",\n "invitation_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",\n "invitation_email": "user@example.com",\n "email": "contact@acme-solar.de",\n "owner_email": "owner@acme-solar.de",\n "signed_up_email": "admin@acme-solar.de",\n "partner_org_id": "456789",\n "status": "Pending"\n}\n```\n\n</details>\n\n---\n\n### `getPartnerUsers`\n\nRetrieves all users belonging to a partner organization along with their assigned roles.\n\n`GET /v2/partners/{orgId}/users`\n\n```ts\nconst { data } = await client.getPartnerUsers({\n orgId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "456",\n "name": "John Doe",\n "email": "user@partner.com",\n "status": "Active",\n "image": {\n "original": "https://example.com/path",\n "thumbnail_32": "https://example.com/path"\n },\n "roles": [\n {\n "id": "123:partner_admin",\n "slug": "partner_admin",\n "name": "Partner Administrator"\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createPartnerUser`\n\nCreates a new user in a partner organization.\n\n`POST /v2/partners/{orgId}/users`\n\n```ts\nconst { data } = await client.createPartnerUser(\n {\n orgId: \'example\',\n },\n {\n email: \'newuser@partner.com\',\n language: \'de\',\n roles: [\'123:partner_viewer\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "456",\n "email": "user@example.com",\n "display_name": "John Doe",\n "status": "Active"\n}\n```\n\n</details>\n\n---\n\n### `deletePartnerUser`\n\nRemoves a user from a partner organization.\n\n`DELETE /v2/partners/{orgId}/users/{userId}`\n\n```ts\nconst { data } = await client.deletePartnerUser({\n orgId: \'example\',\n userId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{}\n```\n\n</details>\n\n---\n\n### `getPartnerRoles`\n\nRetrieves all roles defined for a partner organization.\n\n`GET /v2/partners/{orgId}/roles`\n\n```ts\nconst { data } = await client.getPartnerRoles({\n orgId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "123:partner_admin",\n "slug": "partner_admin",\n "name": "Partner Administrator",\n "type": "share_role",\n "grants": [\n {\n "action": "entity-read",\n "resource": "entity:123:contact:*",\n "effect": "allow",\n "conditions": [\n {\n "attribute": "workflows.primary.task_name",\n "operation": "equals",\n "values": ["Qualification"]\n }\n ]\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createPartnerRole`\n\nCreates a new role for a partner organization.\n\n`POST /v2/partners/{orgId}/roles`\n\n```ts\nconst { data } = await client.createPartnerRole(\n {\n orgId: \'example\',\n },\n {\n name: \'Partner Administrator\',\n slug: \'partner_admin\',\n grants: [\n {\n action: \'entity-read\',\n resource: \'entity:123:contact:*\',\n effect: \'allow\',\n conditions: [\n {\n attribute: \'workflows.primary.task_name\',\n operation: \'equals\',\n values: [\'Qualification\']\n }\n ],\n dependencies: [\n {\n action: \'entity-read\',\n resource: \'entity:123:contact:*\',\n effect: \'allow\',\n conditions: [\n {\n attribute: \'workflows.primary.task_name\',\n operation: \'equals\',\n values: [\'Qualification\']\n }\n ]\n }\n ]\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "123:partner_admin",\n "slug": "partner_admin",\n "name": "Partner Administrator",\n "type": "share_role",\n "grants": [\n {\n "action": "entity-read",\n "resource": "entity:123:contact:*",\n "effect": "allow",\n "conditions": [\n {\n "attribute": "workflows.primary.task_name",\n "operation": "equals",\n "values": ["Qualification"]\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `updatePartnerRole`\n\nUpdates an existing role in a partner organization.\n\n`PUT /v2/partners/{orgId}/roles/{roleId}`\n\n```ts\nconst { data } = await client.updatePartnerRole(\n {\n orgId: \'example\',\n roleId: \'example\',\n },\n {\n grants: [\n {\n action: \'entity-read\',\n resource: \'entity:123:contact:*\',\n effect: \'allow\',\n conditions: [\n {\n attribute: \'workflows.primary.task_name\',\n operation: \'equals\',\n values: [\'Qualification\']\n }\n ],\n dependencies: [\n {\n action: \'entity-read\',\n resource: \'entity:123:contact:*\',\n effect: \'allow\',\n conditions: [\n {\n attribute: \'workflows.primary.task_name\',\n operation: \'equals\',\n values: [\'Qualification\']\n }\n ]\n }\n ]\n }\n ],\n id: \'123:owner\',\n name: \'Owner\',\n slug: \'owner\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "123:partner_admin",\n "slug": "partner_admin",\n "name": "Partner Administrator",\n "type": "share_role",\n "grants": [\n {\n "action": "entity-read",\n "resource": "entity:123:contact:*",\n "effect": "allow",\n "conditions": [\n {\n "attribute": "workflows.primary.task_name",\n "operation": "equals",\n "values": ["Qualification"]\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `deletePartnerRole`\n\nDelete a role from a partner organization\n\n`DELETE /v2/partners/{orgId}/roles/{roleId}`\n\n```ts\nconst { data } = await client.deletePartnerRole({\n orgId: \'example\',\n roleId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "123:partner_admin",\n "slug": "partner_admin",\n "name": "Partner Administrator",\n "type": "share_role",\n "grants": [\n {\n "action": "entity-read",\n "resource": "entity:123:contact:*",\n "effect": "allow",\n "conditions": [\n {\n "attribute": "workflows.primary.task_name",\n "operation": "equals",\n "values": ["Qualification"]\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `assignPartnerUserRoles`\n\nAssigns one or more roles to a user in a partner organization.\n\n`POST /v2/partners/{orgId}/users/{userId}/roles`\n\n```ts\nconst { data } = await client.assignPartnerUserRoles(\n {\n orgId: \'example\',\n userId: \'example\',\n },\n {\n roleIds: [\'123:partner_admin\', \'123:partner_viewer\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "roleId": "string",\n "success": true,\n "data": {},\n "error": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `unassignPartnerUserRoles`\n\nRemoves one or more roles from a user in a partner organization.\n\n`DELETE /v2/partners/{orgId}/users/{userId}/roles`\n\n```ts\nconst { data } = await client.unassignPartnerUserRoles(\n {\n orgId: \'example\',\n userId: \'example\',\n },\n {\n roleIds: [\'123:partner_admin\', \'123:partner_viewer\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "roleId": "string",\n "success": true,\n "data": {},\n "error": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `InviteToken`\n\nA secure token used for partner invitation and activation. Sent via email to the invited partner.\n\n```ts\ntype InviteToken = string\n```\n\n### `Partner`\n\nRepresents a partner organization in the partner directory.\n\nPartners go through a lifecycle from invitation to active collaboration:\n- **Pending**: Initial state when partner record is created\n- **Invited**: Invitation email has been sent to the partner\n- **Request**: Partner has requested to join \n\n```ts\ntype Partner = {\n id?: string\n organization_id?: string\n created_at?: string // date-time\n description?: string\n company_name?: string\n invitation_token?: string\n invitation_email?: string // email\n email?: string // email\n owner_email?: string // email\n signed_up_email?: string // email\n partner_org_id?: string\n status?: "Pending" | "Request" | "Deleted" | "Invited" | "Rejected"\n}\n```\n\n### `PartnerId`\n\nUnique identifier for a partner record (UUID format)\n\n```ts\ntype PartnerId = string\n```\n\n### `OrganizationId`\n\nUnique identifier for an organization in the epilot platform\n\n```ts\ntype OrganizationId = string\n```\n\n### `ActivatePartnerPayload`\n\nPayload for activating a partner account using an invitation token\n\n```ts\ntype ActivatePartnerPayload = {\n company_name?: string\n signed_up_email: string // email\n organization_id: string\n}\n```\n\n### `PartnerInvitationPayload`\n\nConfiguration options for sending a partner invitation\n\n```ts\ntype PartnerInvitationPayload = {\n language?: "en" | "de"\n}\n```\n\n### `Assignable`\n\nA user, organization, or group that can be assigned to tasks, workflows, or entities.\nThe `type` field discriminates between different assignable types.\n\n\n```ts\ntype Assignable = {\n type: "user"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n user_id?: string\n email?: string // email\n} | {\n type: "partner_user"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n partner_id?: string\n user_id?: string\n email?: string // email\n} | {\n type: "partner_organization"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n partner_id: string\n email?: string // email\n geolocations?: Array<{\n address?: {\n street?: { ... }\n street_number?: { ... }\n city?: { ... }\n postal_code?: { ... }\n country?: { ... }\n }\n lat: number\n lng: number\n addressLabel?: string\n relevance?: number\n }>\n phone?: string\n activity_radius?: number\n} | {\n type: "ecp"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n user_id: string\n email?: string // email\n} | {\n type: "group"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n group_id?: string\n}\n```\n\n### `BaseAssignable`\n\nCommon properties shared by all assignable types\n\n```ts\ntype BaseAssignable = {\n type: string\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n}\n```\n\n### `AssignableUser`\n\nA user within the caller\'s organization that can be assigned to tasks or entities\n\n```ts\ntype AssignableUser = {\n type: "user"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n user_id?: string\n email?: string // email\n}\n```\n\n### `AssignablePartnerUser`\n\nA user from a partner organization that can be assigned to shared tasks or entities\n\n```ts\ntype AssignablePartnerUser = {\n type: "partner_user"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n partner_id?: string\n user_id?: string\n email?: string // email\n}\n```\n\n### `AssignableGroup`\n\nA user group that can be assigned to tasks or entities. All members of the group will be notified/assigned.\n\n```ts\ntype AssignableGroup = {\n type: "group"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n group_id?: string\n}\n```\n\n### `AssignableOrganization`\n\nA partner organization that can be assigned to tasks or entities at the organization level.\nUseful when you want to assign work to a partner company rather than a specific individual.\n\n\n```ts\ntype AssignableOrganization = {\n type: "partner_organization"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n partner_id: string\n email?: string // email\n geolocations?: Array<{\n address?: {\n street?: { ... }\n street_number?: { ... }\n city?: { ... }\n postal_code?: { ... }\n country?: { ... }\n }\n lat: number\n lng: number\n addressLabel?: string\n relevance?: number\n }>\n phone?: string\n activity_radius?: number\n}\n```\n\n### `AssignableEcpPlaceholder`\n\nAn End Customer Portal (ECP) user that can be assigned to tasks or entities.\nThese are external users who access the system through the customer portal.\n\n\n```ts\ntype AssignableEcpPlaceholder = {\n type: "ecp"\n display_name: string\n image_uri?: {\n original: string // uri\n thumbnail_32?: string // uri\n }\n org_id: string\n created_at?: string // date-time\n activated_at?: string // date-time\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n user_id: string\n email?: string // email\n}\n```\n\n### `SearchGeolocation`\n\nRequest payload for geocoding an address to coordinates\n\n```ts\ntype SearchGeolocation = {\n address: string\n}\n```\n\n### `Geolocation`\n\nGeographic coordinates with optional metadata\n\n```ts\ntype Geolocation = {\n lat: number\n lng: number\n addressLabel?: string\n relevance?: number\n}\n```\n\n### `Address`\n\nStructured postal address\n\n```ts\ntype Address = {\n street?: string\n street_number?: string\n city?: string\n postal_code?: string\n country?: string\n}\n```\n\n### `AddressGeolocation`\n\nCombined address and geographic coordinates for a location\n\n```ts\ntype AddressGeolocation = {\n address?: {\n street?: string\n street_number?: string\n city?: string\n postal_code?: string\n country?: string\n }\n lat: number\n lng: number\n addressLabel?: string\n relevance?: number\n}\n```\n\n### `PartnerUser`\n\nA user within a partner organization, including their assigned roles\n\n```ts\ntype PartnerUser = {\n id: string\n name?: string\n email: string // email\n status: string\n image?: {\n original?: string // uri\n thumbnail_32?: string // uri\n }\n roles: Array<{\n id: string\n slug: string\n name: string\n }>\n}\n```\n\n### `CreatePartnerUserPayload`\n\nRequest payload for creating a new user in a partner organization\n\n```ts\ntype CreatePartnerUserPayload = {\n email: string // email\n language?: "en" | "de"\n roles?: string[]\n}\n```\n\n### `CreatePartnerRolePayload`\n\nRequest payload for creating a new role in a partner organization\n\n```ts\ntype CreatePartnerRolePayload = {\n name: string\n slug: string\n grants: Array<{\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n dependencies?: Array<{\n action: { ... }\n resource?: { ... }\n effect?: { ... }\n conditions?: { ... }\n }>\n }>\n}\n```\n\n### `UpdatePartnerRolePayload`\n\nRequest payload for updating an existing role in a partner organization\n\n```ts\ntype UpdatePartnerRolePayload = {\n grants: Array<{\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n }>\n id?: string\n name: string\n slug: string\n}\n```\n\n### `Grant`\n\nA permission grant that allows or denies a specific action on a resource.\n\nGrants are the building blocks of roles and define what users can do within the system.\n\n\n```ts\ntype Grant = {\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n}\n```\n\n### `GrantWithDependencies`\n\nA grant with optional dependent grants that are automatically included when this grant is assigned\n\n```ts\ntype GrantWithDependencies = {\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n dependencies?: Array<{\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n }>\n}\n```\n\n### `GrantCondition`\n\nAn additional condition that must be met for a grant to apply.\nConditions allow fine-grained control over when permissions are active.\n\n\n```ts\ntype GrantCondition = object\n```\n\n### `EqualsCondition`\n\nA condition that checks if an attribute equals one of the specified values.\nThe grant only applies when the condition is satisfied.\n\n\n```ts\ntype EqualsCondition = {\n attribute: string\n operation: "equals"\n values: string[]\n}\n```\n\n### `RoleId`\n\nUnique identifier for a role, combining organization ID and role slug.\nFormat: `<organization_id>`:`<slug>`\n\n\n```ts\ntype RoleId = string\n```\n\n### `BaseRoleForCreate`\n\nBase schema for creating or updating a role\n\n```ts\ntype BaseRoleForCreate = {\n id?: string\n name: string\n slug: string\n grants: Array<{\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n }>\n}\n```\n\n### `PartnerRole`\n\nA role definition for users in a partner organization\n\n```ts\ntype PartnerRole = {\n id: string\n slug: string\n name: string\n type?: string\n grants: Array<{\n action: string\n resource?: string\n effect?: "allow" | "deny"\n conditions?: object[]\n }>\n}\n```\n\n### `AssignRolesPayload`\n\nRequest payload for assigning or unassigning roles to/from a user\n\n```ts\ntype AssignRolesPayload = {\n roleIds: string[]\n}\n```\n\n### `User`\n\nA user account in the epilot platform\n\n```ts\ntype User = {\n id?: string\n email?: string // email\n display_name?: string\n status?: "Active" | "Pending" | "Deactivated"\n}\n```\n';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
exports.default = partner_directory_default;
|
package/dist/{partner-directory-runtime-RSONSDNJ.cjs → partner-directory-runtime-AUHVA5Q3.cjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkBFUNXZRXcjs = require('./chunk-BFUNXZRX.cjs');
|
|
4
4
|
require('./chunk-NJK5F5TF.cjs');
|
|
5
|
-
exports. default =
|
|
5
|
+
exports. default = _chunkBFUNXZRXcjs.require_partner_directory_runtime.call(void 0, );
|