@roarkanalytics/sdk-mcp 5.0.0 → 5.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/client-headers.d.mts +2 -2
- package/client-headers.d.ts +2 -2
- package/client-headers.js +1 -1
- package/client-headers.mjs +1 -1
- package/code-tool-worker.d.mts.map +1 -1
- package/code-tool-worker.d.ts.map +1 -1
- package/code-tool-worker.js +8 -0
- package/code-tool-worker.js.map +1 -1
- package/code-tool-worker.mjs +8 -0
- package/code-tool-worker.mjs.map +1 -1
- package/local-docs-search.d.mts.map +1 -1
- package/local-docs-search.d.ts.map +1 -1
- package/local-docs-search.js +228 -0
- package/local-docs-search.js.map +1 -1
- package/local-docs-search.mjs +228 -0
- package/local-docs-search.mjs.map +1 -1
- package/methods.d.mts.map +1 -1
- package/methods.d.ts.map +1 -1
- package/methods.js +48 -0
- package/methods.js.map +1 -1
- package/methods.mjs +48 -0
- package/methods.mjs.map +1 -1
- package/package.json +2 -2
- package/server.js +1 -1
- package/server.mjs +1 -1
- package/src/client-headers.ts +1 -1
- package/src/code-tool-worker.ts +8 -0
- package/src/local-docs-search.ts +270 -0
- package/src/methods.ts +48 -0
- package/src/server.ts +1 -1
package/local-docs-search.mjs
CHANGED
|
@@ -846,6 +846,234 @@ const EMBEDDED_METHODS = [
|
|
|
846
846
|
},
|
|
847
847
|
},
|
|
848
848
|
},
|
|
849
|
+
{
|
|
850
|
+
name: 'list',
|
|
851
|
+
endpoint: '/v1/live-report',
|
|
852
|
+
httpMethod: 'get',
|
|
853
|
+
summary: 'List live reports',
|
|
854
|
+
description: "Lists the project's saved live call reports, newest first.",
|
|
855
|
+
stainlessPath: '(resource) liveReport > (method) list',
|
|
856
|
+
qualified: 'client.liveReport.list',
|
|
857
|
+
params: ['limit?: number;', 'offset?: number;'],
|
|
858
|
+
response: "{ data: { items: { id: string; agentId: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; configKey: string; configManaged: boolean; createdAt: string; dashboardId: string; deliveryHour: number; description: string; filters: object[]; includeTranscriptExcerpts: boolean; name: string; nextDeliveryAt: string; notifications: object; projectId: string; status: 'ACTIVE' | 'PAUSED'; targets: object[]; timezone: string; updatedAt: string; }[]; totalCount: number; }; }",
|
|
859
|
+
markdown: "## list\n\n`client.liveReport.list(limit?: number, offset?: number): { data: object; }`\n\n**get** `/v1/live-report`\n\nLists the project's saved live call reports, newest first.\n\n### Parameters\n\n- `limit?: number`\n Page size, at most 100.\n\n- `offset?: number`\n\n### Returns\n\n- `{ data: { items: { id: string; agentId: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; configKey: string; configManaged: boolean; createdAt: string; dashboardId: string; deliveryHour: number; description: string; filters: object[]; includeTranscriptExcerpts: boolean; name: string; nextDeliveryAt: string; notifications: object; projectId: string; status: 'ACTIVE' | 'PAUSED'; targets: object[]; timezone: string; updatedAt: string; }[]; totalCount: number; }; }`\n\n - `data: { items: { id: string; agentId: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; configKey: string; configManaged: boolean; createdAt: string; dashboardId: string; deliveryHour: number; description: string; filters: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]; includeTranscriptExcerpts: boolean; name: string; nextDeliveryAt: string; notifications: { email: object; slack: object[]; fromConfig?: boolean; }; projectId: string; status: 'ACTIVE' | 'PAUSED'; targets: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]; timezone: string; updatedAt: string; }[]; totalCount: number; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst liveReports = await client.liveReport.list();\n\nconsole.log(liveReports);\n```",
|
|
860
|
+
perLanguage: {
|
|
861
|
+
typescript: {
|
|
862
|
+
method: 'client.liveReport.list',
|
|
863
|
+
example: "import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst liveReports = await client.liveReport.list();\n\nconsole.log(liveReports.data);",
|
|
864
|
+
},
|
|
865
|
+
python: {
|
|
866
|
+
method: 'live_report.list',
|
|
867
|
+
example: 'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nlive_reports = client.live_report.list()\nprint(live_reports.data)',
|
|
868
|
+
},
|
|
869
|
+
http: {
|
|
870
|
+
example: 'curl https://api.roark.ai/v1/live-report \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
871
|
+
},
|
|
872
|
+
},
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
name: 'create',
|
|
876
|
+
endpoint: '/v1/live-report',
|
|
877
|
+
httpMethod: 'post',
|
|
878
|
+
summary: 'Create a live report',
|
|
879
|
+
description: "Saves a report on the project's live calls. Simulations are never included.\n\nTargets are analytics measures held to a bar: a threshold metric is read as its pass rate (`value` is a\npercentage, 0-100, held AT_LEAST by default); a numeric metric as its average (held AT_MOST by default).\nEvery target is read for the period and the period before it, so the report says whether each was met\nand how it moved.\n\nScheduled reports are written `deliveryHour` hours into the day after each period ends in `timezone`\n(a week runs Monday to Sunday), then emailed and posted per `notifications`. With `generateNow` (the\ndefault) the report for the latest closed period is written right away and not sent.",
|
|
880
|
+
stainlessPath: '(resource) liveReport > (method) create',
|
|
881
|
+
qualified: 'client.liveReport.create',
|
|
882
|
+
params: [
|
|
883
|
+
'name: string;',
|
|
884
|
+
'agentId?: string;',
|
|
885
|
+
"cadence?: 'DAILY' | 'WEEKLY' | 'MONTHLY';",
|
|
886
|
+
'dashboardId?: string;',
|
|
887
|
+
'deliveryHour?: number;',
|
|
888
|
+
'description?: string;',
|
|
889
|
+
"filters?: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[];",
|
|
890
|
+
'generateNow?: boolean;',
|
|
891
|
+
'includeTranscriptExcerpts?: boolean;',
|
|
892
|
+
'notifications?: { email: { enabled: boolean; recipients: string[]; }; slack: { channelId: string; channelName: string; }[]; };',
|
|
893
|
+
"status?: 'ACTIVE' | 'PAUSED';",
|
|
894
|
+
"targets?: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[];",
|
|
895
|
+
'timezone?: string;',
|
|
896
|
+
],
|
|
897
|
+
response: "{ data: { id: string; agentId: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; configKey: string; configManaged: boolean; createdAt: string; dashboardId: string; deliveryHour: number; description: string; filters: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]; includeTranscriptExcerpts: boolean; name: string; nextDeliveryAt: string; notifications: { email: object; slack: object[]; fromConfig?: boolean; }; projectId: string; status: 'ACTIVE' | 'PAUSED'; targets: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]; timezone: string; updatedAt: string; }; }",
|
|
898
|
+
markdown: "## create\n\n`client.liveReport.create(name: string, agentId?: string, cadence?: 'DAILY' | 'WEEKLY' | 'MONTHLY', dashboardId?: string, deliveryHour?: number, description?: string, filters?: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[], generateNow?: boolean, includeTranscriptExcerpts?: boolean, notifications?: { email: { enabled: boolean; recipients: string[]; }; slack: { channelId: string; channelName: string; }[]; }, status?: 'ACTIVE' | 'PAUSED', targets?: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[], timezone?: string): { data: object; }`\n\n**post** `/v1/live-report`\n\nSaves a report on the project's live calls. Simulations are never included.\n\nTargets are analytics measures held to a bar: a threshold metric is read as its pass rate (`value` is a\npercentage, 0-100, held AT_LEAST by default); a numeric metric as its average (held AT_MOST by default).\nEvery target is read for the period and the period before it, so the report says whether each was met\nand how it moved.\n\nScheduled reports are written `deliveryHour` hours into the day after each period ends in `timezone`\n(a week runs Monday to Sunday), then emailed and posted per `notifications`. With `generateNow` (the\ndefault) the report for the latest closed period is written right away and not sent.\n\n### Parameters\n\n- `name: string`\n\n- `agentId?: string`\n\n- `cadence?: 'DAILY' | 'WEEKLY' | 'MONTHLY'`\n\n- `dashboardId?: string`\n\n- `deliveryHour?: number`\n\n- `description?: string`\n\n- `filters?: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]`\n\n- `generateNow?: boolean`\n Write the report for the latest closed period right away. Default true.\n\n- `includeTranscriptExcerpts?: boolean`\n\n- `notifications?: { email: { enabled: boolean; recipients: string[]; }; slack: { channelId: string; channelName: string; }[]; }`\n\n- `status?: 'ACTIVE' | 'PAUSED'`\n\n- `targets?: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]`\n\n- `timezone?: string`\n\n### Returns\n\n- `{ data: { id: string; agentId: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; configKey: string; configManaged: boolean; createdAt: string; dashboardId: string; deliveryHour: number; description: string; filters: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]; includeTranscriptExcerpts: boolean; name: string; nextDeliveryAt: string; notifications: { email: object; slack: object[]; fromConfig?: boolean; }; projectId: string; status: 'ACTIVE' | 'PAUSED'; targets: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]; timezone: string; updatedAt: string; }; }`\n\n - `data: { id: string; agentId: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; configKey: string; configManaged: boolean; createdAt: string; dashboardId: string; deliveryHour: number; description: string; filters: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]; includeTranscriptExcerpts: boolean; name: string; nextDeliveryAt: string; notifications: { email: { enabled: boolean; recipients: string[]; }; slack: { channelId: string; channelName: string; notificationConfigId: string; }[]; fromConfig?: boolean; }; projectId: string; status: 'ACTIVE' | 'PAUSED'; targets: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]; timezone: string; updatedAt: string; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst liveReport = await client.liveReport.create({ name: 'x' });\n\nconsole.log(liveReport);\n```",
|
|
899
|
+
perLanguage: {
|
|
900
|
+
typescript: {
|
|
901
|
+
method: 'client.liveReport.create',
|
|
902
|
+
example: "import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst liveReport = await client.liveReport.create({ name: 'x' });\n\nconsole.log(liveReport.data);",
|
|
903
|
+
},
|
|
904
|
+
python: {
|
|
905
|
+
method: 'live_report.create',
|
|
906
|
+
example: 'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nlive_report = client.live_report.create(\n name="x",\n)\nprint(live_report.data)',
|
|
907
|
+
},
|
|
908
|
+
http: {
|
|
909
|
+
example: 'curl https://api.roark.ai/v1/live-report \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN" \\\n -d \'{\n "name": "x"\n }\'',
|
|
910
|
+
},
|
|
911
|
+
},
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
name: 'getById',
|
|
915
|
+
endpoint: '/v1/live-report/{reportId}',
|
|
916
|
+
httpMethod: 'get',
|
|
917
|
+
summary: 'Get a live report',
|
|
918
|
+
description: 'Get a live report',
|
|
919
|
+
stainlessPath: '(resource) liveReport > (method) getById',
|
|
920
|
+
qualified: 'client.liveReport.getByID',
|
|
921
|
+
params: ['reportId: string;'],
|
|
922
|
+
response: "{ data: { id: string; agentId: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; configKey: string; configManaged: boolean; createdAt: string; dashboardId: string; deliveryHour: number; description: string; filters: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]; includeTranscriptExcerpts: boolean; name: string; nextDeliveryAt: string; notifications: { email: object; slack: object[]; fromConfig?: boolean; }; projectId: string; status: 'ACTIVE' | 'PAUSED'; targets: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]; timezone: string; updatedAt: string; }; }",
|
|
923
|
+
markdown: "## getById\n\n`client.liveReport.getByID(reportId: string): { data: object; }`\n\n**get** `/v1/live-report/{reportId}`\n\nGet a live report\n\n### Parameters\n\n- `reportId: string`\n\n### Returns\n\n- `{ data: { id: string; agentId: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; configKey: string; configManaged: boolean; createdAt: string; dashboardId: string; deliveryHour: number; description: string; filters: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]; includeTranscriptExcerpts: boolean; name: string; nextDeliveryAt: string; notifications: { email: object; slack: object[]; fromConfig?: boolean; }; projectId: string; status: 'ACTIVE' | 'PAUSED'; targets: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]; timezone: string; updatedAt: string; }; }`\n\n - `data: { id: string; agentId: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; configKey: string; configManaged: boolean; createdAt: string; dashboardId: string; deliveryHour: number; description: string; filters: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]; includeTranscriptExcerpts: boolean; name: string; nextDeliveryAt: string; notifications: { email: { enabled: boolean; recipients: string[]; }; slack: { channelId: string; channelName: string; notificationConfigId: string; }[]; fromConfig?: boolean; }; projectId: string; status: 'ACTIVE' | 'PAUSED'; targets: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]; timezone: string; updatedAt: string; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst response = await client.liveReport.getByID('5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f');\n\nconsole.log(response);\n```",
|
|
924
|
+
perLanguage: {
|
|
925
|
+
typescript: {
|
|
926
|
+
method: 'client.liveReport.getByID',
|
|
927
|
+
example: "import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst response = await client.liveReport.getByID('5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f');\n\nconsole.log(response.data);",
|
|
928
|
+
},
|
|
929
|
+
python: {
|
|
930
|
+
method: 'live_report.get_by_id',
|
|
931
|
+
example: 'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nresponse = client.live_report.get_by_id(\n "5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f",\n)\nprint(response.data)',
|
|
932
|
+
},
|
|
933
|
+
http: {
|
|
934
|
+
example: 'curl https://api.roark.ai/v1/live-report/$REPORT_ID \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
935
|
+
},
|
|
936
|
+
},
|
|
937
|
+
},
|
|
938
|
+
{
|
|
939
|
+
name: 'update',
|
|
940
|
+
endpoint: '/v1/live-report/{reportId}',
|
|
941
|
+
httpMethod: 'patch',
|
|
942
|
+
summary: 'Update a live report',
|
|
943
|
+
description: 'Changes the fields sent. Set `status` to PAUSED to stop scheduled reports.',
|
|
944
|
+
stainlessPath: '(resource) liveReport > (method) update',
|
|
945
|
+
qualified: 'client.liveReport.update',
|
|
946
|
+
params: [
|
|
947
|
+
'reportId: string;',
|
|
948
|
+
'agentId?: string;',
|
|
949
|
+
"cadence?: 'DAILY' | 'WEEKLY' | 'MONTHLY';",
|
|
950
|
+
'dashboardId?: string;',
|
|
951
|
+
'deliveryHour?: number;',
|
|
952
|
+
'description?: string;',
|
|
953
|
+
"filters?: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[];",
|
|
954
|
+
'includeTranscriptExcerpts?: boolean;',
|
|
955
|
+
'name?: string;',
|
|
956
|
+
'notifications?: { email: { enabled: boolean; recipients: string[]; }; slack: { channelId: string; channelName: string; }[]; };',
|
|
957
|
+
"status?: 'ACTIVE' | 'PAUSED';",
|
|
958
|
+
"targets?: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[];",
|
|
959
|
+
'timezone?: string;',
|
|
960
|
+
],
|
|
961
|
+
response: "{ data: { id: string; agentId: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; configKey: string; configManaged: boolean; createdAt: string; dashboardId: string; deliveryHour: number; description: string; filters: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]; includeTranscriptExcerpts: boolean; name: string; nextDeliveryAt: string; notifications: { email: object; slack: object[]; fromConfig?: boolean; }; projectId: string; status: 'ACTIVE' | 'PAUSED'; targets: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]; timezone: string; updatedAt: string; }; }",
|
|
962
|
+
markdown: "## update\n\n`client.liveReport.update(reportId: string, agentId?: string, cadence?: 'DAILY' | 'WEEKLY' | 'MONTHLY', dashboardId?: string, deliveryHour?: number, description?: string, filters?: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[], includeTranscriptExcerpts?: boolean, name?: string, notifications?: { email: { enabled: boolean; recipients: string[]; }; slack: { channelId: string; channelName: string; }[]; }, status?: 'ACTIVE' | 'PAUSED', targets?: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[], timezone?: string): { data: object; }`\n\n**patch** `/v1/live-report/{reportId}`\n\nChanges the fields sent. Set `status` to PAUSED to stop scheduled reports.\n\n### Parameters\n\n- `reportId: string`\n\n- `agentId?: string`\n\n- `cadence?: 'DAILY' | 'WEEKLY' | 'MONTHLY'`\n\n- `dashboardId?: string`\n\n- `deliveryHour?: number`\n\n- `description?: string`\n\n- `filters?: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]`\n\n- `includeTranscriptExcerpts?: boolean`\n\n- `name?: string`\n\n- `notifications?: { email: { enabled: boolean; recipients: string[]; }; slack: { channelId: string; channelName: string; }[]; }`\n\n- `status?: 'ACTIVE' | 'PAUSED'`\n\n- `targets?: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]`\n\n- `timezone?: string`\n\n### Returns\n\n- `{ data: { id: string; agentId: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; configKey: string; configManaged: boolean; createdAt: string; dashboardId: string; deliveryHour: number; description: string; filters: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]; includeTranscriptExcerpts: boolean; name: string; nextDeliveryAt: string; notifications: { email: object; slack: object[]; fromConfig?: boolean; }; projectId: string; status: 'ACTIVE' | 'PAUSED'; targets: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]; timezone: string; updatedAt: string; }; }`\n\n - `data: { id: string; agentId: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; configKey: string; configManaged: boolean; createdAt: string; dashboardId: string; deliveryHour: number; description: string; filters: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]; includeTranscriptExcerpts: boolean; name: string; nextDeliveryAt: string; notifications: { email: { enabled: boolean; recipients: string[]; }; slack: { channelId: string; channelName: string; notificationConfigId: string; }[]; fromConfig?: boolean; }; projectId: string; status: 'ACTIVE' | 'PAUSED'; targets: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]; timezone: string; updatedAt: string; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst liveReport = await client.liveReport.update('5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f');\n\nconsole.log(liveReport);\n```",
|
|
963
|
+
perLanguage: {
|
|
964
|
+
typescript: {
|
|
965
|
+
method: 'client.liveReport.update',
|
|
966
|
+
example: "import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst liveReport = await client.liveReport.update('5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f');\n\nconsole.log(liveReport.data);",
|
|
967
|
+
},
|
|
968
|
+
python: {
|
|
969
|
+
method: 'live_report.update',
|
|
970
|
+
example: 'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nlive_report = client.live_report.update(\n report_id="5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f",\n)\nprint(live_report.data)',
|
|
971
|
+
},
|
|
972
|
+
http: {
|
|
973
|
+
example: 'curl https://api.roark.ai/v1/live-report/$REPORT_ID \\\n -X PATCH \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
974
|
+
},
|
|
975
|
+
},
|
|
976
|
+
},
|
|
977
|
+
{
|
|
978
|
+
name: 'delete',
|
|
979
|
+
endpoint: '/v1/live-report/{reportId}',
|
|
980
|
+
httpMethod: 'delete',
|
|
981
|
+
summary: 'Delete a live report',
|
|
982
|
+
description: 'Deletes the report and stops its scheduled reports.',
|
|
983
|
+
stainlessPath: '(resource) liveReport > (method) delete',
|
|
984
|
+
qualified: 'client.liveReport.delete',
|
|
985
|
+
params: ['reportId: string;'],
|
|
986
|
+
response: '{ data: { id: string; deleted: true; }; }',
|
|
987
|
+
markdown: "## delete\n\n`client.liveReport.delete(reportId: string): { data: object; }`\n\n**delete** `/v1/live-report/{reportId}`\n\nDeletes the report and stops its scheduled reports.\n\n### Parameters\n\n- `reportId: string`\n\n### Returns\n\n- `{ data: { id: string; deleted: true; }; }`\n\n - `data: { id: string; deleted: true; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst liveReport = await client.liveReport.delete('5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f');\n\nconsole.log(liveReport);\n```",
|
|
988
|
+
perLanguage: {
|
|
989
|
+
typescript: {
|
|
990
|
+
method: 'client.liveReport.delete',
|
|
991
|
+
example: "import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst liveReport = await client.liveReport.delete('5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f');\n\nconsole.log(liveReport.data);",
|
|
992
|
+
},
|
|
993
|
+
python: {
|
|
994
|
+
method: 'live_report.delete',
|
|
995
|
+
example: 'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nlive_report = client.live_report.delete(\n "5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f",\n)\nprint(live_report.data)',
|
|
996
|
+
},
|
|
997
|
+
http: {
|
|
998
|
+
example: 'curl https://api.roark.ai/v1/live-report/$REPORT_ID \\\n -X DELETE \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
999
|
+
},
|
|
1000
|
+
},
|
|
1001
|
+
},
|
|
1002
|
+
{
|
|
1003
|
+
name: 'run',
|
|
1004
|
+
endpoint: '/v1/live-report/{reportId}/generate',
|
|
1005
|
+
httpMethod: 'post',
|
|
1006
|
+
summary: 'Generate a live report document',
|
|
1007
|
+
description: 'Writes the report now, for its latest closed period or a custom window (`periodStart` + `periodEnd`,\nat most 92 days, ended). Returns 202 with the document in PENDING; poll\nGET /v1/live-report/{reportId}/document/{documentId} until `status` is READY or FAILED (typically a few\nminutes). An identical request already in flight is returned as-is. A generated document is not emailed.',
|
|
1008
|
+
stainlessPath: '(resource) liveReport > (method) run',
|
|
1009
|
+
qualified: 'client.liveReport.run',
|
|
1010
|
+
params: ['reportId: string;', 'periodEnd?: string;', 'periodStart?: string;'],
|
|
1011
|
+
response: "{ data: { id: string; announcedAt: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; completedAt: string; createdAt: string; definition: { agentId: string; agentName: string; dashboardId: string; description: string; filters: object[]; includeTranscriptExcerpts: boolean; name: string; targets: object[]; }; document: { agents: object[]; appendix: object; charts: object[]; checks: object[]; evidence: object; executiveSummary: object; generatedAtIso: string; headline: object; liveReportId: string; model: string; recommendations: object[]; targets: object[]; themes: object[]; version: 1; volume: object; }; errorMessage: string; liveReportId: string; periodEnd: string; periodStart: string; projectId: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; timezone: string; trigger: 'SCHEDULED' | 'MANUAL'; }; }",
|
|
1012
|
+
markdown: "## run\n\n`client.liveReport.run(reportId: string, periodEnd?: string, periodStart?: string): { data: object; }`\n\n**post** `/v1/live-report/{reportId}/generate`\n\nWrites the report now, for its latest closed period or a custom window (`periodStart` + `periodEnd`,\nat most 92 days, ended). Returns 202 with the document in PENDING; poll\nGET /v1/live-report/{reportId}/document/{documentId} until `status` is READY or FAILED (typically a few\nminutes). An identical request already in flight is returned as-is. A generated document is not emailed.\n\n### Parameters\n\n- `reportId: string`\n\n- `periodEnd?: string`\n ISO 8601 end (exclusive) of a custom window. Requires periodStart.\n\n- `periodStart?: string`\n ISO 8601 start of a custom window. Omit both for the latest closed period.\n\n### Returns\n\n- `{ data: { id: string; announcedAt: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; completedAt: string; createdAt: string; definition: { agentId: string; agentName: string; dashboardId: string; description: string; filters: object[]; includeTranscriptExcerpts: boolean; name: string; targets: object[]; }; document: { agents: object[]; appendix: object; charts: object[]; checks: object[]; evidence: object; executiveSummary: object; generatedAtIso: string; headline: object; liveReportId: string; model: string; recommendations: object[]; targets: object[]; themes: object[]; version: 1; volume: object; }; errorMessage: string; liveReportId: string; periodEnd: string; periodStart: string; projectId: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; timezone: string; trigger: 'SCHEDULED' | 'MANUAL'; }; }`\n\n - `data: { id: string; announcedAt: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; completedAt: string; createdAt: string; definition: { agentId: string; agentName: string; dashboardId: string; description: string; filters: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]; includeTranscriptExcerpts: boolean; name: string; targets: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]; }; document: { agents: { agentId: string; agentName: string; conversationCount: number; sharePct: number; targets: object[]; }[]; appendix: { methodology: string; notes: string[]; }; charts: { blocked: boolean; description: string; display: 'LINE' | 'NUMBER' | 'RADAR' | 'STACKED_BAR' | 'TABLE'; error: string; interval: 'HOUR' | 'DAY' | 'WEEK' | 'MONTH'; name: string; omittedSeries: number; series: object[]; }[]; checks: { checkName: string; comparable: boolean; deltaPts: number; evaluatedCount: number; failedCount: number; isTarget: boolean; metricDefinitionId: string; metricSlug: string; passRatePct: number; previousPassRatePct: number; }[]; evidence: { failingConversationCount: number; failingCountIsLowerBound: boolean; readConversationCount: number; sampled: boolean; }; executiveSummary: { keyFindings: object[]; paragraphs: string[]; sections?: object[]; }; generatedAtIso: string; headline: { agentName: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; periodEndIso: string; periodLabel: string; periodStartIso: string; reportName: string; statTiles: object[]; timezone: string; verdict: 'ON_TARGET' | 'OFF_TARGET' | 'NO_TARGETS' | 'NO_DATA'; verdictProse: string; }; liveReportId: string; model: string; recommendations: { afterText: string; beforeText: string; body: string; channel: 'PROMPT' | 'VOICE_CONFIG' | 'STT' | 'SPEECH_MODEL' | 'LLM_MODEL' | 'INFRA' | 'EXTERNAL'; order: number; promptOptimizationFindingId: string; severity: 'HIGH' | 'MEDIUM' | 'LOW'; source: 'PROMPT_OPTIMIZER' | 'DEBRIEF'; themeSlugs: string[]; title: string; }[]; targets: { actual: number; actualLabel: string; aggregation: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator: 'AT_LEAST' | 'AT_MOST'; deltaDirection: 'POSITIVE' | 'NEGATIVE' | 'NEUTRAL'; deltaLabel: string; error: string; failingConversationCount: number; key: string; label: string; lifecycle: 'NEW_MISS' | 'STILL_MISSED' | 'RECOVERED' | 'HOLDING'; metricDefinitionId: string; metricName: string; metricSlug: string; percentile: number; previous: number; previousLabel: string; sampleSize: number; series: object[]; status: 'MET' | 'MISSED' | 'NO_DATA'; targetLabel: string; targetValue: number; unit: 'PERCENT' | 'VALUE'; }[]; themes: { affectedConversationCount: number; analysis: string; checkNames: string[]; collectorQuote: object; estimatedAffectedConversationCount: number; excerpts: object[]; flaggedForImpact: boolean; impact: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW'; impactReason: string; issue: object; lifecycle: 'NEW' | 'PERSISTENT' | 'IMPROVING' | 'FIXED'; memberConversationIds: string[]; metricDefinitionIds: string[]; prevalence: 'WIDESPREAD' | 'RECURRING' | 'ISOLATED'; rootCauseChannel: 'PROMPT' | 'VOICE_CONFIG' | 'STT' | 'SPEECH_MODEL' | 'LLM_MODEL' | 'INFRA' | 'EXTERNAL'; severity: 'HIGH' | 'MEDIUM' | 'LOW'; slug: string; title: string; totalConversationCount: number; memberCalls?: object[]; }[]; version: 1; volume: { conversationCount: number; deltaPct: number; endings: object[]; previousConversationCount: number; series: object[]; }; }; errorMessage: string; liveReportId: string; periodEnd: string; periodStart: string; projectId: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; timezone: string; trigger: 'SCHEDULED' | 'MANUAL'; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst response = await client.liveReport.run('5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f');\n\nconsole.log(response);\n```",
|
|
1013
|
+
perLanguage: {
|
|
1014
|
+
typescript: {
|
|
1015
|
+
method: 'client.liveReport.run',
|
|
1016
|
+
example: "import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst response = await client.liveReport.run('5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f');\n\nconsole.log(response.data);",
|
|
1017
|
+
},
|
|
1018
|
+
python: {
|
|
1019
|
+
method: 'live_report.run',
|
|
1020
|
+
example: 'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nresponse = client.live_report.run(\n report_id="5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f",\n)\nprint(response.data)',
|
|
1021
|
+
},
|
|
1022
|
+
http: {
|
|
1023
|
+
example: 'curl https://api.roark.ai/v1/live-report/$REPORT_ID/generate \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
1024
|
+
},
|
|
1025
|
+
},
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
name: 'listDocuments',
|
|
1029
|
+
endpoint: '/v1/live-report/{reportId}/document',
|
|
1030
|
+
httpMethod: 'get',
|
|
1031
|
+
summary: 'List report documents',
|
|
1032
|
+
description: "Lists a report's documents, newest period first.",
|
|
1033
|
+
stainlessPath: '(resource) liveReport > (method) listDocuments',
|
|
1034
|
+
qualified: 'client.liveReport.listDocuments',
|
|
1035
|
+
params: ['reportId: string;', 'limit?: number;', 'offset?: number;'],
|
|
1036
|
+
response: "{ data: { items: { id: string; announcedAt: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; completedAt: string; createdAt: string; definition: object; document: object; errorMessage: string; liveReportId: string; periodEnd: string; periodStart: string; projectId: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; timezone: string; trigger: 'SCHEDULED' | 'MANUAL'; }[]; totalCount: number; }; }",
|
|
1037
|
+
markdown: "## listDocuments\n\n`client.liveReport.listDocuments(reportId: string, limit?: number, offset?: number): { data: object; }`\n\n**get** `/v1/live-report/{reportId}/document`\n\nLists a report's documents, newest period first.\n\n### Parameters\n\n- `reportId: string`\n\n- `limit?: number`\n Page size, at most 100.\n\n- `offset?: number`\n\n### Returns\n\n- `{ data: { items: { id: string; announcedAt: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; completedAt: string; createdAt: string; definition: object; document: object; errorMessage: string; liveReportId: string; periodEnd: string; periodStart: string; projectId: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; timezone: string; trigger: 'SCHEDULED' | 'MANUAL'; }[]; totalCount: number; }; }`\n\n - `data: { items: { id: string; announcedAt: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; completedAt: string; createdAt: string; definition: { agentId: string; agentName: string; dashboardId: string; description: string; filters: object[]; includeTranscriptExcerpts: boolean; name: string; targets: object[]; }; document: { agents: object[]; appendix: object; charts: object[]; checks: object[]; evidence: object; executiveSummary: object; generatedAtIso: string; headline: object; liveReportId: string; model: string; recommendations: object[]; targets: object[]; themes: object[]; version: 1; volume: object; }; errorMessage: string; liveReportId: string; periodEnd: string; periodStart: string; projectId: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; timezone: string; trigger: 'SCHEDULED' | 'MANUAL'; }[]; totalCount: number; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst response = await client.liveReport.listDocuments('reportId');\n\nconsole.log(response);\n```",
|
|
1038
|
+
perLanguage: {
|
|
1039
|
+
typescript: {
|
|
1040
|
+
method: 'client.liveReport.listDocuments',
|
|
1041
|
+
example: "import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst response = await client.liveReport.listDocuments('reportId');\n\nconsole.log(response.data);",
|
|
1042
|
+
},
|
|
1043
|
+
python: {
|
|
1044
|
+
method: 'live_report.list_documents',
|
|
1045
|
+
example: 'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nresponse = client.live_report.list_documents(\n report_id="reportId",\n)\nprint(response.data)',
|
|
1046
|
+
},
|
|
1047
|
+
http: {
|
|
1048
|
+
example: 'curl https://api.roark.ai/v1/live-report/$REPORT_ID/document \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
1049
|
+
},
|
|
1050
|
+
},
|
|
1051
|
+
},
|
|
1052
|
+
{
|
|
1053
|
+
name: 'getDocument',
|
|
1054
|
+
endpoint: '/v1/live-report/{reportId}/document/{documentId}',
|
|
1055
|
+
httpMethod: 'get',
|
|
1056
|
+
summary: 'Get a report document',
|
|
1057
|
+
description: 'Returns one written report. `document` is null until `status` is READY. Theme excerpts and grader quotes (call transcript text) are included only for keys with transcript:read.',
|
|
1058
|
+
stainlessPath: '(resource) liveReport > (method) getDocument',
|
|
1059
|
+
qualified: 'client.liveReport.getDocument',
|
|
1060
|
+
params: ['reportId: string;', 'documentId: string;'],
|
|
1061
|
+
response: "{ data: { id: string; announcedAt: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; completedAt: string; createdAt: string; definition: { agentId: string; agentName: string; dashboardId: string; description: string; filters: object[]; includeTranscriptExcerpts: boolean; name: string; targets: object[]; }; document: { agents: object[]; appendix: object; charts: object[]; checks: object[]; evidence: object; executiveSummary: object; generatedAtIso: string; headline: object; liveReportId: string; model: string; recommendations: object[]; targets: object[]; themes: object[]; version: 1; volume: object; }; errorMessage: string; liveReportId: string; periodEnd: string; periodStart: string; projectId: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; timezone: string; trigger: 'SCHEDULED' | 'MANUAL'; }; }",
|
|
1062
|
+
markdown: "## getDocument\n\n`client.liveReport.getDocument(reportId: string, documentId: string): { data: object; }`\n\n**get** `/v1/live-report/{reportId}/document/{documentId}`\n\nReturns one written report. `document` is null until `status` is READY. Theme excerpts and grader quotes (call transcript text) are included only for keys with transcript:read.\n\n### Parameters\n\n- `reportId: string`\n\n- `documentId: string`\n\n### Returns\n\n- `{ data: { id: string; announcedAt: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; completedAt: string; createdAt: string; definition: { agentId: string; agentName: string; dashboardId: string; description: string; filters: object[]; includeTranscriptExcerpts: boolean; name: string; targets: object[]; }; document: { agents: object[]; appendix: object; charts: object[]; checks: object[]; evidence: object; executiveSummary: object; generatedAtIso: string; headline: object; liveReportId: string; model: string; recommendations: object[]; targets: object[]; themes: object[]; version: 1; volume: object; }; errorMessage: string; liveReportId: string; periodEnd: string; periodStart: string; projectId: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; timezone: string; trigger: 'SCHEDULED' | 'MANUAL'; }; }`\n\n - `data: { id: string; announcedAt: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; completedAt: string; createdAt: string; definition: { agentId: string; agentName: string; dashboardId: string; description: string; filters: { type: 'METRIC_PROPERTY' | 'CALL_PROPERTY' | 'AGENT_PROPERTY' | 'CALL_ID' | 'MODALITY' | 'DATASET' | 'METRIC_VALUE'; operator?: string; property?: string; value?: string | number | boolean; }[]; includeTranscriptExcerpts: boolean; name: string; targets: { metric: string; value: number; aggregation?: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator?: 'AT_LEAST' | 'AT_MOST'; label?: string; passOperator?: 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO'; passValue?: string | number | boolean; percentile?: number; }[]; }; document: { agents: { agentId: string; agentName: string; conversationCount: number; sharePct: number; targets: object[]; }[]; appendix: { methodology: string; notes: string[]; }; charts: { blocked: boolean; description: string; display: 'LINE' | 'NUMBER' | 'RADAR' | 'STACKED_BAR' | 'TABLE'; error: string; interval: 'HOUR' | 'DAY' | 'WEEK' | 'MONTH'; name: string; omittedSeries: number; series: object[]; }[]; checks: { checkName: string; comparable: boolean; deltaPts: number; evaluatedCount: number; failedCount: number; isTarget: boolean; metricDefinitionId: string; metricSlug: string; passRatePct: number; previousPassRatePct: number; }[]; evidence: { failingConversationCount: number; failingCountIsLowerBound: boolean; readConversationCount: number; sampled: boolean; }; executiveSummary: { keyFindings: object[]; paragraphs: string[]; sections?: object[]; }; generatedAtIso: string; headline: { agentName: string; cadence: 'DAILY' | 'WEEKLY' | 'MONTHLY'; periodEndIso: string; periodLabel: string; periodStartIso: string; reportName: string; statTiles: object[]; timezone: string; verdict: 'ON_TARGET' | 'OFF_TARGET' | 'NO_TARGETS' | 'NO_DATA'; verdictProse: string; }; liveReportId: string; model: string; recommendations: { afterText: string; beforeText: string; body: string; channel: 'PROMPT' | 'VOICE_CONFIG' | 'STT' | 'SPEECH_MODEL' | 'LLM_MODEL' | 'INFRA' | 'EXTERNAL'; order: number; promptOptimizationFindingId: string; severity: 'HIGH' | 'MEDIUM' | 'LOW'; source: 'PROMPT_OPTIMIZER' | 'DEBRIEF'; themeSlugs: string[]; title: string; }[]; targets: { actual: number; actualLabel: string; aggregation: 'PASS_RATE' | 'AVG' | 'MEDIAN' | 'PERCENTILE' | 'MIN' | 'MAX'; comparator: 'AT_LEAST' | 'AT_MOST'; deltaDirection: 'POSITIVE' | 'NEGATIVE' | 'NEUTRAL'; deltaLabel: string; error: string; failingConversationCount: number; key: string; label: string; lifecycle: 'NEW_MISS' | 'STILL_MISSED' | 'RECOVERED' | 'HOLDING'; metricDefinitionId: string; metricName: string; metricSlug: string; percentile: number; previous: number; previousLabel: string; sampleSize: number; series: object[]; status: 'MET' | 'MISSED' | 'NO_DATA'; targetLabel: string; targetValue: number; unit: 'PERCENT' | 'VALUE'; }[]; themes: { affectedConversationCount: number; analysis: string; checkNames: string[]; collectorQuote: object; estimatedAffectedConversationCount: number; excerpts: object[]; flaggedForImpact: boolean; impact: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW'; impactReason: string; issue: object; lifecycle: 'NEW' | 'PERSISTENT' | 'IMPROVING' | 'FIXED'; memberConversationIds: string[]; metricDefinitionIds: string[]; prevalence: 'WIDESPREAD' | 'RECURRING' | 'ISOLATED'; rootCauseChannel: 'PROMPT' | 'VOICE_CONFIG' | 'STT' | 'SPEECH_MODEL' | 'LLM_MODEL' | 'INFRA' | 'EXTERNAL'; severity: 'HIGH' | 'MEDIUM' | 'LOW'; slug: string; title: string; totalConversationCount: number; memberCalls?: object[]; }[]; version: 1; volume: { conversationCount: number; deltaPct: number; endings: object[]; previousConversationCount: number; series: object[]; }; }; errorMessage: string; liveReportId: string; periodEnd: string; periodStart: string; projectId: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; timezone: string; trigger: 'SCHEDULED' | 'MANUAL'; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst response = await client.liveReport.getDocument('9e8d7c6b-5a4f-4e3d-8c2b-1a0f9e8d7c6b', {\n reportId: '5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f',\n});\n\nconsole.log(response);\n```",
|
|
1063
|
+
perLanguage: {
|
|
1064
|
+
typescript: {
|
|
1065
|
+
method: 'client.liveReport.getDocument',
|
|
1066
|
+
example: "import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst response = await client.liveReport.getDocument('9e8d7c6b-5a4f-4e3d-8c2b-1a0f9e8d7c6b', {\n reportId: '5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f',\n});\n\nconsole.log(response.data);",
|
|
1067
|
+
},
|
|
1068
|
+
python: {
|
|
1069
|
+
method: 'live_report.get_document',
|
|
1070
|
+
example: 'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nresponse = client.live_report.get_document(\n "9e8d7c6b-5a4f-4e3d-8c2b-1a0f9e8d7c6b",\n report_id="5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f",\n)\nprint(response.data)',
|
|
1071
|
+
},
|
|
1072
|
+
http: {
|
|
1073
|
+
example: 'curl https://api.roark.ai/v1/live-report/$REPORT_ID/document/$DOCUMENT_ID \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
1074
|
+
},
|
|
1075
|
+
},
|
|
1076
|
+
},
|
|
849
1077
|
{
|
|
850
1078
|
name: 'listDefinitions',
|
|
851
1079
|
endpoint: '/v1/metric/definitions',
|