@graph8/sdk 0.251.0 → 0.262.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/README.md +9 -2
- package/dist/cli.js +216 -0
- package/dist/index.d.mts +105 -7
- package/dist/index.d.ts +105 -7
- package/dist/index.js +44 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +44 -3
- package/dist/index.mjs.map +1 -1
- package/dist/react.d.mts +103 -7
- package/dist/react.d.ts +103 -7
- package/dist/react.js +62 -11
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +53 -12
- package/dist/react.mjs.map +1 -1
- package/dist/types/README.md +7 -0
- package/dist/types/agency.d.ts +20 -0
- package/dist/types/agentSetup.d.ts +57 -0
- package/dist/types/api.d.ts +127 -0
- package/dist/types/appClient.d.ts +99 -0
- package/dist/types/appPlatform.d.ts +269 -0
- package/dist/types/appTokens.d.ts +125 -0
- package/dist/types/apps.d.ts +130 -0
- package/dist/types/audiences.d.ts +88 -0
- package/dist/types/calendar.d.ts +55 -0
- package/dist/types/campaigns.d.ts +61 -0
- package/dist/types/chat.d.ts +35 -0
- package/dist/types/cli.d.ts +14 -0
- package/dist/types/companies.d.ts +123 -0
- package/dist/types/contacts.d.ts +200 -0
- package/dist/types/copilot.d.ts +31 -0
- package/dist/types/core.d.ts +1052 -0
- package/dist/types/deals.d.ts +215 -0
- package/dist/types/enrich.d.ts +51 -0
- package/dist/types/fields.d.ts +84 -0
- package/dist/types/forms.d.ts +16 -0
- package/dist/types/http.d.ts +141 -0
- package/dist/types/inbox.d.ts +123 -0
- package/dist/types/index.d.ts +63 -0
- package/dist/types/intent.d.ts +196 -0
- package/dist/types/lists.d.ts +44 -0
- package/dist/types/mailboxes.d.ts +240 -0
- package/dist/types/marketplace.d.ts +62 -0
- package/dist/types/meetings.d.ts +70 -0
- package/dist/types/newsletter.d.ts +212 -0
- package/dist/types/notes.d.ts +57 -0
- package/dist/types/objects.d.ts +281 -0
- package/dist/types/pipelines.d.ts +135 -0
- package/dist/types/quotes.d.ts +143 -0
- package/dist/types/react.d.ts +978 -0
- package/dist/types/search.d.ts +99 -0
- package/dist/types/sequences.d.ts +255 -0
- package/dist/types/signals.d.ts +28 -0
- package/dist/types/skills.d.ts +176 -0
- package/dist/types/snippet.d.ts +24 -0
- package/dist/types/studio.d.ts +161 -0
- package/dist/types/tasks.d.ts +101 -0
- package/dist/types/types.d.ts +45 -0
- package/dist/types/utils.d.ts +21 -0
- package/dist/types/version.d.ts +10 -0
- package/dist/types/visitors.d.ts +29 -0
- package/dist/types/voice.d.ts +304 -0
- package/dist/types/webhooks.d.ts +71 -0
- package/dist/types/workflows.d.ts +229 -0
- package/docs/agents.md +748 -0
- package/docs/api/README.md +165 -0
- package/docs/api/accounts.d.ts +396 -0
- package/docs/api/accounts.md +644 -0
- package/docs/api/adCampaigns.d.ts +707 -0
- package/docs/api/adCampaigns.md +1091 -0
- package/docs/api/adCreatives.d.ts +996 -0
- package/docs/api/adCreatives.md +1708 -0
- package/docs/api/agency.d.ts +556 -0
- package/docs/api/agency.md +845 -0
- package/docs/api/agent.d.ts +330 -0
- package/docs/api/agent.md +514 -0
- package/docs/api/agents.d.ts +1622 -0
- package/docs/api/agents.md +2860 -0
- package/docs/api/aiInbox.d.ts +1984 -0
- package/docs/api/aiInbox.md +3490 -0
- package/docs/api/analytics.d.ts +1273 -0
- package/docs/api/analytics.md +2095 -0
- package/docs/api/apiKeys.d.ts +252 -0
- package/docs/api/apiKeys.md +318 -0
- package/docs/api/appDeployments.d.ts +236 -0
- package/docs/api/appDeployments.md +471 -0
- package/docs/api/appDomains.d.ts +171 -0
- package/docs/api/appDomains.md +281 -0
- package/docs/api/appLogs.d.ts +120 -0
- package/docs/api/appLogs.md +159 -0
- package/docs/api/appObjects.d.ts +415 -0
- package/docs/api/appObjects.md +568 -0
- package/docs/api/appPages.d.ts +557 -0
- package/docs/api/appPages.md +796 -0
- package/docs/api/appPlatformTokens.d.ts +123 -0
- package/docs/api/appPlatformTokens.md +172 -0
- package/docs/api/appointments.d.ts +2361 -0
- package/docs/api/appointments.md +3917 -0
- package/docs/api/apps.d.ts +822 -0
- package/docs/api/apps.md +1342 -0
- package/docs/api/assertUpsert.d.ts +286 -0
- package/docs/api/assertUpsert.md +370 -0
- package/docs/api/audienceSyncs.d.ts +259 -0
- package/docs/api/audienceSyncs.md +395 -0
- package/docs/api/brandKit.d.ts +686 -0
- package/docs/api/brandKit.md +1133 -0
- package/docs/api/bugReports.d.ts +181 -0
- package/docs/api/bugReports.md +268 -0
- package/docs/api/by-path.md +3260 -0
- package/docs/api/calendarInvites.d.ts +117 -0
- package/docs/api/calendarInvites.md +148 -0
- package/docs/api/campaignWorkflows.d.ts +152 -0
- package/docs/api/campaignWorkflows.md +200 -0
- package/docs/api/campaigns.d.ts +721 -0
- package/docs/api/campaigns.md +1236 -0
- package/docs/api/channels.d.ts +171 -0
- package/docs/api/channels.md +235 -0
- package/docs/api/cliCampaigns.d.ts +205 -0
- package/docs/api/cliCampaigns.md +256 -0
- package/docs/api/cliPipelines.d.ts +324 -0
- package/docs/api/cliPipelines.md +562 -0
- package/docs/api/clickHouse.d.ts +115 -0
- package/docs/api/clickHouse.md +138 -0
- package/docs/api/companies.d.ts +1636 -0
- package/docs/api/companies.md +2211 -0
- package/docs/api/companyIntelligence.d.ts +299 -0
- package/docs/api/companyIntelligence.md +488 -0
- package/docs/api/contacts.d.ts +2173 -0
- package/docs/api/contacts.md +3143 -0
- package/docs/api/content.d.ts +968 -0
- package/docs/api/content.md +1667 -0
- package/docs/api/contentGridSkills.d.ts +177 -0
- package/docs/api/contentGridSkills.md +271 -0
- package/docs/api/copilot.d.ts +1017 -0
- package/docs/api/copilot.md +1765 -0
- package/docs/api/crmSyncs.d.ts +215 -0
- package/docs/api/crmSyncs.md +301 -0
- package/docs/api/customerSuccess.d.ts +491 -0
- package/docs/api/customerSuccess.md +776 -0
- package/docs/api/deals.d.ts +1697 -0
- package/docs/api/deals.md +2436 -0
- package/docs/api/deliverability.d.ts +418 -0
- package/docs/api/deliverability.md +677 -0
- package/docs/api/desk.d.ts +1765 -0
- package/docs/api/desk.md +3007 -0
- package/docs/api/dialer.d.ts +1185 -0
- package/docs/api/dialer.md +2166 -0
- package/docs/api/dialerAnalytics.d.ts +187 -0
- package/docs/api/dialerAnalytics.md +257 -0
- package/docs/api/documents.d.ts +895 -0
- package/docs/api/documents.md +1440 -0
- package/docs/api/duplicates.d.ts +195 -0
- package/docs/api/duplicates.md +315 -0
- package/docs/api/eSign.d.ts +38 -0
- package/docs/api/eSign.md +54 -0
- package/docs/api/eSignature.d.ts +242 -0
- package/docs/api/eSignature.md +341 -0
- package/docs/api/enrichment.d.ts +3207 -0
- package/docs/api/enrichment.md +5225 -0
- package/docs/api/events.d.ts +115 -0
- package/docs/api/events.md +105 -0
- package/docs/api/fields.d.ts +482 -0
- package/docs/api/fields.md +566 -0
- package/docs/api/forms.d.ts +1012 -0
- package/docs/api/forms.md +1542 -0
- package/docs/api/gtmCampaigns.d.ts +662 -0
- package/docs/api/gtmCampaigns.md +1044 -0
- package/docs/api/gtmContext.d.ts +1187 -0
- package/docs/api/gtmContext.md +2112 -0
- package/docs/api/gtmDeliverability.d.ts +60 -0
- package/docs/api/gtmDeliverability.md +63 -0
- package/docs/api/gtmKnowledgeBase.d.ts +76 -0
- package/docs/api/gtmKnowledgeBase.md +91 -0
- package/docs/api/gtmLaunchHelpers.d.ts +123 -0
- package/docs/api/gtmLaunchHelpers.md +148 -0
- package/docs/api/gtmLibrary.d.ts +448 -0
- package/docs/api/gtmLibrary.md +780 -0
- package/docs/api/health.d.ts +39 -0
- package/docs/api/health.md +58 -0
- package/docs/api/imageLibrary.d.ts +341 -0
- package/docs/api/imageLibrary.md +569 -0
- package/docs/api/imports.d.ts +157 -0
- package/docs/api/imports.md +174 -0
- package/docs/api/inbox.d.ts +709 -0
- package/docs/api/inbox.md +1067 -0
- package/docs/api/install.d.ts +213 -0
- package/docs/api/install.md +317 -0
- package/docs/api/installedApps.d.ts +131 -0
- package/docs/api/installedApps.md +241 -0
- package/docs/api/integrationStatus.d.ts +142 -0
- package/docs/api/integrationStatus.md +205 -0
- package/docs/api/integrations.d.ts +2327 -0
- package/docs/api/integrations.md +3791 -0
- package/docs/api/intent.d.ts +482 -0
- package/docs/api/intent.md +858 -0
- package/docs/api/knowledge.d.ts +501 -0
- package/docs/api/knowledge.md +843 -0
- package/docs/api/knowledgeBase.d.ts +84 -0
- package/docs/api/knowledgeBase.md +96 -0
- package/docs/api/landingPages.d.ts +1411 -0
- package/docs/api/landingPages.md +2488 -0
- package/docs/api/leads.d.ts +133 -0
- package/docs/api/leads.md +180 -0
- package/docs/api/library.d.ts +217 -0
- package/docs/api/library.md +338 -0
- package/docs/api/linkedIn.d.ts +227 -0
- package/docs/api/linkedIn.md +289 -0
- package/docs/api/linkedInOutreach.d.ts +727 -0
- package/docs/api/linkedInOutreach.md +990 -0
- package/docs/api/lists.d.ts +1106 -0
- package/docs/api/lists.md +1609 -0
- package/docs/api/logs.d.ts +71 -0
- package/docs/api/logs.md +70 -0
- package/docs/api/mailboxes.d.ts +1050 -0
- package/docs/api/mailboxes.md +1690 -0
- package/docs/api/marketingIntelligence.d.ts +256 -0
- package/docs/api/marketingIntelligence.md +454 -0
- package/docs/api/marketplace.d.ts +3173 -0
- package/docs/api/marketplace.md +5953 -0
- package/docs/api/mcp.d.ts +69 -0
- package/docs/api/mcp.md +69 -0
- package/docs/api/me.d.ts +54 -0
- package/docs/api/me.md +56 -0
- package/docs/api/meetings.d.ts +539 -0
- package/docs/api/meetings.md +747 -0
- package/docs/api/newsletter.d.ts +1613 -0
- package/docs/api/newsletter.md +2746 -0
- package/docs/api/notes.d.ts +517 -0
- package/docs/api/notes.md +888 -0
- package/docs/api/notifications.d.ts +94 -0
- package/docs/api/notifications.md +105 -0
- package/docs/api/objects.d.ts +621 -0
- package/docs/api/objects.md +1098 -0
- package/docs/api/openSearch.d.ts +234 -0
- package/docs/api/openSearch.md +297 -0
- package/docs/api/ops.d.ts +299 -0
- package/docs/api/ops.md +339 -0
- package/docs/api/orgGovernance.d.ts +393 -0
- package/docs/api/orgGovernance.md +623 -0
- package/docs/api/orgVideos.d.ts +184 -0
- package/docs/api/orgVideos.md +252 -0
- package/docs/api/organizationSettings.d.ts +626 -0
- package/docs/api/organizationSettings.md +911 -0
- package/docs/api/phoneNumbers.d.ts +484 -0
- package/docs/api/phoneNumbers.md +777 -0
- package/docs/api/profile.d.ts +329 -0
- package/docs/api/profile.md +540 -0
- package/docs/api/programmaticPages.d.ts +400 -0
- package/docs/api/programmaticPages.md +626 -0
- package/docs/api/providerDomains.d.ts +866 -0
- package/docs/api/providerDomains.md +1446 -0
- package/docs/api/providerUsage.d.ts +129 -0
- package/docs/api/providerUsage.md +186 -0
- package/docs/api/public.d.ts +69 -0
- package/docs/api/public.md +78 -0
- package/docs/api/publicCopilot.d.ts +67 -0
- package/docs/api/publicCopilot.md +80 -0
- package/docs/api/publicSignals.d.ts +66 -0
- package/docs/api/publicSignals.md +71 -0
- package/docs/api/publicVisitors.d.ts +97 -0
- package/docs/api/publicVisitors.md +118 -0
- package/docs/api/quotes.d.ts +1564 -0
- package/docs/api/quotes.md +2553 -0
- package/docs/api/radar.d.ts +808 -0
- package/docs/api/radar.md +1431 -0
- package/docs/api/radarReports.d.ts +208 -0
- package/docs/api/radarReports.md +306 -0
- package/docs/api/recordRoles.d.ts +143 -0
- package/docs/api/recordRoles.md +175 -0
- package/docs/api/repos.d.ts +146 -0
- package/docs/api/repos.md +211 -0
- package/docs/api/research.d.ts +295 -0
- package/docs/api/research.md +534 -0
- package/docs/api/revenue.d.ts +402 -0
- package/docs/api/revenue.md +608 -0
- package/docs/api/revenueAnalytics.d.ts +147 -0
- package/docs/api/revenueAnalytics.md +212 -0
- package/docs/api/revenueLifecycle.d.ts +207 -0
- package/docs/api/revenueLifecycle.md +274 -0
- package/docs/api/revenueRecords.d.ts +372 -0
- package/docs/api/revenueRecords.md +563 -0
- package/docs/api/roles.d.ts +431 -0
- package/docs/api/roles.md +812 -0
- package/docs/api/salesCoach.d.ts +877 -0
- package/docs/api/salesCoach.md +1540 -0
- package/docs/api/sandbox.d.ts +210 -0
- package/docs/api/sandbox.md +380 -0
- package/docs/api/scans.d.ts +104 -0
- package/docs/api/scans.md +136 -0
- package/docs/api/scheduleBuy.d.ts +293 -0
- package/docs/api/scheduleBuy.md +431 -0
- package/docs/api/scraping.d.ts +266 -0
- package/docs/api/scraping.md +383 -0
- package/docs/api/sdrAnalytics.d.ts +138 -0
- package/docs/api/sdrAnalytics.md +246 -0
- package/docs/api/search.d.ts +598 -0
- package/docs/api/search.md +866 -0
- package/docs/api/seo.d.ts +447 -0
- package/docs/api/seo.md +660 -0
- package/docs/api/sequenceLifecycle.d.ts +439 -0
- package/docs/api/sequenceLifecycle.md +513 -0
- package/docs/api/sequences.d.ts +1936 -0
- package/docs/api/sequences.md +3232 -0
- package/docs/api/settings.d.ts +448 -0
- package/docs/api/settings.md +731 -0
- package/docs/api/signals.d.ts +1441 -0
- package/docs/api/signals.md +2526 -0
- package/docs/api/signatures.d.ts +719 -0
- package/docs/api/signatures.md +1247 -0
- package/docs/api/skills.d.ts +230 -0
- package/docs/api/skills.md +466 -0
- package/docs/api/snippet.d.ts +85 -0
- package/docs/api/snippet.md +106 -0
- package/docs/api/socialPublishing.d.ts +824 -0
- package/docs/api/socialPublishing.md +1245 -0
- package/docs/api/studioDocuments.d.ts +244 -0
- package/docs/api/studioDocuments.md +348 -0
- package/docs/api/support.d.ts +90 -0
- package/docs/api/support.md +76 -0
- package/docs/api/suppressions.d.ts +241 -0
- package/docs/api/suppressions.md +343 -0
- package/docs/api/surveys.d.ts +847 -0
- package/docs/api/surveys.md +1223 -0
- package/docs/api/tasks.d.ts +813 -0
- package/docs/api/tasks.md +1344 -0
- package/docs/api/teamMembers.d.ts +668 -0
- package/docs/api/teamMembers.md +1040 -0
- package/docs/api/teams.d.ts +784 -0
- package/docs/api/teams.md +1395 -0
- package/docs/api/usage.d.ts +277 -0
- package/docs/api/usage.md +389 -0
- package/docs/api/visitors.d.ts +690 -0
- package/docs/api/visitors.md +1075 -0
- package/docs/api/voice.d.ts +4661 -0
- package/docs/api/voice.md +7905 -0
- package/docs/api/webAnalytics.d.ts +964 -0
- package/docs/api/webAnalytics.md +1452 -0
- package/docs/api/webChat.d.ts +1704 -0
- package/docs/api/webChat.md +2048 -0
- package/docs/api/webhooks.d.ts +251 -0
- package/docs/api/webhooks.md +386 -0
- package/docs/api/websiteEditor.d.ts +324 -0
- package/docs/api/websiteEditor.md +517 -0
- package/docs/api/work.d.ts +2298 -0
- package/docs/api/work.md +3096 -0
- package/docs/api/workbench.d.ts +2962 -0
- package/docs/api/workbench.md +4884 -0
- package/docs/api/workflows.d.ts +1218 -0
- package/docs/api/workflows.md +2302 -0
- package/docs/sdk-clients.md +4339 -0
- package/package.json +10 -3
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
<!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
|
|
2
|
+
|
|
3
|
+
# `g8.api.scraping`: Scraping
|
|
4
|
+
|
|
5
|
+
10 operations (5 read, 3 write, 1 billable, 1 external).
|
|
6
|
+
|
|
7
|
+
No hand-written client covers this area. Call it through `g8.api.scraping.*` as shown below, or by operationId with `g8.api.call(operationId, input)`.
|
|
8
|
+
|
|
9
|
+
Every example below assumes this setup (server-side, API key):
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { g8 } from "@graph8/sdk";
|
|
13
|
+
|
|
14
|
+
g8.init({ apiKey: process.env.G8_API_KEY! });
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Example values are placeholders that match each field's type. Only required fields are shown. Every example is type-checked against the SDK in CI.
|
|
18
|
+
|
|
19
|
+
Exact TypeScript types for every operation on this page, and every schema they use: [scraping.d.ts](scraping.d.ts).
|
|
20
|
+
|
|
21
|
+
## Operations
|
|
22
|
+
|
|
23
|
+
| Call | HTTP | Tier | Scope | Summary |
|
|
24
|
+
|---|---|---|---|---|
|
|
25
|
+
| [`confirmScrapeJob`](#op-confirmscrapejob) | `POST /api/v1/scrape/jobs/{job_id}/confirm` | write | `enrichment:write` | Confirm Scrape Job |
|
|
26
|
+
| [`exportScrapeJobCsv`](#op-exportscrapejobcsv) | `GET /api/v1/scrape/jobs/{job_id}/export.csv` | read | `enrichment:read` | Export Scrape Job Csv |
|
|
27
|
+
| [`getCrawlStatus`](#op-getcrawlstatus) | `GET /api/v1/settings/scrape-config/crawl/status/{job_id}` | read | `enrichment:read` | Get Crawl Status |
|
|
28
|
+
| [`getScrapeConfig`](#op-getscrapeconfig) | `GET /api/v1/settings/scrape-config` | read | `enrichment:read` | Get Scrape Config |
|
|
29
|
+
| [`getScrapeJob`](#op-getscrapejob) | `GET /api/v1/scrape/jobs/{job_id}` | read | `enrichment:read` | Get Scrape Job |
|
|
30
|
+
| [`listScrapeAdapters`](#op-listscrapeadapters) | `GET /api/v1/scrape/adapters` | read | `enrichment:read` | List Scrape Adapters |
|
|
31
|
+
| [`rejectScrapeJob`](#op-rejectscrapejob) | `POST /api/v1/scrape/jobs/{job_id}/reject` | write | `enrichment:write` | Reject Scrape Job |
|
|
32
|
+
| [`startFullSiteCrawl`](#op-startfullsitecrawl) | `POST /api/v1/settings/scrape-config/crawl` | external | `enrichment:run` | Start Full Site Crawl |
|
|
33
|
+
| [`submitScrapeRequest`](#op-submitscraperequest) | `POST /api/v1/scrape/requests` | billable | `enrichment:run` | Submit Scrape Request |
|
|
34
|
+
| [`updateScrapeConfig`](#op-updatescrapeconfig) | `PATCH /api/v1/settings/scrape-config` | write | `enrichment:write` | Update Scrape Config |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
<a id="op-confirmscrapejob"></a>
|
|
39
|
+
|
|
40
|
+
### `g8.api.scraping.confirmScrapeJob(input)`
|
|
41
|
+
|
|
42
|
+
**Confirm Scrape Job**
|
|
43
|
+
|
|
44
|
+
- HTTP: `POST /api/v1/scrape/jobs/{job_id}/confirm`
|
|
45
|
+
- operationId: `confirm_scrape_job_scrape_jobs__job_id__confirm_post` (also callable as `g8.api.call("confirm_scrape_job_scrape_jobs__job_id__confirm_post", input)`)
|
|
46
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
47
|
+
- API-key scope: `enrichment:write`
|
|
48
|
+
|
|
49
|
+
Accept a scrape result, so what it found is kept.
|
|
50
|
+
|
|
51
|
+
**Input**
|
|
52
|
+
|
|
53
|
+
| Field | Type | Required | Description |
|
|
54
|
+
|---|---|---|---|
|
|
55
|
+
| `path.job_id` | `string` | yes | Scrape job id. |
|
|
56
|
+
|
|
57
|
+
**Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
58
|
+
|
|
59
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
60
|
+
|
|
61
|
+
**Example**
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
const result = await g8.api.scraping.confirmScrapeJob({ path: { job_id: "id" } });
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
<a id="op-exportscrapejobcsv"></a>
|
|
70
|
+
|
|
71
|
+
### `g8.api.scraping.exportScrapeJobCsv(input)`
|
|
72
|
+
|
|
73
|
+
**Export Scrape Job Csv**
|
|
74
|
+
|
|
75
|
+
- HTTP: `GET /api/v1/scrape/jobs/{job_id}/export.csv`
|
|
76
|
+
- operationId: `export_scrape_job_csv_scrape_jobs__job_id__export_csv_get` (also callable as `g8.api.call("export_scrape_job_csv_scrape_jobs__job_id__export_csv_get", input)`)
|
|
77
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
78
|
+
- API-key scope: `enrichment:read`
|
|
79
|
+
|
|
80
|
+
Download one scrape run's results as a CSV file.
|
|
81
|
+
|
|
82
|
+
A FILE, not the JSON envelope - the same bytes the app's download button
|
|
83
|
+
serves. Results live for 7 days after a run finishes; after that this is a
|
|
84
|
+
404 naming the reason, never an empty file that reads like a run that found
|
|
85
|
+
nothing.
|
|
86
|
+
|
|
87
|
+
**Input**
|
|
88
|
+
|
|
89
|
+
| Field | Type | Required | Description |
|
|
90
|
+
|---|---|---|---|
|
|
91
|
+
| `path.job_id` | `string` | yes | Scrape job id. |
|
|
92
|
+
|
|
93
|
+
**Returns**: no JSON body is declared for the success response.
|
|
94
|
+
|
|
95
|
+
**Example**
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
const result = await g8.api.scraping.exportScrapeJobCsv({ path: { job_id: "id" } });
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
<a id="op-getcrawlstatus"></a>
|
|
104
|
+
|
|
105
|
+
### `g8.api.scraping.getCrawlStatus(input)`
|
|
106
|
+
|
|
107
|
+
**Get Crawl Status**
|
|
108
|
+
|
|
109
|
+
- HTTP: `GET /api/v1/settings/scrape-config/crawl/status/{job_id}`
|
|
110
|
+
- operationId: `get_crawl_status_settings_scrape_config_crawl_status__job_id__get` (also callable as `g8.api.call("get_crawl_status_settings_scrape_config_crawl_status__job_id__get", input)`)
|
|
111
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
112
|
+
- API-key scope: `enrichment:read`
|
|
113
|
+
|
|
114
|
+
How far a site crawl has got.
|
|
115
|
+
|
|
116
|
+
**Input**
|
|
117
|
+
|
|
118
|
+
| Field | Type | Required | Description |
|
|
119
|
+
|---|---|---|---|
|
|
120
|
+
| `path.job_id` | `string` | yes | Crawl job id. |
|
|
121
|
+
|
|
122
|
+
**Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
123
|
+
|
|
124
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
125
|
+
|
|
126
|
+
**Example**
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
const result = await g8.api.scraping.getCrawlStatus({ path: { job_id: "id" } });
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
<a id="op-getscrapeconfig"></a>
|
|
135
|
+
|
|
136
|
+
### `g8.api.scraping.getScrapeConfig(input?)`
|
|
137
|
+
|
|
138
|
+
**Get Scrape Config**
|
|
139
|
+
|
|
140
|
+
- HTTP: `GET /api/v1/settings/scrape-config`
|
|
141
|
+
- operationId: `get_scrape_config_settings_scrape_config_get` (also callable as `g8.api.call("get_scrape_config_settings_scrape_config_get", input)`)
|
|
142
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
143
|
+
- API-key scope: `enrichment:read`
|
|
144
|
+
|
|
145
|
+
How the org scrapes: which pages, how deep, how often.
|
|
146
|
+
|
|
147
|
+
**Input**: none.
|
|
148
|
+
|
|
149
|
+
**Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
150
|
+
|
|
151
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
152
|
+
|
|
153
|
+
**Example**
|
|
154
|
+
|
|
155
|
+
```ts
|
|
156
|
+
const result = await g8.api.scraping.getScrapeConfig();
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
<a id="op-getscrapejob"></a>
|
|
162
|
+
|
|
163
|
+
### `g8.api.scraping.getScrapeJob(input)`
|
|
164
|
+
|
|
165
|
+
**Get Scrape Job**
|
|
166
|
+
|
|
167
|
+
- HTTP: `GET /api/v1/scrape/jobs/{job_id}`
|
|
168
|
+
- operationId: `get_scrape_job_scrape_jobs__job_id__get` (also callable as `g8.api.call("get_scrape_job_scrape_jobs__job_id__get", input)`)
|
|
169
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
170
|
+
- API-key scope: `enrichment:read`
|
|
171
|
+
|
|
172
|
+
One scrape job and its result.
|
|
173
|
+
|
|
174
|
+
**Input**
|
|
175
|
+
|
|
176
|
+
| Field | Type | Required | Description |
|
|
177
|
+
|---|---|---|---|
|
|
178
|
+
| `path.job_id` | `string` | yes | Scrape job id. |
|
|
179
|
+
|
|
180
|
+
**Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
181
|
+
|
|
182
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
183
|
+
|
|
184
|
+
**Example**
|
|
185
|
+
|
|
186
|
+
```ts
|
|
187
|
+
const result = await g8.api.scraping.getScrapeJob({ path: { job_id: "id" } });
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
<a id="op-listscrapeadapters"></a>
|
|
193
|
+
|
|
194
|
+
### `g8.api.scraping.listScrapeAdapters(input?)`
|
|
195
|
+
|
|
196
|
+
**List Scrape Adapters**
|
|
197
|
+
|
|
198
|
+
- HTTP: `GET /api/v1/scrape/adapters`
|
|
199
|
+
- operationId: `list_scrape_adapters_scrape_adapters_get` (also callable as `g8.api.call("list_scrape_adapters_scrape_adapters_get", input)`)
|
|
200
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
201
|
+
- API-key scope: `enrichment:read`
|
|
202
|
+
|
|
203
|
+
Which scrapers are available, and what each is good for.
|
|
204
|
+
|
|
205
|
+
**Input**: none.
|
|
206
|
+
|
|
207
|
+
**Returns** `ApiResponse_SettingsListPayload_`: the envelope `{ data: SettingsListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
208
|
+
|
|
209
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
210
|
+
|
|
211
|
+
`SettingsListPayload` fields:
|
|
212
|
+
|
|
213
|
+
| Field | Type | Required | Description |
|
|
214
|
+
|---|---|---|---|
|
|
215
|
+
| `items` | `Array<unknown>` | no | |
|
|
216
|
+
|
|
217
|
+
**Example**
|
|
218
|
+
|
|
219
|
+
```ts
|
|
220
|
+
const result = await g8.api.scraping.listScrapeAdapters();
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
<a id="op-rejectscrapejob"></a>
|
|
226
|
+
|
|
227
|
+
### `g8.api.scraping.rejectScrapeJob(input)`
|
|
228
|
+
|
|
229
|
+
**Reject Scrape Job**
|
|
230
|
+
|
|
231
|
+
- HTTP: `POST /api/v1/scrape/jobs/{job_id}/reject`
|
|
232
|
+
- operationId: `reject_scrape_job_scrape_jobs__job_id__reject_post` (also callable as `g8.api.call("reject_scrape_job_scrape_jobs__job_id__reject_post", input)`)
|
|
233
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
234
|
+
- API-key scope: `enrichment:write`
|
|
235
|
+
|
|
236
|
+
Discard a scrape result. What it found is not kept.
|
|
237
|
+
|
|
238
|
+
**Input**
|
|
239
|
+
|
|
240
|
+
| Field | Type | Required | Description |
|
|
241
|
+
|---|---|---|---|
|
|
242
|
+
| `path.job_id` | `string` | yes | Scrape job id. |
|
|
243
|
+
|
|
244
|
+
**Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
245
|
+
|
|
246
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
247
|
+
|
|
248
|
+
**Example**
|
|
249
|
+
|
|
250
|
+
```ts
|
|
251
|
+
const result = await g8.api.scraping.rejectScrapeJob({ path: { job_id: "id" } });
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
<a id="op-startfullsitecrawl"></a>
|
|
257
|
+
|
|
258
|
+
### `g8.api.scraping.startFullSiteCrawl(input)`
|
|
259
|
+
|
|
260
|
+
**Start Full Site Crawl**
|
|
261
|
+
|
|
262
|
+
- HTTP: `POST /api/v1/settings/scrape-config/crawl`
|
|
263
|
+
- operationId: `start_full_site_crawl_settings_scrape_config_crawl_post` (also callable as `g8.api.call("start_full_site_crawl_settings_scrape_config_crawl_post", input)`)
|
|
264
|
+
- Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
|
|
265
|
+
- API-key scope: `enrichment:run`
|
|
266
|
+
|
|
267
|
+
Crawl a whole site. RUNS IN THE BACKGROUND and can take a long time.
|
|
268
|
+
|
|
269
|
+
Returns a job id immediately; poll
|
|
270
|
+
`GET /settings/scrape-config/crawl/status/{job_id}` for progress. A full
|
|
271
|
+
crawl fetches every reachable page, so point it at a site you own.
|
|
272
|
+
|
|
273
|
+
**Input**
|
|
274
|
+
|
|
275
|
+
| Field | Type | Required | Description |
|
|
276
|
+
|---|---|---|---|
|
|
277
|
+
| `body` | `StartCrawlRequest` | yes | Request body; fields below. |
|
|
278
|
+
|
|
279
|
+
Body fields (`StartCrawlRequest`):
|
|
280
|
+
|
|
281
|
+
| Field | Type | Required | Description |
|
|
282
|
+
|---|---|---|---|
|
|
283
|
+
| `body.max_pages` | `integer \| null` | no | min 10, max 5000 |
|
|
284
|
+
| `body.source_url` | `string \| null` | no | Where to start. Omit to use the org's configured site. |
|
|
285
|
+
|
|
286
|
+
**Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
287
|
+
|
|
288
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
289
|
+
|
|
290
|
+
**Example**
|
|
291
|
+
|
|
292
|
+
```ts
|
|
293
|
+
// external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
|
|
294
|
+
const result = await g8.api.scraping.startFullSiteCrawl({ body: {} });
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
<a id="op-submitscraperequest"></a>
|
|
300
|
+
|
|
301
|
+
### `g8.api.scraping.submitScrapeRequest(input)`
|
|
302
|
+
|
|
303
|
+
**Submit Scrape Request**
|
|
304
|
+
|
|
305
|
+
- HTTP: `POST /api/v1/scrape/requests`
|
|
306
|
+
- operationId: `submit_scrape_request_scrape_requests_post` (also callable as `g8.api.call("submit_scrape_request_scrape_requests_post", input)`)
|
|
307
|
+
- Tier: `billable`: spends credits; the SDK never blindly retries it; confirm cost before bulk use
|
|
308
|
+
- API-key scope: `enrichment:run`
|
|
309
|
+
|
|
310
|
+
Ask for a scrape. Returns a job to poll.
|
|
311
|
+
|
|
312
|
+
Scraping fetches pages from a third party and can cost credits depending on
|
|
313
|
+
the adapter - check `GET /scrape/adapters` before running this in a loop.
|
|
314
|
+
|
|
315
|
+
**Input**
|
|
316
|
+
|
|
317
|
+
| Field | Type | Required | Description |
|
|
318
|
+
|---|---|---|---|
|
|
319
|
+
| `body` | `SubmitScrapeRequest` | yes | Request body; fields below. |
|
|
320
|
+
|
|
321
|
+
Body fields (`SubmitScrapeRequest`):
|
|
322
|
+
|
|
323
|
+
| Field | Type | Required | Description |
|
|
324
|
+
|---|---|---|---|
|
|
325
|
+
| `body.requirement` | `string` | yes | What to scrape, in plain English. min length 3, max length 2000 |
|
|
326
|
+
| `body.adapter` | `string \| null` | no | Skip the planner and use this capability directly. |
|
|
327
|
+
| `body.params` | `Record<string, unknown>` | no | |
|
|
328
|
+
| `body.preview` | `boolean` | no | Hold the run behind a 5-row preview. Leave it on for a first run. default `true` |
|
|
329
|
+
| `body.rescrape` | `boolean` | no | Re-run rows that already have a result. default `false` |
|
|
330
|
+
| `body.row_ids` | `Array<integer> \| null` | no | Limit the run to these rows. |
|
|
331
|
+
| `body.seed_targets` | `Array<string> \| null` | no | Cold start: add these as rows in `source_column` before scraping. |
|
|
332
|
+
| `body.source_column` | `string \| null` | no | Column holding the values to scrape from. |
|
|
333
|
+
| `body.staging_table_id` | `string \| null` | no | Staging table to read from and write into. |
|
|
334
|
+
|
|
335
|
+
**Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
336
|
+
|
|
337
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
338
|
+
|
|
339
|
+
**Example**
|
|
340
|
+
|
|
341
|
+
```ts
|
|
342
|
+
// billable: spends credits; the SDK never blindly retries it; confirm cost before bulk use.
|
|
343
|
+
const result = await g8.api.scraping.submitScrapeRequest({ body: { requirement: "example" } });
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
<a id="op-updatescrapeconfig"></a>
|
|
349
|
+
|
|
350
|
+
### `g8.api.scraping.updateScrapeConfig(input)`
|
|
351
|
+
|
|
352
|
+
**Update Scrape Config**
|
|
353
|
+
|
|
354
|
+
- HTTP: `PATCH /api/v1/settings/scrape-config`
|
|
355
|
+
- operationId: `update_scrape_config_settings_scrape_config_patch` (also callable as `g8.api.call("update_scrape_config_settings_scrape_config_patch", input)`)
|
|
356
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
357
|
+
- API-key scope: `enrichment:write`
|
|
358
|
+
|
|
359
|
+
Change the scraping configuration. Only what you send is written.
|
|
360
|
+
|
|
361
|
+
**Input**
|
|
362
|
+
|
|
363
|
+
| Field | Type | Required | Description |
|
|
364
|
+
|---|---|---|---|
|
|
365
|
+
| `body` | `ScrapeConfigUpdateRequest` | yes | Request body; fields below. |
|
|
366
|
+
|
|
367
|
+
Body fields (`ScrapeConfigUpdateRequest`):
|
|
368
|
+
|
|
369
|
+
| Field | Type | Required | Description |
|
|
370
|
+
|---|---|---|---|
|
|
371
|
+
| `body.exclude_paths` | `Array<string> \| null` | no | URL path patterns to skip while crawling. |
|
|
372
|
+
| `body.include_blog_pages` | `boolean \| null` | no | |
|
|
373
|
+
| `body.max_pages` | `integer \| null` | no | Pages per crawl. The app's own bounds. min 10, max 5000 |
|
|
374
|
+
|
|
375
|
+
**Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
376
|
+
|
|
377
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
378
|
+
|
|
379
|
+
**Example**
|
|
380
|
+
|
|
381
|
+
```ts
|
|
382
|
+
const result = await g8.api.scraping.updateScrapeConfig({ body: {} });
|
|
383
|
+
```
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/* Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. */
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Types for `g8.api.sdrAnalytics` (SDR Analytics): 5 operations.
|
|
5
|
+
*
|
|
6
|
+
* For reading. In code, import from the package instead:
|
|
7
|
+
* import type { ApiInput, ApiOutput, G8Contract } from "@graph8/sdk";
|
|
8
|
+
* type In = ApiInput<"get_ai_agents_summary_analytics_sdr_ai_agents_summary_get">;
|
|
9
|
+
*
|
|
10
|
+
* Reference with examples: sdrAnalytics.md
|
|
11
|
+
*/
|
|
12
|
+
/* eslint-disable */
|
|
13
|
+
|
|
14
|
+
/** `g8.api.sdrAnalytics.<member>` -> the operationId it calls. */
|
|
15
|
+
export interface SdrAnalyticsMembers {
|
|
16
|
+
getAiAgentsSummary: "get_ai_agents_summary_analytics_sdr_ai_agents_summary_get";
|
|
17
|
+
getSdrDetail: "get_sdr_detail_analytics_sdr__sdr_email__get";
|
|
18
|
+
getSdrLeaderboard: "get_sdr_leaderboard_analytics_sdr_leaderboard_get";
|
|
19
|
+
getSdrSummary: "get_sdr_summary_analytics_sdr_summary_get";
|
|
20
|
+
getSdrTrends: "get_sdr_trends_analytics_sdr_trends_get";
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** Input and output of every `g8.api.sdrAnalytics` operation, keyed by operationId. */
|
|
24
|
+
export interface SdrAnalyticsOperations {
|
|
25
|
+
/**
|
|
26
|
+
* GET /analytics/sdr/ai-agents/summary
|
|
27
|
+
* Get Ai Agents Summary
|
|
28
|
+
* tier: read · scope: analytics:read
|
|
29
|
+
*/
|
|
30
|
+
get_ai_agents_summary_analytics_sdr_ai_agents_summary_get: {
|
|
31
|
+
input: {
|
|
32
|
+
query?: {
|
|
33
|
+
/** Number of days to analyze */
|
|
34
|
+
days?: number;
|
|
35
|
+
};
|
|
36
|
+
headers?: {
|
|
37
|
+
"X-Org-Id"?: string | null;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
output: SDRAnalyticsResponse;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* GET /analytics/sdr/{sdr_email}
|
|
44
|
+
* Get Sdr Detail
|
|
45
|
+
* tier: read · scope: analytics:read
|
|
46
|
+
*/
|
|
47
|
+
get_sdr_detail_analytics_sdr__sdr_email__get: {
|
|
48
|
+
input: {
|
|
49
|
+
path: {
|
|
50
|
+
/** SDR email address */
|
|
51
|
+
sdr_email: string;
|
|
52
|
+
};
|
|
53
|
+
query?: {
|
|
54
|
+
/** Number of days to analyze */
|
|
55
|
+
days?: number;
|
|
56
|
+
};
|
|
57
|
+
headers?: {
|
|
58
|
+
"X-Org-Id"?: string | null;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
output: SDRAnalyticsResponse;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* GET /analytics/sdr/leaderboard
|
|
65
|
+
* Get Sdr Leaderboard
|
|
66
|
+
* tier: read · scope: analytics:read
|
|
67
|
+
*/
|
|
68
|
+
get_sdr_leaderboard_analytics_sdr_leaderboard_get: {
|
|
69
|
+
input: {
|
|
70
|
+
query?: {
|
|
71
|
+
/** Number of days to analyze */
|
|
72
|
+
days?: number;
|
|
73
|
+
/** Maximum SDRs to return */
|
|
74
|
+
limit?: number;
|
|
75
|
+
};
|
|
76
|
+
headers?: {
|
|
77
|
+
"X-Org-Id"?: string | null;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
output: SDRAnalyticsResponse;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* GET /analytics/sdr/summary
|
|
84
|
+
* Get Sdr Summary
|
|
85
|
+
* tier: read · scope: analytics:read
|
|
86
|
+
*/
|
|
87
|
+
get_sdr_summary_analytics_sdr_summary_get: {
|
|
88
|
+
input: {
|
|
89
|
+
query?: {
|
|
90
|
+
/** Number of days to analyze */
|
|
91
|
+
days?: number;
|
|
92
|
+
};
|
|
93
|
+
headers?: {
|
|
94
|
+
"X-Org-Id"?: string | null;
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
output: SDRAnalyticsResponse;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* GET /analytics/sdr/trends
|
|
101
|
+
* Get Sdr Trends
|
|
102
|
+
* tier: read · scope: analytics:read
|
|
103
|
+
*/
|
|
104
|
+
get_sdr_trends_analytics_sdr_trends_get: {
|
|
105
|
+
input: {
|
|
106
|
+
query?: {
|
|
107
|
+
/** Number of days to analyze */
|
|
108
|
+
days?: number;
|
|
109
|
+
/** Aggregation period: 'day' or 'week' */
|
|
110
|
+
granularity?: "day" | "week";
|
|
111
|
+
};
|
|
112
|
+
headers?: {
|
|
113
|
+
"X-Org-Id"?: string | null;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
output: SDRAnalyticsResponse;
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// 2 schemas referenced above (the same as G8Contract.<Name>).
|
|
121
|
+
|
|
122
|
+
/** Metadata for SDR analytics responses. */
|
|
123
|
+
export interface SDRAnalyticsMeta {
|
|
124
|
+
cache_ttl?: number;
|
|
125
|
+
cached: boolean;
|
|
126
|
+
days: number;
|
|
127
|
+
org_id: string;
|
|
128
|
+
query_time_ms?: number | null;
|
|
129
|
+
stale?: boolean;
|
|
130
|
+
timestamp: string;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/** Standard SDR analytics response wrapper. */
|
|
134
|
+
export interface SDRAnalyticsResponse {
|
|
135
|
+
data: Record<string, unknown> | Array<unknown>;
|
|
136
|
+
meta: SDRAnalyticsMeta;
|
|
137
|
+
success?: boolean;
|
|
138
|
+
}
|