@graph8/sdk 0.357.0 → 0.361.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +1 -1
- package/dist/index.browser.js +1 -1
- package/dist/index.browser.js.map +1 -1
- package/dist/index.browser.mjs +1 -1
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.d.mts +115 -9
- package/dist/index.d.ts +115 -9
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/react.browser.js +1 -1
- package/dist/react.browser.js.map +1 -1
- package/dist/react.browser.mjs +1 -1
- package/dist/react.browser.mjs.map +1 -1
- package/dist/react.d.mts +112 -6
- package/dist/react.d.ts +112 -6
- package/dist/react.js +1 -1
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +1 -1
- package/dist/react.mjs.map +1 -1
- package/dist/types/core.d.ts +3 -2
- package/dist/types/react.d.ts +2 -0
- package/dist/types/studio.d.ts +48 -0
- package/dist/types/version.d.ts +2 -2
- package/docs/api/adCampaigns.d.ts +4 -0
- package/docs/api/adCampaigns.md +4 -0
- package/docs/api/enrichment.d.ts +18 -0
- package/docs/api/enrichment.md +25 -4
- package/docs/api/gtmCampaigns.d.ts +4 -0
- package/docs/api/gtmCampaigns.md +2 -0
- package/docs/api/gtmContext.d.ts +5 -1
- package/docs/api/gtmContext.md +15 -7
- package/docs/api/integrations.d.ts +29 -4
- package/docs/api/integrations.md +14 -0
- package/docs/api/revenueLifecycle.d.ts +3 -1
- package/docs/api/revenueLifecycle.md +12 -2
- package/docs/api/seo.d.ts +1 -1
- package/docs/api/seo.md +1 -1
- package/docs/api/workflows.md +46 -2
- package/docs/sdk-clients.md +1 -1
- package/package.json +1 -1
package/dist/react.d.mts
CHANGED
|
@@ -403,6 +403,18 @@ interface GlobalContextDocument {
|
|
|
403
403
|
metadata: Record<string, unknown> | null;
|
|
404
404
|
created_at: string | null;
|
|
405
405
|
updated_at: string | null;
|
|
406
|
+
/** Fields the endpoint actually returns (the ones above predate them). */
|
|
407
|
+
display_name?: string | null;
|
|
408
|
+
file_type?: string | null;
|
|
409
|
+
folder_path?: string | null;
|
|
410
|
+
status?: string | null;
|
|
411
|
+
priority?: number | null;
|
|
412
|
+
version?: string | number | null;
|
|
413
|
+
/** The group the Studio Wiki shows the document under (TAM / ICP / Persona
|
|
414
|
+
* Research are stored as market/audience but shown under "targeting"). */
|
|
415
|
+
wiki_category?: string;
|
|
416
|
+
/** Which Wiki bucket the row came from. */
|
|
417
|
+
workflow?: "context" | "intelligence" | "research";
|
|
406
418
|
}
|
|
407
419
|
interface Persona {
|
|
408
420
|
id: string;
|
|
@@ -413,6 +425,20 @@ interface Persona {
|
|
|
413
425
|
goals: string[];
|
|
414
426
|
channels: string[];
|
|
415
427
|
created_at: string | null;
|
|
428
|
+
/** Fields GET /personas actually returns (cb_personas columns). The persona's
|
|
429
|
+
* name is `title`, its "why" is `why_target`, its signals are `key_signals`. */
|
|
430
|
+
title?: string | null;
|
|
431
|
+
why_target?: string | null;
|
|
432
|
+
key_signals?: unknown[];
|
|
433
|
+
campaign_approach?: string | null;
|
|
434
|
+
recommended_goal?: string | null;
|
|
435
|
+
expected_receptivity?: string | null;
|
|
436
|
+
confidence?: string | null;
|
|
437
|
+
confidence_score?: number | null;
|
|
438
|
+
priority?: number | null;
|
|
439
|
+
pinned?: boolean | null;
|
|
440
|
+
source?: string | null;
|
|
441
|
+
updated_at?: string | null;
|
|
416
442
|
}
|
|
417
443
|
interface ICP {
|
|
418
444
|
id: string;
|
|
@@ -426,6 +452,24 @@ interface ICP {
|
|
|
426
452
|
revenue_max: number | null;
|
|
427
453
|
countries: string[] | null;
|
|
428
454
|
created_at: string | null;
|
|
455
|
+
/** Fields GET /icps actually returns (cb_icps columns). Industries and
|
|
456
|
+
* company sizes live in `firmographics.industries` / `firmographics.company_sizes`. */
|
|
457
|
+
firmographics?: {
|
|
458
|
+
industries?: string[];
|
|
459
|
+
company_sizes?: string[];
|
|
460
|
+
revenue_ranges?: string[];
|
|
461
|
+
geographies?: string[];
|
|
462
|
+
[key: string]: unknown;
|
|
463
|
+
};
|
|
464
|
+
tech_stack?: Record<string, unknown>;
|
|
465
|
+
buying_signals?: unknown[];
|
|
466
|
+
fit_score?: number | null;
|
|
467
|
+
opportunity_score?: number | null;
|
|
468
|
+
readiness_score?: number | null;
|
|
469
|
+
total_score?: number | null;
|
|
470
|
+
pinned?: boolean | null;
|
|
471
|
+
priority?: number | null;
|
|
472
|
+
updated_at?: string | null;
|
|
429
473
|
}
|
|
430
474
|
interface IntelligenceData {
|
|
431
475
|
id: string;
|
|
@@ -464,6 +508,10 @@ declare const createStudioClient: (apiKey: string, apiUrl?: string) => {
|
|
|
464
508
|
category?: string;
|
|
465
509
|
limit?: number;
|
|
466
510
|
include_content?: boolean;
|
|
511
|
+
/** Also list the Wiki's Intelligence documents (metadata only). */
|
|
512
|
+
include_intelligence?: boolean;
|
|
513
|
+
/** Also list the Wiki's Research reports. */
|
|
514
|
+
include_research?: boolean;
|
|
467
515
|
}): Promise<{
|
|
468
516
|
data: GlobalContextDocument[];
|
|
469
517
|
}>;
|
|
@@ -3312,10 +3360,14 @@ interface AdCampaignResponse {
|
|
|
3312
3360
|
launched_at?: string | null;
|
|
3313
3361
|
name: string;
|
|
3314
3362
|
objective?: string | null;
|
|
3363
|
+
/** True when end_date is before today (UTC). Null when the campaign has no end date. */
|
|
3364
|
+
past_end_date?: boolean | null;
|
|
3315
3365
|
platform: string;
|
|
3316
3366
|
platform_campaign_id?: string | null;
|
|
3317
3367
|
start_date?: string | null;
|
|
3318
3368
|
status: string;
|
|
3369
|
+
/** Plain-language note when the stored status cannot be taken at face value, e.g. the end date has passed but the status still says pending. Null otherwise. */
|
|
3370
|
+
status_note?: string | null;
|
|
3319
3371
|
sync_config_id: number;
|
|
3320
3372
|
}
|
|
3321
3373
|
/**
|
|
@@ -8029,6 +8081,8 @@ interface CampaignFullPatchRequest {
|
|
|
8029
8081
|
primary_hook?: string | null;
|
|
8030
8082
|
/** If provided, replaces the sequence step ordering (same as PUT /sequence). */
|
|
8031
8083
|
sequence_steps?: Array<SequenceStepRef> | null;
|
|
8084
|
+
/** Replace the campaign's channels (email, linkedin, phone, voice_ai, sms). Omit to leave them unchanged. Same as PATCH /campaigns/{id}. */
|
|
8085
|
+
target_channels?: Array<string> | null;
|
|
8032
8086
|
target_persona?: string | null;
|
|
8033
8087
|
/** Sequence IDs to UNLINK from this campaign. DELETEs ONLY rows where status='linked'. Launch-audit rows (status='pushed'/'superseded'/'failed') are never touched — those are an immutable historical record. */
|
|
8034
8088
|
unlink_sequence_ids?: Array<string> | null;
|
|
@@ -9003,14 +9057,19 @@ interface ConfirmBookingRequest {
|
|
|
9003
9057
|
* This is the irreversible half: records begin landing in graph8 and a
|
|
9004
9058
|
* migration cannot be un-run, only cancelled part-way.
|
|
9005
9059
|
*
|
|
9006
|
-
*
|
|
9060
|
+
* Every field is OPTIONAL and omitting them accepts the discovery as
|
|
9007
9061
|
* proposed - which is the point of previewing it first. Send
|
|
9008
|
-
* `field_mappings_override` to change where a CRM field lands,
|
|
9009
|
-
* `selected_list_ids` to import only some lists
|
|
9062
|
+
* `field_mappings_override` to change where a CRM field lands,
|
|
9063
|
+
* `selected_list_ids` to import only some lists, or `owner_decisions` to say
|
|
9064
|
+
* what happens to the records of Salesforce owners who are not in graph8.
|
|
9065
|
+
* A Salesforce discovery with an `unmatched` owner needs a decision for that
|
|
9066
|
+
* owner: without one the confirm is refused with 422.
|
|
9010
9067
|
*/
|
|
9011
9068
|
interface ConfirmMigrationRequest {
|
|
9012
9069
|
/** Per entity type, the mappings to use instead of the discovered ones. Omit to accept what discovery proposed. */
|
|
9013
9070
|
field_mappings_override?: Record<string, Array<Record<string, unknown>>> | null;
|
|
9071
|
+
/** Salesforce only: one decision per record owner who is not a graph8 member (at most 500). Required for every owner whose `match.status` is `unmatched`; optional `assign` for a `placeholder` owner. `match` moves every record the owner has; `assign` moves only their open deals and open tasks. */
|
|
9072
|
+
owner_decisions?: Array<MigrationOwnerDecision> | null;
|
|
9014
9073
|
/** Import only these CRM lists. Omit to take every discovered list. */
|
|
9015
9074
|
selected_list_ids?: Array<string> | null;
|
|
9016
9075
|
}
|
|
@@ -15346,7 +15405,9 @@ interface LifecycleRecordItem {
|
|
|
15346
15405
|
subscription_status?: string | null;
|
|
15347
15406
|
}
|
|
15348
15407
|
interface LifecycleStageMoveRequest {
|
|
15349
|
-
/**
|
|
15408
|
+
/** Confirm a move to Customers of a company with no subscription (or a contact with no company or whose company has none). Without it such a move is refused with 409 and detail.code 'customers_without_subscription'. */
|
|
15409
|
+
confirm_without_subscription?: boolean;
|
|
15410
|
+
/** Run every check the move runs (record exists, stage known, Customers/Churned guards, the no-subscription confirmation) and return the would-be transition without writing anything. */
|
|
15350
15411
|
dry_run?: boolean;
|
|
15351
15412
|
/** Destination lifecycle slug, e.g. 'suspects', 'leads', 'trials', 'customers', 'churned'. Case and surrounding whitespace are ignored, and a stage's display name is accepted too. */
|
|
15352
15413
|
target_slug: string;
|
|
@@ -16949,6 +17010,25 @@ interface MergeRecordRequest {
|
|
|
16949
17010
|
interface MessageSendRequest {
|
|
16950
17011
|
text: string;
|
|
16951
17012
|
}
|
|
17013
|
+
/**
|
|
17014
|
+
* What happens to the records of one Salesforce record owner who is not a graph8 member.
|
|
17015
|
+
*
|
|
17016
|
+
* Discovery lists every record owner in the status's `owners`, each with a
|
|
17017
|
+
* `match.status`. An owner whose status is `unmatched` needs a decision, or
|
|
17018
|
+
* the confirm is refused with 422. An owner whose status is `placeholder`
|
|
17019
|
+
* (inactive in Salesforce, a rep who left) may only be assigned; without a
|
|
17020
|
+
* decision their records stay on the placeholder, as history.
|
|
17021
|
+
*/
|
|
17022
|
+
interface MigrationOwnerDecision {
|
|
17023
|
+
/** `invite`: invite the owner to graph8 by email; their records are held for the invited address and become theirs when they first sign in. Invites go out in a member's name, so an API key's confirm with an `invite` decision is refused with 403. `assign`: move only their OPEN deals and OPEN tasks to the graph8 member `assign_to_team_member_id`; contacts, companies and closed records stay on the owner's placeholder. `match`: this Salesforce user IS the graph8 member `assign_to_team_member_id`; EVERY record they own moves to that member. `unassigned`: import their records with no owner. */
|
|
17024
|
+
action: "invite" | "assign" | "unassigned" | "match";
|
|
17025
|
+
/** `assign` and `match` only: the graph8 team member id who receives the records. */
|
|
17026
|
+
assign_to_team_member_id?: string | null;
|
|
17027
|
+
/** `invite` only: the address to invite. Omit to use the owner's Salesforce email. */
|
|
17028
|
+
invite_email?: string | null;
|
|
17029
|
+
/** The owner's Salesforce user id, as discovery listed it in `owners`. */
|
|
17030
|
+
sf_user_id: string;
|
|
17031
|
+
}
|
|
16952
17032
|
/**
|
|
16953
17033
|
* Mine conversations for content ideas. SPENDS CREDIT, per conversation.
|
|
16954
17034
|
*
|
|
@@ -22129,7 +22209,7 @@ interface SeoResearchKeywordsResponse {
|
|
|
22129
22209
|
* refused with a 422 if it carries a scheme or a path.
|
|
22130
22210
|
*/
|
|
22131
22211
|
interface SeoSaveTrackedKeywordsRequest {
|
|
22132
|
-
cadence?: "daily" | "weekly";
|
|
22212
|
+
cadence?: "daily" | "weekly" | "manual";
|
|
22133
22213
|
domain: string;
|
|
22134
22214
|
keywords: Array<SeoTrackKeywordItem>;
|
|
22135
22215
|
language_code?: string;
|
|
@@ -27548,6 +27628,8 @@ interface developer_api__interfaces__v1__gtm_campaigns_router__CampaignUpdateReq
|
|
|
27548
27628
|
name?: string | null;
|
|
27549
27629
|
/** Primary hook text */
|
|
27550
27630
|
primary_hook?: string | null;
|
|
27631
|
+
/** Replace the campaign's channels, e.g. ['email','linkedin']. Accepted values: email, linkedin, phone, voice_ai, sms. Omit to leave them unchanged. Existing documents and steps are not deleted. */
|
|
27632
|
+
target_channels?: Array<string> | null;
|
|
27551
27633
|
/** Target persona */
|
|
27552
27634
|
target_persona?: string | null;
|
|
27553
27635
|
}
|
|
@@ -35511,6 +35593,8 @@ interface ApiOperationMap {
|
|
|
35511
35593
|
query?: {
|
|
35512
35594
|
/** Remove the configuration permanently instead of deactivating it. The values it already wrote are kept either way. */
|
|
35513
35595
|
hard_delete?: boolean;
|
|
35596
|
+
/** Set to `org` to change or delete a qualification group shared by every list (the ICP and Persona qualification groups). Admin keys only. Without it such a call answers 409 with code `shared_qualification_group`. */
|
|
35597
|
+
scope?: string | null;
|
|
35514
35598
|
};
|
|
35515
35599
|
headers?: {
|
|
35516
35600
|
"X-Target-Org-Id"?: string | null;
|
|
@@ -35532,6 +35616,8 @@ interface ApiOperationMap {
|
|
|
35532
35616
|
query?: {
|
|
35533
35617
|
/** Remove the configuration permanently instead of deactivating it. The values it already wrote are kept either way. */
|
|
35534
35618
|
hard_delete?: boolean;
|
|
35619
|
+
/** Set to `org` to change or delete a qualification group shared by every list (the ICP and Persona qualification groups). Admin keys only. Without it such a call answers 409 with code `shared_qualification_group`. */
|
|
35620
|
+
scope?: string | null;
|
|
35535
35621
|
};
|
|
35536
35622
|
headers?: {
|
|
35537
35623
|
"X-Target-Org-Id"?: string | null;
|
|
@@ -36383,6 +36469,8 @@ interface ApiOperationMap {
|
|
|
36383
36469
|
query?: {
|
|
36384
36470
|
/** Remove the configuration permanently instead of deactivating it. The values it already wrote are kept either way. */
|
|
36385
36471
|
hard_delete?: boolean;
|
|
36472
|
+
/** Set to `org` to change or delete a qualification group shared by every list (the ICP and Persona qualification groups). Admin keys only. Without it such a call answers 409 with code `shared_qualification_group`. */
|
|
36473
|
+
scope?: string | null;
|
|
36386
36474
|
};
|
|
36387
36475
|
headers?: {
|
|
36388
36476
|
"X-Target-Org-Id"?: string | null;
|
|
@@ -61016,10 +61104,14 @@ interface ApiOperationMap {
|
|
|
61016
61104
|
list_global_context_documents_global_context_documents_get: {
|
|
61017
61105
|
input: {
|
|
61018
61106
|
query?: {
|
|
61019
|
-
/** Filter by context category */
|
|
61107
|
+
/** Filter by context category: brand, audience, messaging, market, offer, targeting, data (case-insensitive). `targeting` matches the Studio Wiki's Targeting group (TAM / ICP / Persona Research). An unknown category that matches no document returns 422 listing the valid categories. */
|
|
61020
61108
|
category?: string | null;
|
|
61021
61109
|
/** Include each document's body text at `content` (read from meta_data.content). Default True preserves historical behavior (this endpoint has always returned content); pass false for a lighter metadata-only listing. */
|
|
61022
61110
|
include_content?: boolean;
|
|
61111
|
+
/** Also list the Wiki's Intelligence documents (website scrape, competitor discovery, organic keywords, brand news, ...) with `workflow`='intelligence' and category 'data'. Metadata only: read a body with GET /intelligence-data ?data_type=<file_type>&include_content=true. Default false (historical shape). */
|
|
61112
|
+
include_intelligence?: boolean;
|
|
61113
|
+
/** Also list the Wiki's Research reports with `workflow`='research' and category 'data'; `content` carries the report markdown when include_content is true. Default false (historical shape). */
|
|
61114
|
+
include_research?: boolean;
|
|
61023
61115
|
limit?: number;
|
|
61024
61116
|
};
|
|
61025
61117
|
headers?: {
|
|
@@ -71596,6 +71688,10 @@ interface ApiOperationMap {
|
|
|
71596
71688
|
/** AI group id. */
|
|
71597
71689
|
group_id: string;
|
|
71598
71690
|
};
|
|
71691
|
+
query?: {
|
|
71692
|
+
/** Set to `org` to change or delete a qualification group shared by every list (the ICP and Persona qualification groups). Admin keys only. Without it such a call answers 409 with code `shared_qualification_group`. */
|
|
71693
|
+
scope?: string | null;
|
|
71694
|
+
};
|
|
71599
71695
|
headers?: {
|
|
71600
71696
|
"X-Target-Org-Id"?: string | null;
|
|
71601
71697
|
};
|
|
@@ -79718,6 +79814,10 @@ interface ApiOperationMap {
|
|
|
79718
79814
|
/** The AI group id. */
|
|
79719
79815
|
group_id: string;
|
|
79720
79816
|
};
|
|
79817
|
+
query?: {
|
|
79818
|
+
/** Set to `org` to change or delete a qualification group shared by every list (the ICP and Persona qualification groups). Admin keys only. Without it such a call answers 409 with code `shared_qualification_group`. */
|
|
79819
|
+
scope?: string | null;
|
|
79820
|
+
};
|
|
79721
79821
|
headers?: {
|
|
79722
79822
|
"X-Target-Org-Id"?: string | null;
|
|
79723
79823
|
};
|
|
@@ -80911,6 +81011,10 @@ interface ApiOperationMap {
|
|
|
80911
81011
|
/** Enrichment configuration id (UUID). */
|
|
80912
81012
|
config_id: string;
|
|
80913
81013
|
};
|
|
81014
|
+
query?: {
|
|
81015
|
+
/** Set to `org` to change or delete a qualification group shared by every list (the ICP and Persona qualification groups). Admin keys only. Without it such a call answers 409 with code `shared_qualification_group`. */
|
|
81016
|
+
scope?: string | null;
|
|
81017
|
+
};
|
|
80914
81018
|
headers?: {
|
|
80915
81019
|
"X-Target-Org-Id"?: string | null;
|
|
80916
81020
|
};
|
|
@@ -94226,6 +94330,8 @@ declare const useG8: () => {
|
|
|
94226
94330
|
category?: string;
|
|
94227
94331
|
limit?: number;
|
|
94228
94332
|
include_content?: boolean;
|
|
94333
|
+
include_intelligence?: boolean;
|
|
94334
|
+
include_research?: boolean;
|
|
94229
94335
|
}): Promise<{
|
|
94230
94336
|
data: GlobalContextDocument[];
|
|
94231
94337
|
}>;
|
package/dist/react.d.ts
CHANGED
|
@@ -403,6 +403,18 @@ interface GlobalContextDocument {
|
|
|
403
403
|
metadata: Record<string, unknown> | null;
|
|
404
404
|
created_at: string | null;
|
|
405
405
|
updated_at: string | null;
|
|
406
|
+
/** Fields the endpoint actually returns (the ones above predate them). */
|
|
407
|
+
display_name?: string | null;
|
|
408
|
+
file_type?: string | null;
|
|
409
|
+
folder_path?: string | null;
|
|
410
|
+
status?: string | null;
|
|
411
|
+
priority?: number | null;
|
|
412
|
+
version?: string | number | null;
|
|
413
|
+
/** The group the Studio Wiki shows the document under (TAM / ICP / Persona
|
|
414
|
+
* Research are stored as market/audience but shown under "targeting"). */
|
|
415
|
+
wiki_category?: string;
|
|
416
|
+
/** Which Wiki bucket the row came from. */
|
|
417
|
+
workflow?: "context" | "intelligence" | "research";
|
|
406
418
|
}
|
|
407
419
|
interface Persona {
|
|
408
420
|
id: string;
|
|
@@ -413,6 +425,20 @@ interface Persona {
|
|
|
413
425
|
goals: string[];
|
|
414
426
|
channels: string[];
|
|
415
427
|
created_at: string | null;
|
|
428
|
+
/** Fields GET /personas actually returns (cb_personas columns). The persona's
|
|
429
|
+
* name is `title`, its "why" is `why_target`, its signals are `key_signals`. */
|
|
430
|
+
title?: string | null;
|
|
431
|
+
why_target?: string | null;
|
|
432
|
+
key_signals?: unknown[];
|
|
433
|
+
campaign_approach?: string | null;
|
|
434
|
+
recommended_goal?: string | null;
|
|
435
|
+
expected_receptivity?: string | null;
|
|
436
|
+
confidence?: string | null;
|
|
437
|
+
confidence_score?: number | null;
|
|
438
|
+
priority?: number | null;
|
|
439
|
+
pinned?: boolean | null;
|
|
440
|
+
source?: string | null;
|
|
441
|
+
updated_at?: string | null;
|
|
416
442
|
}
|
|
417
443
|
interface ICP {
|
|
418
444
|
id: string;
|
|
@@ -426,6 +452,24 @@ interface ICP {
|
|
|
426
452
|
revenue_max: number | null;
|
|
427
453
|
countries: string[] | null;
|
|
428
454
|
created_at: string | null;
|
|
455
|
+
/** Fields GET /icps actually returns (cb_icps columns). Industries and
|
|
456
|
+
* company sizes live in `firmographics.industries` / `firmographics.company_sizes`. */
|
|
457
|
+
firmographics?: {
|
|
458
|
+
industries?: string[];
|
|
459
|
+
company_sizes?: string[];
|
|
460
|
+
revenue_ranges?: string[];
|
|
461
|
+
geographies?: string[];
|
|
462
|
+
[key: string]: unknown;
|
|
463
|
+
};
|
|
464
|
+
tech_stack?: Record<string, unknown>;
|
|
465
|
+
buying_signals?: unknown[];
|
|
466
|
+
fit_score?: number | null;
|
|
467
|
+
opportunity_score?: number | null;
|
|
468
|
+
readiness_score?: number | null;
|
|
469
|
+
total_score?: number | null;
|
|
470
|
+
pinned?: boolean | null;
|
|
471
|
+
priority?: number | null;
|
|
472
|
+
updated_at?: string | null;
|
|
429
473
|
}
|
|
430
474
|
interface IntelligenceData {
|
|
431
475
|
id: string;
|
|
@@ -464,6 +508,10 @@ declare const createStudioClient: (apiKey: string, apiUrl?: string) => {
|
|
|
464
508
|
category?: string;
|
|
465
509
|
limit?: number;
|
|
466
510
|
include_content?: boolean;
|
|
511
|
+
/** Also list the Wiki's Intelligence documents (metadata only). */
|
|
512
|
+
include_intelligence?: boolean;
|
|
513
|
+
/** Also list the Wiki's Research reports. */
|
|
514
|
+
include_research?: boolean;
|
|
467
515
|
}): Promise<{
|
|
468
516
|
data: GlobalContextDocument[];
|
|
469
517
|
}>;
|
|
@@ -3312,10 +3360,14 @@ interface AdCampaignResponse {
|
|
|
3312
3360
|
launched_at?: string | null;
|
|
3313
3361
|
name: string;
|
|
3314
3362
|
objective?: string | null;
|
|
3363
|
+
/** True when end_date is before today (UTC). Null when the campaign has no end date. */
|
|
3364
|
+
past_end_date?: boolean | null;
|
|
3315
3365
|
platform: string;
|
|
3316
3366
|
platform_campaign_id?: string | null;
|
|
3317
3367
|
start_date?: string | null;
|
|
3318
3368
|
status: string;
|
|
3369
|
+
/** Plain-language note when the stored status cannot be taken at face value, e.g. the end date has passed but the status still says pending. Null otherwise. */
|
|
3370
|
+
status_note?: string | null;
|
|
3319
3371
|
sync_config_id: number;
|
|
3320
3372
|
}
|
|
3321
3373
|
/**
|
|
@@ -8029,6 +8081,8 @@ interface CampaignFullPatchRequest {
|
|
|
8029
8081
|
primary_hook?: string | null;
|
|
8030
8082
|
/** If provided, replaces the sequence step ordering (same as PUT /sequence). */
|
|
8031
8083
|
sequence_steps?: Array<SequenceStepRef> | null;
|
|
8084
|
+
/** Replace the campaign's channels (email, linkedin, phone, voice_ai, sms). Omit to leave them unchanged. Same as PATCH /campaigns/{id}. */
|
|
8085
|
+
target_channels?: Array<string> | null;
|
|
8032
8086
|
target_persona?: string | null;
|
|
8033
8087
|
/** Sequence IDs to UNLINK from this campaign. DELETEs ONLY rows where status='linked'. Launch-audit rows (status='pushed'/'superseded'/'failed') are never touched — those are an immutable historical record. */
|
|
8034
8088
|
unlink_sequence_ids?: Array<string> | null;
|
|
@@ -9003,14 +9057,19 @@ interface ConfirmBookingRequest {
|
|
|
9003
9057
|
* This is the irreversible half: records begin landing in graph8 and a
|
|
9004
9058
|
* migration cannot be un-run, only cancelled part-way.
|
|
9005
9059
|
*
|
|
9006
|
-
*
|
|
9060
|
+
* Every field is OPTIONAL and omitting them accepts the discovery as
|
|
9007
9061
|
* proposed - which is the point of previewing it first. Send
|
|
9008
|
-
* `field_mappings_override` to change where a CRM field lands,
|
|
9009
|
-
* `selected_list_ids` to import only some lists
|
|
9062
|
+
* `field_mappings_override` to change where a CRM field lands,
|
|
9063
|
+
* `selected_list_ids` to import only some lists, or `owner_decisions` to say
|
|
9064
|
+
* what happens to the records of Salesforce owners who are not in graph8.
|
|
9065
|
+
* A Salesforce discovery with an `unmatched` owner needs a decision for that
|
|
9066
|
+
* owner: without one the confirm is refused with 422.
|
|
9010
9067
|
*/
|
|
9011
9068
|
interface ConfirmMigrationRequest {
|
|
9012
9069
|
/** Per entity type, the mappings to use instead of the discovered ones. Omit to accept what discovery proposed. */
|
|
9013
9070
|
field_mappings_override?: Record<string, Array<Record<string, unknown>>> | null;
|
|
9071
|
+
/** Salesforce only: one decision per record owner who is not a graph8 member (at most 500). Required for every owner whose `match.status` is `unmatched`; optional `assign` for a `placeholder` owner. `match` moves every record the owner has; `assign` moves only their open deals and open tasks. */
|
|
9072
|
+
owner_decisions?: Array<MigrationOwnerDecision> | null;
|
|
9014
9073
|
/** Import only these CRM lists. Omit to take every discovered list. */
|
|
9015
9074
|
selected_list_ids?: Array<string> | null;
|
|
9016
9075
|
}
|
|
@@ -15346,7 +15405,9 @@ interface LifecycleRecordItem {
|
|
|
15346
15405
|
subscription_status?: string | null;
|
|
15347
15406
|
}
|
|
15348
15407
|
interface LifecycleStageMoveRequest {
|
|
15349
|
-
/**
|
|
15408
|
+
/** Confirm a move to Customers of a company with no subscription (or a contact with no company or whose company has none). Without it such a move is refused with 409 and detail.code 'customers_without_subscription'. */
|
|
15409
|
+
confirm_without_subscription?: boolean;
|
|
15410
|
+
/** Run every check the move runs (record exists, stage known, Customers/Churned guards, the no-subscription confirmation) and return the would-be transition without writing anything. */
|
|
15350
15411
|
dry_run?: boolean;
|
|
15351
15412
|
/** Destination lifecycle slug, e.g. 'suspects', 'leads', 'trials', 'customers', 'churned'. Case and surrounding whitespace are ignored, and a stage's display name is accepted too. */
|
|
15352
15413
|
target_slug: string;
|
|
@@ -16949,6 +17010,25 @@ interface MergeRecordRequest {
|
|
|
16949
17010
|
interface MessageSendRequest {
|
|
16950
17011
|
text: string;
|
|
16951
17012
|
}
|
|
17013
|
+
/**
|
|
17014
|
+
* What happens to the records of one Salesforce record owner who is not a graph8 member.
|
|
17015
|
+
*
|
|
17016
|
+
* Discovery lists every record owner in the status's `owners`, each with a
|
|
17017
|
+
* `match.status`. An owner whose status is `unmatched` needs a decision, or
|
|
17018
|
+
* the confirm is refused with 422. An owner whose status is `placeholder`
|
|
17019
|
+
* (inactive in Salesforce, a rep who left) may only be assigned; without a
|
|
17020
|
+
* decision their records stay on the placeholder, as history.
|
|
17021
|
+
*/
|
|
17022
|
+
interface MigrationOwnerDecision {
|
|
17023
|
+
/** `invite`: invite the owner to graph8 by email; their records are held for the invited address and become theirs when they first sign in. Invites go out in a member's name, so an API key's confirm with an `invite` decision is refused with 403. `assign`: move only their OPEN deals and OPEN tasks to the graph8 member `assign_to_team_member_id`; contacts, companies and closed records stay on the owner's placeholder. `match`: this Salesforce user IS the graph8 member `assign_to_team_member_id`; EVERY record they own moves to that member. `unassigned`: import their records with no owner. */
|
|
17024
|
+
action: "invite" | "assign" | "unassigned" | "match";
|
|
17025
|
+
/** `assign` and `match` only: the graph8 team member id who receives the records. */
|
|
17026
|
+
assign_to_team_member_id?: string | null;
|
|
17027
|
+
/** `invite` only: the address to invite. Omit to use the owner's Salesforce email. */
|
|
17028
|
+
invite_email?: string | null;
|
|
17029
|
+
/** The owner's Salesforce user id, as discovery listed it in `owners`. */
|
|
17030
|
+
sf_user_id: string;
|
|
17031
|
+
}
|
|
16952
17032
|
/**
|
|
16953
17033
|
* Mine conversations for content ideas. SPENDS CREDIT, per conversation.
|
|
16954
17034
|
*
|
|
@@ -22129,7 +22209,7 @@ interface SeoResearchKeywordsResponse {
|
|
|
22129
22209
|
* refused with a 422 if it carries a scheme or a path.
|
|
22130
22210
|
*/
|
|
22131
22211
|
interface SeoSaveTrackedKeywordsRequest {
|
|
22132
|
-
cadence?: "daily" | "weekly";
|
|
22212
|
+
cadence?: "daily" | "weekly" | "manual";
|
|
22133
22213
|
domain: string;
|
|
22134
22214
|
keywords: Array<SeoTrackKeywordItem>;
|
|
22135
22215
|
language_code?: string;
|
|
@@ -27548,6 +27628,8 @@ interface developer_api__interfaces__v1__gtm_campaigns_router__CampaignUpdateReq
|
|
|
27548
27628
|
name?: string | null;
|
|
27549
27629
|
/** Primary hook text */
|
|
27550
27630
|
primary_hook?: string | null;
|
|
27631
|
+
/** Replace the campaign's channels, e.g. ['email','linkedin']. Accepted values: email, linkedin, phone, voice_ai, sms. Omit to leave them unchanged. Existing documents and steps are not deleted. */
|
|
27632
|
+
target_channels?: Array<string> | null;
|
|
27551
27633
|
/** Target persona */
|
|
27552
27634
|
target_persona?: string | null;
|
|
27553
27635
|
}
|
|
@@ -35511,6 +35593,8 @@ interface ApiOperationMap {
|
|
|
35511
35593
|
query?: {
|
|
35512
35594
|
/** Remove the configuration permanently instead of deactivating it. The values it already wrote are kept either way. */
|
|
35513
35595
|
hard_delete?: boolean;
|
|
35596
|
+
/** Set to `org` to change or delete a qualification group shared by every list (the ICP and Persona qualification groups). Admin keys only. Without it such a call answers 409 with code `shared_qualification_group`. */
|
|
35597
|
+
scope?: string | null;
|
|
35514
35598
|
};
|
|
35515
35599
|
headers?: {
|
|
35516
35600
|
"X-Target-Org-Id"?: string | null;
|
|
@@ -35532,6 +35616,8 @@ interface ApiOperationMap {
|
|
|
35532
35616
|
query?: {
|
|
35533
35617
|
/** Remove the configuration permanently instead of deactivating it. The values it already wrote are kept either way. */
|
|
35534
35618
|
hard_delete?: boolean;
|
|
35619
|
+
/** Set to `org` to change or delete a qualification group shared by every list (the ICP and Persona qualification groups). Admin keys only. Without it such a call answers 409 with code `shared_qualification_group`. */
|
|
35620
|
+
scope?: string | null;
|
|
35535
35621
|
};
|
|
35536
35622
|
headers?: {
|
|
35537
35623
|
"X-Target-Org-Id"?: string | null;
|
|
@@ -36383,6 +36469,8 @@ interface ApiOperationMap {
|
|
|
36383
36469
|
query?: {
|
|
36384
36470
|
/** Remove the configuration permanently instead of deactivating it. The values it already wrote are kept either way. */
|
|
36385
36471
|
hard_delete?: boolean;
|
|
36472
|
+
/** Set to `org` to change or delete a qualification group shared by every list (the ICP and Persona qualification groups). Admin keys only. Without it such a call answers 409 with code `shared_qualification_group`. */
|
|
36473
|
+
scope?: string | null;
|
|
36386
36474
|
};
|
|
36387
36475
|
headers?: {
|
|
36388
36476
|
"X-Target-Org-Id"?: string | null;
|
|
@@ -61016,10 +61104,14 @@ interface ApiOperationMap {
|
|
|
61016
61104
|
list_global_context_documents_global_context_documents_get: {
|
|
61017
61105
|
input: {
|
|
61018
61106
|
query?: {
|
|
61019
|
-
/** Filter by context category */
|
|
61107
|
+
/** Filter by context category: brand, audience, messaging, market, offer, targeting, data (case-insensitive). `targeting` matches the Studio Wiki's Targeting group (TAM / ICP / Persona Research). An unknown category that matches no document returns 422 listing the valid categories. */
|
|
61020
61108
|
category?: string | null;
|
|
61021
61109
|
/** Include each document's body text at `content` (read from meta_data.content). Default True preserves historical behavior (this endpoint has always returned content); pass false for a lighter metadata-only listing. */
|
|
61022
61110
|
include_content?: boolean;
|
|
61111
|
+
/** Also list the Wiki's Intelligence documents (website scrape, competitor discovery, organic keywords, brand news, ...) with `workflow`='intelligence' and category 'data'. Metadata only: read a body with GET /intelligence-data ?data_type=<file_type>&include_content=true. Default false (historical shape). */
|
|
61112
|
+
include_intelligence?: boolean;
|
|
61113
|
+
/** Also list the Wiki's Research reports with `workflow`='research' and category 'data'; `content` carries the report markdown when include_content is true. Default false (historical shape). */
|
|
61114
|
+
include_research?: boolean;
|
|
61023
61115
|
limit?: number;
|
|
61024
61116
|
};
|
|
61025
61117
|
headers?: {
|
|
@@ -71596,6 +71688,10 @@ interface ApiOperationMap {
|
|
|
71596
71688
|
/** AI group id. */
|
|
71597
71689
|
group_id: string;
|
|
71598
71690
|
};
|
|
71691
|
+
query?: {
|
|
71692
|
+
/** Set to `org` to change or delete a qualification group shared by every list (the ICP and Persona qualification groups). Admin keys only. Without it such a call answers 409 with code `shared_qualification_group`. */
|
|
71693
|
+
scope?: string | null;
|
|
71694
|
+
};
|
|
71599
71695
|
headers?: {
|
|
71600
71696
|
"X-Target-Org-Id"?: string | null;
|
|
71601
71697
|
};
|
|
@@ -79718,6 +79814,10 @@ interface ApiOperationMap {
|
|
|
79718
79814
|
/** The AI group id. */
|
|
79719
79815
|
group_id: string;
|
|
79720
79816
|
};
|
|
79817
|
+
query?: {
|
|
79818
|
+
/** Set to `org` to change or delete a qualification group shared by every list (the ICP and Persona qualification groups). Admin keys only. Without it such a call answers 409 with code `shared_qualification_group`. */
|
|
79819
|
+
scope?: string | null;
|
|
79820
|
+
};
|
|
79721
79821
|
headers?: {
|
|
79722
79822
|
"X-Target-Org-Id"?: string | null;
|
|
79723
79823
|
};
|
|
@@ -80911,6 +81011,10 @@ interface ApiOperationMap {
|
|
|
80911
81011
|
/** Enrichment configuration id (UUID). */
|
|
80912
81012
|
config_id: string;
|
|
80913
81013
|
};
|
|
81014
|
+
query?: {
|
|
81015
|
+
/** Set to `org` to change or delete a qualification group shared by every list (the ICP and Persona qualification groups). Admin keys only. Without it such a call answers 409 with code `shared_qualification_group`. */
|
|
81016
|
+
scope?: string | null;
|
|
81017
|
+
};
|
|
80914
81018
|
headers?: {
|
|
80915
81019
|
"X-Target-Org-Id"?: string | null;
|
|
80916
81020
|
};
|
|
@@ -94226,6 +94330,8 @@ declare const useG8: () => {
|
|
|
94226
94330
|
category?: string;
|
|
94227
94331
|
limit?: number;
|
|
94228
94332
|
include_content?: boolean;
|
|
94333
|
+
include_intelligence?: boolean;
|
|
94334
|
+
include_research?: boolean;
|
|
94229
94335
|
}): Promise<{
|
|
94230
94336
|
data: GlobalContextDocument[];
|
|
94231
94337
|
}>;
|