@alvera-ai/platform-sdk 0.7.2 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/generated/sdk.gen.ts +933 -853
- package/src/generated/types.gen.ts +7213 -7213
- package/src/generated/valibot.gen.ts +4240 -4240
package/src/generated/sdk.gen.ts
CHANGED
|
@@ -22,37 +22,29 @@ export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends
|
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
25
|
+
* Resolve a short URL token to a page
|
|
26
26
|
*
|
|
27
|
-
*
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
38
|
-
url: '/api/v1/tenants/{tenant_slug}/tools',
|
|
39
|
-
...options
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Create a tool
|
|
27
|
+
* Given a connected app slug and a Puid short URL token, resolves the token to
|
|
28
|
+
* the pre-stored route path and MDM subject ID. The Cloudflare app calls this
|
|
29
|
+
* endpoint when a customer clicks a short URL, forwarding the original client
|
|
30
|
+
* headers (user-agent, IP, country) in the request body.
|
|
31
|
+
*
|
|
32
|
+
* When the page token is linked to a message (via workflow action execution),
|
|
33
|
+
* the regulated message details (raw body, channel, status) are included in
|
|
34
|
+
* the response.
|
|
35
|
+
*
|
|
36
|
+
* **Requires X-API-Key authentication.**
|
|
44
37
|
*
|
|
45
|
-
* Creates a new tool for the authenticated tenant.
|
|
46
38
|
*/
|
|
47
|
-
export const
|
|
39
|
+
export const platformApiConnectedAppControllerResolvePage = <ThrowOnError extends boolean = false>(options: Options<PlatformApiConnectedAppControllerResolvePageData, ThrowOnError>) => (options.client ?? client).post<PlatformApiConnectedAppControllerResolvePageResponses, PlatformApiConnectedAppControllerResolvePageErrors, ThrowOnError>({
|
|
48
40
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
49
|
-
body:
|
|
50
|
-
path:
|
|
41
|
+
body: vPlatformApiConnectedAppControllerResolvePageBody,
|
|
42
|
+
path: vPlatformApiConnectedAppControllerResolvePagePath,
|
|
51
43
|
query: v.optional(v.never())
|
|
52
44
|
}), data),
|
|
53
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
45
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiConnectedAppControllerResolvePageResponse, data),
|
|
54
46
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
55
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
47
|
+
url: '/api/v1/tenants/{tenant_slug}/connected-apps/{slug}/resolve-page',
|
|
56
48
|
...options,
|
|
57
49
|
headers: {
|
|
58
50
|
'Content-Type': 'application/json',
|
|
@@ -61,53 +53,60 @@ export const platformApiToolControllerCreate = <ThrowOnError extends boolean = f
|
|
|
61
53
|
});
|
|
62
54
|
|
|
63
55
|
/**
|
|
64
|
-
*
|
|
56
|
+
* Run a contract against a payload (sandbox)
|
|
65
57
|
*
|
|
66
|
-
*
|
|
58
|
+
* Runs the contract's `filter → transform → mdm_input` pipeline against the supplied JSON row. Stateless — no DB writes. Use for template authoring/testing.
|
|
67
59
|
*/
|
|
68
|
-
export const
|
|
60
|
+
export const platformApiInteroperabilityContractControllerRun = <ThrowOnError extends boolean = false>(options: Options<PlatformApiInteroperabilityContractControllerRunData, ThrowOnError>) => (options.client ?? client).post<PlatformApiInteroperabilityContractControllerRunResponses, PlatformApiInteroperabilityContractControllerRunErrors, ThrowOnError>({
|
|
61
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
69
62
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
70
|
-
body:
|
|
71
|
-
path:
|
|
72
|
-
query: v.optional(
|
|
63
|
+
body: vPlatformApiInteroperabilityContractControllerRunBody,
|
|
64
|
+
path: vPlatformApiInteroperabilityContractControllerRunPath,
|
|
65
|
+
query: v.optional(vPlatformApiInteroperabilityContractControllerRunQuery)
|
|
73
66
|
}), data),
|
|
74
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
67
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiInteroperabilityContractControllerRunResponse, data),
|
|
75
68
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
76
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
77
|
-
...options
|
|
69
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/interoperability-contracts/{slug}/run',
|
|
70
|
+
...options,
|
|
71
|
+
headers: {
|
|
72
|
+
'Content-Type': 'application/json',
|
|
73
|
+
...options.headers
|
|
74
|
+
}
|
|
78
75
|
});
|
|
79
76
|
|
|
80
77
|
/**
|
|
81
|
-
*
|
|
78
|
+
* List action status updaters
|
|
82
79
|
*
|
|
83
|
-
* Returns a
|
|
80
|
+
* Returns a paginated list of action status updaters for the authenticated tenant.
|
|
84
81
|
*/
|
|
85
|
-
export const
|
|
82
|
+
export const platformApiActionStatusUpdaterControllerIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiActionStatusUpdaterControllerIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiActionStatusUpdaterControllerIndexResponses, PlatformApiActionStatusUpdaterControllerIndexErrors, ThrowOnError>({
|
|
83
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
86
84
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
87
85
|
body: v.optional(v.never()),
|
|
88
|
-
path:
|
|
89
|
-
query: v.optional(
|
|
86
|
+
path: vPlatformApiActionStatusUpdaterControllerIndexPath,
|
|
87
|
+
query: v.optional(vPlatformApiActionStatusUpdaterControllerIndexQuery)
|
|
90
88
|
}), data),
|
|
91
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
89
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiActionStatusUpdaterControllerIndexResponse, data),
|
|
92
90
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
93
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
91
|
+
url: '/api/v1/tenants/{tenant_slug}/action-status-updaters',
|
|
94
92
|
...options
|
|
95
93
|
});
|
|
96
94
|
|
|
97
95
|
/**
|
|
98
|
-
*
|
|
96
|
+
* Create an action status updater
|
|
99
97
|
*
|
|
100
|
-
*
|
|
98
|
+
* Creates a new action status updater for the authenticated tenant.
|
|
101
99
|
*/
|
|
102
|
-
export const
|
|
100
|
+
export const platformApiActionStatusUpdaterControllerCreate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiActionStatusUpdaterControllerCreateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiActionStatusUpdaterControllerCreateResponses, PlatformApiActionStatusUpdaterControllerCreateErrors, ThrowOnError>({
|
|
101
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
103
102
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
104
|
-
body: v.optional(
|
|
105
|
-
path:
|
|
106
|
-
query: v.optional(
|
|
103
|
+
body: v.optional(vPlatformApiActionStatusUpdaterControllerCreateBody),
|
|
104
|
+
path: vPlatformApiActionStatusUpdaterControllerCreatePath,
|
|
105
|
+
query: v.optional(vPlatformApiActionStatusUpdaterControllerCreateQuery)
|
|
107
106
|
}), data),
|
|
108
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
107
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiActionStatusUpdaterControllerCreateResponse, data),
|
|
109
108
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
110
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
109
|
+
url: '/api/v1/tenants/{tenant_slug}/action-status-updaters',
|
|
111
110
|
...options,
|
|
112
111
|
headers: {
|
|
113
112
|
'Content-Type': 'application/json',
|
|
@@ -116,97 +115,118 @@ export const platformApiDataActivationClientControllerUpdate = <ThrowOnError ext
|
|
|
116
115
|
});
|
|
117
116
|
|
|
118
117
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
* Enqueues a `DatalakeMigrationWorker` Oban job that brings the datalake's
|
|
122
|
-
* per-tenant database to the current schema version. Required after
|
|
123
|
-
* `POST /datalakes`, which only persists the metadata row — it does NOT
|
|
124
|
-
* run migrations against the per-tenant DB. Without this step, every
|
|
125
|
-
* downstream resource that touches per-datalake tables
|
|
126
|
-
* (`data_activation_logs`, MDM tables, dataset tables) will fail with
|
|
127
|
-
* `relation … does not exist`.
|
|
128
|
-
*
|
|
129
|
-
* Asynchronous: returns 202 Accepted as soon as the job is enqueued.
|
|
130
|
-
* Callers poll `GET /datalakes/:id` and watch for `status: :ready`.
|
|
131
|
-
* Idempotent at the job level — re-enqueueing on a migrated datalake
|
|
132
|
-
* is a no-op once the worker completes.
|
|
133
|
-
*
|
|
134
|
-
* The LiveView "Migrate Datalake" button calls the same migrator
|
|
135
|
-
* synchronously inside the LiveView process.
|
|
136
|
-
*
|
|
137
|
-
* Requires a tenant-scoped Bearer with membership role `admin`.
|
|
118
|
+
* List batch run logs
|
|
138
119
|
*
|
|
120
|
+
* Returns a paginated list of batch-level workflow run logs.
|
|
139
121
|
*/
|
|
140
|
-
export const
|
|
122
|
+
export const platformApiAgenticWorkflowOperationsControllerBatchLogsIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowOperationsControllerBatchLogsIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiAgenticWorkflowOperationsControllerBatchLogsIndexResponses, PlatformApiAgenticWorkflowOperationsControllerBatchLogsIndexErrors, ThrowOnError>({
|
|
123
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
141
124
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
142
125
|
body: v.optional(v.never()),
|
|
143
|
-
path:
|
|
144
|
-
query: v.optional(
|
|
126
|
+
path: vPlatformApiAgenticWorkflowOperationsControllerBatchLogsIndexPath,
|
|
127
|
+
query: v.optional(vPlatformApiAgenticWorkflowOperationsControllerBatchLogsIndexQuery)
|
|
145
128
|
}), data),
|
|
146
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
129
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowOperationsControllerBatchLogsIndexResponse, data),
|
|
147
130
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
148
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
131
|
+
url: '/api/v1/tenants/{tenant_slug}/agentic-workflows/{workflow_slug}/batch-logs',
|
|
149
132
|
...options
|
|
150
133
|
});
|
|
151
134
|
|
|
152
135
|
/**
|
|
153
|
-
*
|
|
136
|
+
* Create and execute a SQL search for a dataset
|
|
154
137
|
*
|
|
155
|
-
*
|
|
138
|
+
* Creates a `UserSearch` row, runs `INSERT INTO search_results SELECT ... WHERE <search_query>` against the regulated schema, and returns the `UserSearch` resource (including `status`, `results_count`, and `error_message`). The session's `data_access_mode` controls which schema is queried.
|
|
139
|
+
*/
|
|
140
|
+
export const platformApiDatasetControllerCreateUserSearch = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDatasetControllerCreateUserSearchData, ThrowOnError>) => (options.client ?? client).post<PlatformApiDatasetControllerCreateUserSearchResponses, PlatformApiDatasetControllerCreateUserSearchErrors, ThrowOnError>({
|
|
141
|
+
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
142
|
+
body: v.optional(vPlatformApiDatasetControllerCreateUserSearchBody),
|
|
143
|
+
path: vPlatformApiDatasetControllerCreateUserSearchPath,
|
|
144
|
+
query: v.optional(vPlatformApiDatasetControllerCreateUserSearchQuery)
|
|
145
|
+
}), data),
|
|
146
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDatasetControllerCreateUserSearchResponse, data),
|
|
147
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
148
|
+
url: '/api/v1/datasets/{dataset}/user-searches',
|
|
149
|
+
...options,
|
|
150
|
+
headers: {
|
|
151
|
+
'Content-Type': 'application/json',
|
|
152
|
+
...options.headers
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Page results from a UserSearch — outer SQL chunk + inner resource Flop
|
|
156
158
|
*
|
|
157
|
-
*
|
|
158
|
-
* - `X-API-Key` header (M2M)
|
|
159
|
-
* - `Authorization: Bearer <session_token>` (human sessions)
|
|
159
|
+
* Two-tier pagination at two layers:
|
|
160
160
|
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
161
|
+
* * **Outer** — `outer_pagination[page]` / `outer_pagination[page_size]`
|
|
162
|
+
* (defaults `1` / `1000`, max `1000`) pages cached IDs from
|
|
163
|
+
* `search_results`. The cap is dictated by Postgres' `WHERE id IN (^ids)`
|
|
164
|
+
* plan — past ~1k parameters the planner regresses.
|
|
165
|
+
* * **Inner** — `inner_search[page]`, `inner_search[page_size]` (defaults
|
|
166
|
+
* `1` / `20`), `inner_search[order_direction]` (sort on the schema's
|
|
167
|
+
* `:global_search` compound), `inner_search[global_search]` (single
|
|
168
|
+
* ILIKE-OR text-search knob).
|
|
163
169
|
*
|
|
164
|
-
*
|
|
170
|
+
* Response carries both metas under `meta.sql` and `meta.flop`. A caller
|
|
171
|
+
* that only drives the inner page sees `meta.sql.has_next_page=true` when
|
|
172
|
+
* the SQL search isn't exhausted; advancing `outer_pagination[page]`
|
|
173
|
+
* fetches the next chunk.
|
|
165
174
|
*
|
|
166
175
|
*/
|
|
167
|
-
export const
|
|
176
|
+
export const platformApiDatasetControllerSearch = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDatasetControllerSearchData, ThrowOnError>) => (options.client ?? client).get<PlatformApiDatasetControllerSearchResponses, PlatformApiDatasetControllerSearchErrors, ThrowOnError>({
|
|
168
177
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
169
178
|
body: v.optional(v.never()),
|
|
170
|
-
path:
|
|
171
|
-
query: v.optional(
|
|
179
|
+
path: vPlatformApiDatasetControllerSearchPath,
|
|
180
|
+
query: v.optional(vPlatformApiDatasetControllerSearchQuery)
|
|
172
181
|
}), data),
|
|
173
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
174
|
-
security: [{ name: 'X-API-Key', type: 'apiKey' }
|
|
175
|
-
url: '/api/v1/
|
|
182
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDatasetControllerSearchResponse, data),
|
|
183
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
184
|
+
url: '/api/v1/datasets/{dataset}/search',
|
|
176
185
|
...options
|
|
177
186
|
});
|
|
178
187
|
|
|
179
188
|
/**
|
|
180
|
-
*
|
|
189
|
+
* List workflow execution logs
|
|
181
190
|
*
|
|
182
|
-
* Returns a
|
|
191
|
+
* Returns a paginated list of per-event execution logs for a workflow.
|
|
183
192
|
*/
|
|
184
|
-
export const
|
|
193
|
+
export const platformApiAgenticWorkflowOperationsControllerWorkflowLogsIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowOperationsControllerWorkflowLogsIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiAgenticWorkflowOperationsControllerWorkflowLogsIndexResponses, PlatformApiAgenticWorkflowOperationsControllerWorkflowLogsIndexErrors, ThrowOnError>({
|
|
194
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
185
195
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
186
196
|
body: v.optional(v.never()),
|
|
187
|
-
path:
|
|
188
|
-
query: v.optional(
|
|
197
|
+
path: vPlatformApiAgenticWorkflowOperationsControllerWorkflowLogsIndexPath,
|
|
198
|
+
query: v.optional(vPlatformApiAgenticWorkflowOperationsControllerWorkflowLogsIndexQuery)
|
|
189
199
|
}), data),
|
|
190
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
200
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowOperationsControllerWorkflowLogsIndexResponse, data),
|
|
191
201
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
192
|
-
url: '/api/v1/tenants/{tenant_slug}/agentic-workflows/{workflow_slug}/workflow-logs
|
|
202
|
+
url: '/api/v1/tenants/{tenant_slug}/agentic-workflows/{workflow_slug}/workflow-logs',
|
|
193
203
|
...options
|
|
194
204
|
});
|
|
195
205
|
|
|
196
206
|
/**
|
|
197
|
-
*
|
|
207
|
+
* Invite a user to the tenant
|
|
208
|
+
*
|
|
209
|
+
* Creates a `tenant_admin`-issued invitation. Mirrors the LiveView flow at
|
|
210
|
+
* `/app/team` → "Invite new member". Wraps `Tenants.send_tenant_invitation/3`
|
|
211
|
+
* verbatim, including the email send.
|
|
212
|
+
*
|
|
213
|
+
* The `role` enum is **membership-level** (`member`, `researcher`, `admin`),
|
|
214
|
+
* NOT the platform-wide `User.role` enum — privilege-escalation safe by
|
|
215
|
+
* construction.
|
|
216
|
+
*
|
|
217
|
+
* Requires a tenant-scoped Bearer with membership role `:admin`
|
|
218
|
+
* (`current_role.name == "tenant_admin"`).
|
|
198
219
|
*
|
|
199
|
-
* Returns a presigned GET URL for an object stored in one of the datalake's cloud storage buckets (regulated or unregulated). Typical use: read a `DACRawLogFile.object_key` (`s3://bucket/key`) off a data-activation log row, split it into `bucket` and `key`, then POST here to obtain a short-lived download URL.
|
|
200
220
|
*/
|
|
201
|
-
export const
|
|
221
|
+
export const platformApiInvitationControllerCreate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiInvitationControllerCreateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiInvitationControllerCreateResponses, PlatformApiInvitationControllerCreateErrors, ThrowOnError>({
|
|
202
222
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
203
|
-
body:
|
|
204
|
-
path:
|
|
223
|
+
body: vPlatformApiInvitationControllerCreateBody,
|
|
224
|
+
path: vPlatformApiInvitationControllerCreatePath,
|
|
205
225
|
query: v.optional(v.never())
|
|
206
226
|
}), data),
|
|
207
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
208
|
-
security: [{
|
|
209
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
227
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiInvitationControllerCreateResponse, data),
|
|
228
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
229
|
+
url: '/api/v1/tenants/{tenant_slug}/invitations',
|
|
210
230
|
...options,
|
|
211
231
|
headers: {
|
|
212
232
|
'Content-Type': 'application/json',
|
|
@@ -215,37 +235,36 @@ export const platformApiDatalakeControllerCreateDownloadLink = <ThrowOnError ext
|
|
|
215
235
|
});
|
|
216
236
|
|
|
217
237
|
/**
|
|
218
|
-
* Get a
|
|
238
|
+
* Get a connected app
|
|
219
239
|
*
|
|
220
|
-
* Returns a single
|
|
240
|
+
* Returns a single connected app by ID.
|
|
221
241
|
*/
|
|
222
|
-
export const
|
|
223
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
242
|
+
export const platformApiConnectedAppMgmtControllerShow = <ThrowOnError extends boolean = false>(options: Options<PlatformApiConnectedAppMgmtControllerShowData, ThrowOnError>) => (options.client ?? client).get<PlatformApiConnectedAppMgmtControllerShowResponses, PlatformApiConnectedAppMgmtControllerShowErrors, ThrowOnError>({
|
|
224
243
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
225
244
|
body: v.optional(v.never()),
|
|
226
|
-
path:
|
|
227
|
-
query: v.optional(
|
|
245
|
+
path: vPlatformApiConnectedAppMgmtControllerShowPath,
|
|
246
|
+
query: v.optional(v.never())
|
|
228
247
|
}), data),
|
|
229
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
248
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiConnectedAppMgmtControllerShowResponse, data),
|
|
230
249
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
231
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{id}',
|
|
250
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/connected-apps/{id}',
|
|
232
251
|
...options
|
|
233
252
|
});
|
|
234
253
|
|
|
235
254
|
/**
|
|
236
|
-
*
|
|
255
|
+
* Replace a connected app
|
|
237
256
|
*
|
|
238
|
-
*
|
|
257
|
+
* Replaces a connected app with the full resource body. PUT semantics — all required fields must be present.
|
|
239
258
|
*/
|
|
240
|
-
export const
|
|
259
|
+
export const platformApiConnectedAppMgmtControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiConnectedAppMgmtControllerUpdateData, ThrowOnError>) => (options.client ?? client).put<PlatformApiConnectedAppMgmtControllerUpdateResponses, PlatformApiConnectedAppMgmtControllerUpdateErrors, ThrowOnError>({
|
|
241
260
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
242
|
-
body: v.optional(
|
|
243
|
-
path:
|
|
261
|
+
body: v.optional(vPlatformApiConnectedAppMgmtControllerUpdateBody),
|
|
262
|
+
path: vPlatformApiConnectedAppMgmtControllerUpdatePath,
|
|
244
263
|
query: v.optional(v.never())
|
|
245
264
|
}), data),
|
|
246
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
265
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiConnectedAppMgmtControllerUpdateResponse, data),
|
|
247
266
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
248
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
267
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/connected-apps/{id}',
|
|
249
268
|
...options,
|
|
250
269
|
headers: {
|
|
251
270
|
'Content-Type': 'application/json',
|
|
@@ -254,72 +273,60 @@ export const platformApiToolControllerTestInvocation = <ThrowOnError extends boo
|
|
|
254
273
|
});
|
|
255
274
|
|
|
256
275
|
/**
|
|
257
|
-
*
|
|
276
|
+
* Verify subject identity
|
|
258
277
|
*
|
|
259
|
-
*
|
|
260
|
-
*/
|
|
261
|
-
export const platformApiDatasetControllerDatasetMetadata = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDatasetControllerDatasetMetadataData, ThrowOnError>) => (options.client ?? client).get<PlatformApiDatasetControllerDatasetMetadataResponses, PlatformApiDatasetControllerDatasetMetadataErrors, ThrowOnError>({
|
|
262
|
-
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
263
|
-
body: v.optional(v.never()),
|
|
264
|
-
path: vPlatformApiDatasetControllerDatasetMetadataPath,
|
|
265
|
-
query: v.optional(vPlatformApiDatasetControllerDatasetMetadataQuery)
|
|
266
|
-
}), data),
|
|
267
|
-
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDatasetControllerDatasetMetadataResponse, data),
|
|
268
|
-
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
269
|
-
url: '/api/v1/datasets/{dataset_type}/metadata',
|
|
270
|
-
...options
|
|
271
|
-
});
|
|
272
|
-
|
|
273
|
-
/**
|
|
274
|
-
* List accessible tenants
|
|
278
|
+
* Verify a subject's identity against their master record using fuzzy matching.
|
|
275
279
|
*
|
|
276
|
-
*
|
|
280
|
+
* Supports verification by:
|
|
281
|
+
* - **family_name** — Jaro distance >= 0.85
|
|
282
|
+
* - **given_name** — Jaro distance >= 0.80
|
|
283
|
+
* - **birth_date** — Fuzzy component matching >= 0.80
|
|
284
|
+
* - **identifiers** — Exact (system, value) match
|
|
277
285
|
*
|
|
278
|
-
*
|
|
279
|
-
*
|
|
286
|
+
* At least one verification field is required.
|
|
287
|
+
*
|
|
288
|
+
* **Requires X-API-Key authentication.**
|
|
280
289
|
*
|
|
281
290
|
*/
|
|
282
|
-
export const
|
|
283
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
291
|
+
export const platformApiMdmControllerVerify = <ThrowOnError extends boolean = false>(options: Options<PlatformApiMdmControllerVerifyData, ThrowOnError>) => (options.client ?? client).post<PlatformApiMdmControllerVerifyResponses, PlatformApiMdmControllerVerifyErrors, ThrowOnError>({
|
|
284
292
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
285
|
-
body:
|
|
286
|
-
path:
|
|
287
|
-
query: v.optional(
|
|
293
|
+
body: vPlatformApiMdmControllerVerifyBody,
|
|
294
|
+
path: vPlatformApiMdmControllerVerifyPath,
|
|
295
|
+
query: v.optional(v.never())
|
|
288
296
|
}), data),
|
|
289
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
290
|
-
security: [{ name: 'X-API-Key', type: 'apiKey' }
|
|
291
|
-
url: '/api/v1/tenants',
|
|
292
|
-
...options
|
|
297
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiMdmControllerVerifyResponse, data),
|
|
298
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
299
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/mdm/verify',
|
|
300
|
+
...options,
|
|
301
|
+
headers: {
|
|
302
|
+
'Content-Type': 'application/json',
|
|
303
|
+
...options.headers
|
|
304
|
+
}
|
|
293
305
|
});
|
|
294
306
|
|
|
295
307
|
/**
|
|
296
|
-
*
|
|
297
|
-
*
|
|
298
|
-
* Creates a new tenant and an `:admin` membership for the authenticated user.
|
|
299
|
-
* Wraps `Platform.Tenants.create_tenant/3` verbatim — same primitive that
|
|
300
|
-
* backs the `/app/tenants/new` LiveView.
|
|
308
|
+
* Sign up a new user
|
|
301
309
|
*
|
|
302
|
-
*
|
|
303
|
-
*
|
|
304
|
-
*
|
|
305
|
-
* and proceed with tenant-scoped work — no second sign-in round-trip.
|
|
310
|
+
* Register a new user account. Mirrors the `/auth/register` LiveView form
|
|
311
|
+
* submission shape — wraps `Accounts.register_user/2` verbatim with no
|
|
312
|
+
* business-logic divergence.
|
|
306
313
|
*
|
|
307
|
-
* The user
|
|
308
|
-
*
|
|
314
|
+
* The created user is **unconfirmed** and has **no tenant memberships**. To
|
|
315
|
+
* obtain a Bearer token, the user must first be confirmed (via the email
|
|
316
|
+
* confirmation flow in production, or via `PUT /api/v1/admin/users/:id/confirm`
|
|
317
|
+
* in test bootstrap), then exchange credentials at `POST /api/v1/sessions`.
|
|
309
318
|
*
|
|
310
|
-
*
|
|
311
|
-
* it carries no platform-user identity to bind the membership to).
|
|
319
|
+
* No authentication required — this endpoint is the entry point for new users.
|
|
312
320
|
*
|
|
313
321
|
*/
|
|
314
|
-
export const
|
|
322
|
+
export const platformApiAuthControllerSignUp = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAuthControllerSignUpData, ThrowOnError>) => (options.client ?? client).post<PlatformApiAuthControllerSignUpResponses, PlatformApiAuthControllerSignUpErrors, ThrowOnError>({
|
|
315
323
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
316
|
-
body:
|
|
324
|
+
body: vPlatformApiAuthControllerSignUpBody,
|
|
317
325
|
path: v.optional(v.never()),
|
|
318
326
|
query: v.optional(v.never())
|
|
319
327
|
}), data),
|
|
320
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
321
|
-
|
|
322
|
-
url: '/api/v1/tenants',
|
|
328
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAuthControllerSignUpResponse, data),
|
|
329
|
+
url: '/api/v1/auth/sign-up',
|
|
323
330
|
...options,
|
|
324
331
|
headers: {
|
|
325
332
|
'Content-Type': 'application/json',
|
|
@@ -328,37 +335,37 @@ export const platformApiTenantControllerCreate = <ThrowOnError extends boolean =
|
|
|
328
335
|
});
|
|
329
336
|
|
|
330
337
|
/**
|
|
331
|
-
* List
|
|
338
|
+
* List data activation clients
|
|
332
339
|
*
|
|
333
|
-
* Returns a paginated list of
|
|
340
|
+
* Returns a paginated list of DACs for the datalake in the path.
|
|
334
341
|
*/
|
|
335
|
-
export const
|
|
342
|
+
export const platformApiDataActivationClientControllerIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataActivationClientControllerIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiDataActivationClientControllerIndexResponses, PlatformApiDataActivationClientControllerIndexErrors, ThrowOnError>({
|
|
336
343
|
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
337
344
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
338
345
|
body: v.optional(v.never()),
|
|
339
|
-
path:
|
|
340
|
-
query: v.optional(
|
|
346
|
+
path: vPlatformApiDataActivationClientControllerIndexPath,
|
|
347
|
+
query: v.optional(vPlatformApiDataActivationClientControllerIndexQuery)
|
|
341
348
|
}), data),
|
|
342
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
349
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataActivationClientControllerIndexResponse, data),
|
|
343
350
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
344
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
351
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients',
|
|
345
352
|
...options
|
|
346
353
|
});
|
|
347
354
|
|
|
348
355
|
/**
|
|
349
|
-
* Create a
|
|
356
|
+
* Create a data activation client
|
|
350
357
|
*
|
|
351
|
-
* Creates a new
|
|
358
|
+
* Creates a new DAC. `slug` is auto-generated from `name`. `tool_call` is a polymorphic object whose shape depends on the `tool_call_type` discriminator — see `tool_call_type` enum for valid variants (RESTCall, SQLQueryCall, SFTPCall, SharePointExcelCall, AWSLambdaCall, ManualUploadCall, S3Call).
|
|
352
359
|
*/
|
|
353
|
-
export const
|
|
360
|
+
export const platformApiDataActivationClientControllerCreate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataActivationClientControllerCreateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiDataActivationClientControllerCreateResponses, PlatformApiDataActivationClientControllerCreateErrors, ThrowOnError>({
|
|
354
361
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
355
|
-
body: v.optional(
|
|
356
|
-
path:
|
|
362
|
+
body: v.optional(vPlatformApiDataActivationClientControllerCreateBody),
|
|
363
|
+
path: vPlatformApiDataActivationClientControllerCreatePath,
|
|
357
364
|
query: v.optional(v.never())
|
|
358
365
|
}), data),
|
|
359
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
366
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataActivationClientControllerCreateResponse, data),
|
|
360
367
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
361
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
368
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients',
|
|
362
369
|
...options,
|
|
363
370
|
headers: {
|
|
364
371
|
'Content-Type': 'application/json',
|
|
@@ -367,63 +374,109 @@ export const platformApiGenericTableControllerCreate = <ThrowOnError extends boo
|
|
|
367
374
|
});
|
|
368
375
|
|
|
369
376
|
/**
|
|
370
|
-
*
|
|
377
|
+
* Sync routes
|
|
371
378
|
*
|
|
372
|
-
*
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
379
|
+
* Enqueues a background job to fetch routes from the connected app's `/.well-known/routes.json` endpoint and update the stored routes.
|
|
380
|
+
*/
|
|
381
|
+
export const platformApiConnectedAppMgmtControllerSyncRoutes = <ThrowOnError extends boolean = false>(options: Options<PlatformApiConnectedAppMgmtControllerSyncRoutesData, ThrowOnError>) => (options.client ?? client).post<PlatformApiConnectedAppMgmtControllerSyncRoutesResponses, PlatformApiConnectedAppMgmtControllerSyncRoutesErrors, ThrowOnError>({
|
|
382
|
+
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
383
|
+
body: v.optional(v.never()),
|
|
384
|
+
path: vPlatformApiConnectedAppMgmtControllerSyncRoutesPath,
|
|
385
|
+
query: v.optional(v.never())
|
|
386
|
+
}), data),
|
|
387
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiConnectedAppMgmtControllerSyncRoutesResponse, data),
|
|
388
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
389
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/connected-apps/{id}/sync-routes',
|
|
390
|
+
...options
|
|
391
|
+
});
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* Health check
|
|
377
395
|
*
|
|
378
|
-
*
|
|
379
|
-
*
|
|
396
|
+
* Public health check endpoint that returns:
|
|
397
|
+
* - Application version
|
|
398
|
+
* - Database connectivity status (SELECT 1 query)
|
|
399
|
+
* - Current timestamp
|
|
400
|
+
*
|
|
401
|
+
* **No authentication required.**
|
|
380
402
|
*
|
|
381
403
|
*/
|
|
382
|
-
export const
|
|
404
|
+
export const platformApiPingControllerPing = <ThrowOnError extends boolean = false>(options?: Options<PlatformApiPingControllerPingData, ThrowOnError>) => (options?.client ?? client).get<PlatformApiPingControllerPingResponses, PlatformApiPingControllerPingErrors, ThrowOnError>({
|
|
383
405
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
384
406
|
body: v.optional(v.never()),
|
|
385
407
|
path: v.optional(v.never()),
|
|
386
408
|
query: v.optional(v.never())
|
|
387
409
|
}), data),
|
|
388
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
389
|
-
|
|
390
|
-
url: '/api/v1/invitations',
|
|
410
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiPingControllerPingResponse, data),
|
|
411
|
+
url: '/api/ping',
|
|
391
412
|
...options
|
|
392
413
|
});
|
|
393
414
|
|
|
394
415
|
/**
|
|
395
|
-
*
|
|
416
|
+
* Get workflow metadata
|
|
396
417
|
*
|
|
397
|
-
* Returns a
|
|
418
|
+
* Returns a markdown document describing the workflow's variable pipeline — available variables at each node (event dataset, MDM, context datasets, enrichment, filter, decision, actions).
|
|
398
419
|
*/
|
|
399
|
-
export const
|
|
400
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
420
|
+
export const platformApiAgenticWorkflowControllerMetadata = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowControllerMetadataData, ThrowOnError>) => (options.client ?? client).get<PlatformApiAgenticWorkflowControllerMetadataResponses, PlatformApiAgenticWorkflowControllerMetadataErrors, ThrowOnError>({
|
|
401
421
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
402
422
|
body: v.optional(v.never()),
|
|
403
|
-
path:
|
|
404
|
-
query: v.optional(
|
|
423
|
+
path: vPlatformApiAgenticWorkflowControllerMetadataPath,
|
|
424
|
+
query: v.optional(v.never())
|
|
425
|
+
}), data),
|
|
426
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowControllerMetadataResponse, data),
|
|
427
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
428
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/agentic-workflows/{id}/metadata',
|
|
429
|
+
...options
|
|
430
|
+
});
|
|
431
|
+
|
|
432
|
+
/**
|
|
433
|
+
* Delete a tool
|
|
434
|
+
*
|
|
435
|
+
* Deletes a tool. Returns 409 if the tool is referenced by another resource.
|
|
436
|
+
*/
|
|
437
|
+
export const platformApiToolControllerDelete = <ThrowOnError extends boolean = false>(options: Options<PlatformApiToolControllerDeleteData, ThrowOnError>) => (options.client ?? client).delete<PlatformApiToolControllerDeleteResponses, PlatformApiToolControllerDeleteErrors, ThrowOnError>({
|
|
438
|
+
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
439
|
+
body: v.optional(v.never()),
|
|
440
|
+
path: vPlatformApiToolControllerDeletePath,
|
|
441
|
+
query: v.optional(v.never())
|
|
442
|
+
}), data),
|
|
443
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiToolControllerDeleteResponse, data),
|
|
444
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
445
|
+
url: '/api/v1/tenants/{tenant_slug}/tools/{id}',
|
|
446
|
+
...options
|
|
447
|
+
});
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* Get a tool
|
|
451
|
+
*
|
|
452
|
+
* Returns a single tool by ID.
|
|
453
|
+
*/
|
|
454
|
+
export const platformApiToolControllerShow = <ThrowOnError extends boolean = false>(options: Options<PlatformApiToolControllerShowData, ThrowOnError>) => (options.client ?? client).get<PlatformApiToolControllerShowResponses, PlatformApiToolControllerShowErrors, ThrowOnError>({
|
|
455
|
+
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
456
|
+
body: v.optional(v.never()),
|
|
457
|
+
path: vPlatformApiToolControllerShowPath,
|
|
458
|
+
query: v.optional(v.never())
|
|
405
459
|
}), data),
|
|
406
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
460
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiToolControllerShowResponse, data),
|
|
407
461
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
408
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
462
|
+
url: '/api/v1/tenants/{tenant_slug}/tools/{id}',
|
|
409
463
|
...options
|
|
410
464
|
});
|
|
411
465
|
|
|
412
466
|
/**
|
|
413
|
-
*
|
|
467
|
+
* Replace a tool
|
|
414
468
|
*
|
|
415
|
-
*
|
|
469
|
+
* Replaces a tool with the full resource body. PUT semantics — all required fields must be present.
|
|
416
470
|
*/
|
|
417
|
-
export const
|
|
418
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
471
|
+
export const platformApiToolControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiToolControllerUpdateData, ThrowOnError>) => (options.client ?? client).put<PlatformApiToolControllerUpdateResponses, PlatformApiToolControllerUpdateErrors, ThrowOnError>({
|
|
419
472
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
420
|
-
body: v.optional(
|
|
421
|
-
path:
|
|
422
|
-
query: v.optional(
|
|
473
|
+
body: v.optional(vPlatformApiToolControllerUpdateBody),
|
|
474
|
+
path: vPlatformApiToolControllerUpdatePath,
|
|
475
|
+
query: v.optional(v.never())
|
|
423
476
|
}), data),
|
|
424
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
477
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiToolControllerUpdateResponse, data),
|
|
425
478
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
426
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
479
|
+
url: '/api/v1/tenants/{tenant_slug}/tools/{id}',
|
|
427
480
|
...options,
|
|
428
481
|
headers: {
|
|
429
482
|
'Content-Type': 'application/json',
|
|
@@ -432,81 +485,89 @@ export const platformApiInteroperabilityContractControllerCreate = <ThrowOnError
|
|
|
432
485
|
});
|
|
433
486
|
|
|
434
487
|
/**
|
|
435
|
-
*
|
|
488
|
+
* List processing logs for a Data Activation Client
|
|
436
489
|
*
|
|
437
|
-
* Returns a
|
|
490
|
+
* Returns a Flop-paginated list of `DataActivationLog` rows for this DAC. One log per `(batch_id, dataset_table)` — a single run produces multiple log rows, one per dataset table the DAC writes into. Filter or group client-side on `batch_id` to reconstruct a batch-level view.
|
|
438
491
|
*/
|
|
439
|
-
export const
|
|
492
|
+
export const platformApiDataActivationClientControllerLogsIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataActivationClientControllerLogsIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiDataActivationClientControllerLogsIndexResponses, PlatformApiDataActivationClientControllerLogsIndexErrors, ThrowOnError>({
|
|
440
493
|
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
441
494
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
442
495
|
body: v.optional(v.never()),
|
|
443
|
-
path:
|
|
444
|
-
query: v.optional(
|
|
496
|
+
path: vPlatformApiDataActivationClientControllerLogsIndexPath,
|
|
497
|
+
query: v.optional(vPlatformApiDataActivationClientControllerLogsIndexQuery)
|
|
445
498
|
}), data),
|
|
446
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
499
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataActivationClientControllerLogsIndexResponse, data),
|
|
447
500
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
448
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
501
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients/{slug}/logs',
|
|
449
502
|
...options
|
|
450
503
|
});
|
|
451
504
|
|
|
452
505
|
/**
|
|
453
|
-
*
|
|
506
|
+
* Stop refresh polling for a batch run log
|
|
454
507
|
*
|
|
455
|
-
*
|
|
508
|
+
* Deletes the DynamicCron job that polls this batch. The batch log is NOT deleted.
|
|
456
509
|
*/
|
|
457
|
-
export const
|
|
510
|
+
export const platformApiAgenticWorkflowOperationsControllerBatchLogStop = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowOperationsControllerBatchLogStopData, ThrowOnError>) => (options.client ?? client).post<PlatformApiAgenticWorkflowOperationsControllerBatchLogStopResponses, PlatformApiAgenticWorkflowOperationsControllerBatchLogStopErrors, ThrowOnError>({
|
|
458
511
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
459
512
|
body: v.optional(v.never()),
|
|
460
|
-
path:
|
|
513
|
+
path: vPlatformApiAgenticWorkflowOperationsControllerBatchLogStopPath,
|
|
461
514
|
query: v.optional(v.never())
|
|
462
515
|
}), data),
|
|
463
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
516
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowOperationsControllerBatchLogStopResponse, data),
|
|
464
517
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
465
|
-
url: '/api/v1/tenants/{tenant_slug}/agentic-workflows/{workflow_slug}/batch-logs/{id}',
|
|
518
|
+
url: '/api/v1/tenants/{tenant_slug}/agentic-workflows/{workflow_slug}/batch-logs/{id}/stop',
|
|
466
519
|
...options
|
|
467
520
|
});
|
|
468
521
|
|
|
469
522
|
/**
|
|
470
|
-
*
|
|
471
|
-
*
|
|
472
|
-
* Accepts a pending invitation addressed to the authenticated user, creating
|
|
473
|
-
* a `Membership` and deleting the invitation. Mirrors the LiveView flow at
|
|
474
|
-
* `/app/users/tenant-invitations` → "Accept" button. Wraps
|
|
475
|
-
* `Tenants.accept_invitation!/2` verbatim.
|
|
476
|
-
*
|
|
477
|
-
* The function-level guard `get_invitation_by_user!/2` ensures the invitation
|
|
478
|
-
* is addressed to the caller — cross-user acceptance returns 404.
|
|
479
|
-
*
|
|
480
|
-
* Requires any Bearer (the recipient often has only a tenant-less Bearer at
|
|
481
|
-
* this point — they just signed up and haven't joined a tenant yet).
|
|
523
|
+
* Get DAC dataset metadata
|
|
482
524
|
*
|
|
525
|
+
* Returns a markdown document describing the fields of each dataset connected to this data activation client via its interoperability contracts.
|
|
483
526
|
*/
|
|
484
|
-
export const
|
|
527
|
+
export const platformApiDataActivationClientControllerMetadata = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataActivationClientControllerMetadataData, ThrowOnError>) => (options.client ?? client).get<PlatformApiDataActivationClientControllerMetadataResponses, PlatformApiDataActivationClientControllerMetadataErrors, ThrowOnError>({
|
|
485
528
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
486
529
|
body: v.optional(v.never()),
|
|
487
|
-
path:
|
|
530
|
+
path: vPlatformApiDataActivationClientControllerMetadataPath,
|
|
488
531
|
query: v.optional(v.never())
|
|
489
532
|
}), data),
|
|
490
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
491
|
-
security: [{
|
|
492
|
-
url: '/api/v1/
|
|
533
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataActivationClientControllerMetadataResponse, data),
|
|
534
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
535
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients/{slug}/metadata',
|
|
493
536
|
...options
|
|
494
537
|
});
|
|
495
538
|
|
|
496
539
|
/**
|
|
497
|
-
*
|
|
540
|
+
* List agentic workflows
|
|
498
541
|
*
|
|
499
|
-
*
|
|
542
|
+
* Returns a paginated list of workflows for a datalake.
|
|
500
543
|
*/
|
|
501
|
-
export const
|
|
544
|
+
export const platformApiAgenticWorkflowControllerIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowControllerIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiAgenticWorkflowControllerIndexResponses, PlatformApiAgenticWorkflowControllerIndexErrors, ThrowOnError>({
|
|
545
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
502
546
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
503
|
-
body:
|
|
504
|
-
path:
|
|
547
|
+
body: v.optional(v.never()),
|
|
548
|
+
path: vPlatformApiAgenticWorkflowControllerIndexPath,
|
|
549
|
+
query: v.optional(vPlatformApiAgenticWorkflowControllerIndexQuery)
|
|
550
|
+
}), data),
|
|
551
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowControllerIndexResponse, data),
|
|
552
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
553
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/agentic-workflows',
|
|
554
|
+
...options
|
|
555
|
+
});
|
|
556
|
+
|
|
557
|
+
/**
|
|
558
|
+
* Create an agentic workflow
|
|
559
|
+
*
|
|
560
|
+
* Creates a new workflow. Attach AI agents via the `ai_agents` array.
|
|
561
|
+
*/
|
|
562
|
+
export const platformApiAgenticWorkflowControllerCreate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowControllerCreateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiAgenticWorkflowControllerCreateResponses, PlatformApiAgenticWorkflowControllerCreateErrors, ThrowOnError>({
|
|
563
|
+
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
564
|
+
body: v.optional(vPlatformApiAgenticWorkflowControllerCreateBody),
|
|
565
|
+
path: vPlatformApiAgenticWorkflowControllerCreatePath,
|
|
505
566
|
query: v.optional(v.never())
|
|
506
567
|
}), data),
|
|
507
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
568
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowControllerCreateResponse, data),
|
|
508
569
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
509
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
570
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/agentic-workflows',
|
|
510
571
|
...options,
|
|
511
572
|
headers: {
|
|
512
573
|
'Content-Type': 'application/json',
|
|
@@ -515,20 +576,24 @@ export const platformApiAgenticWorkflowOperationsControllerExecute = <ThrowOnErr
|
|
|
515
576
|
});
|
|
516
577
|
|
|
517
578
|
/**
|
|
518
|
-
*
|
|
579
|
+
* Update message tracking fields for a page
|
|
580
|
+
*
|
|
581
|
+
* Updates tracking timestamps (opened_at, form_submitted_at) on the message
|
|
582
|
+
* linked to a page token. Called by the connected app when a user opens a page
|
|
583
|
+
* or submits a form.
|
|
584
|
+
*
|
|
585
|
+
* **Requires X-API-Key authentication.**
|
|
519
586
|
*
|
|
520
|
-
* Returns a presigned PUT URL for uploading a file (NDJSON or CSV) directly to the datalake's regulated cloud storage. The returned key lives under `uploads/<datalake_id>/` and can be passed to downstream endpoints (e.g. data activation client ingest-file) that accept a pre-uploaded storage key.
|
|
521
587
|
*/
|
|
522
|
-
export const
|
|
523
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
588
|
+
export const platformApiConnectedAppControllerUpdateMessageTracking = <ThrowOnError extends boolean = false>(options: Options<PlatformApiConnectedAppControllerUpdateMessageTrackingData, ThrowOnError>) => (options.client ?? client).patch<PlatformApiConnectedAppControllerUpdateMessageTrackingResponses, PlatformApiConnectedAppControllerUpdateMessageTrackingErrors, ThrowOnError>({
|
|
524
589
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
525
|
-
body:
|
|
526
|
-
path:
|
|
527
|
-
query: v.optional(
|
|
590
|
+
body: vPlatformApiConnectedAppControllerUpdateMessageTrackingBody,
|
|
591
|
+
path: vPlatformApiConnectedAppControllerUpdateMessageTrackingPath,
|
|
592
|
+
query: v.optional(v.never())
|
|
528
593
|
}), data),
|
|
529
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
594
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiConnectedAppControllerUpdateMessageTrackingResponse, data),
|
|
530
595
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
531
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
596
|
+
url: '/api/v1/tenants/{tenant_slug}/connected-apps/{slug}/update-message-tracking',
|
|
532
597
|
...options,
|
|
533
598
|
headers: {
|
|
534
599
|
'Content-Type': 'application/json',
|
|
@@ -537,38 +602,79 @@ export const platformApiDatalakeControllerCreateUploadLink = <ThrowOnError exten
|
|
|
537
602
|
});
|
|
538
603
|
|
|
539
604
|
/**
|
|
540
|
-
*
|
|
605
|
+
* Start or restart refresh polling for a batch run log
|
|
541
606
|
*
|
|
542
|
-
*
|
|
607
|
+
* Creates a DynamicCron job to poll this batch. Idempotent — if cron already exists, it's a no-op.
|
|
543
608
|
*/
|
|
544
|
-
export const
|
|
545
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
609
|
+
export const platformApiAgenticWorkflowOperationsControllerBatchLogStart = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowOperationsControllerBatchLogStartData, ThrowOnError>) => (options.client ?? client).post<PlatformApiAgenticWorkflowOperationsControllerBatchLogStartResponses, PlatformApiAgenticWorkflowOperationsControllerBatchLogStartErrors, ThrowOnError>({
|
|
546
610
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
547
611
|
body: v.optional(v.never()),
|
|
548
|
-
path:
|
|
549
|
-
query: v.optional(
|
|
612
|
+
path: vPlatformApiAgenticWorkflowOperationsControllerBatchLogStartPath,
|
|
613
|
+
query: v.optional(v.never())
|
|
550
614
|
}), data),
|
|
551
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
615
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowOperationsControllerBatchLogStartResponse, data),
|
|
552
616
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
553
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
617
|
+
url: '/api/v1/tenants/{tenant_slug}/agentic-workflows/{workflow_slug}/batch-logs/{id}/start',
|
|
554
618
|
...options
|
|
555
619
|
});
|
|
556
620
|
|
|
557
621
|
/**
|
|
558
|
-
*
|
|
622
|
+
* Revoke current session
|
|
623
|
+
*
|
|
624
|
+
* Revokes the current Bearer session — deactivates the session and deletes
|
|
625
|
+
* the linked UserToken. The Bearer token becomes immediately invalid.
|
|
626
|
+
*
|
|
627
|
+
* Only works with `Authorization: Bearer <session_token>` (not X-API-Key).
|
|
628
|
+
*
|
|
629
|
+
* **Requires Bearer authentication.**
|
|
559
630
|
*
|
|
560
|
-
* Creates a new datalake for the authenticated tenant.
|
|
561
631
|
*/
|
|
562
|
-
export const
|
|
563
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
632
|
+
export const platformApiSessionControllerDelete = <ThrowOnError extends boolean = false>(options?: Options<PlatformApiSessionControllerDeleteData, ThrowOnError>) => (options?.client ?? client).delete<PlatformApiSessionControllerDeleteResponses, PlatformApiSessionControllerDeleteErrors, ThrowOnError>({
|
|
564
633
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
565
|
-
body: v.optional(
|
|
566
|
-
path:
|
|
567
|
-
query: v.optional(
|
|
634
|
+
body: v.optional(v.never()),
|
|
635
|
+
path: v.optional(v.never()),
|
|
636
|
+
query: v.optional(v.never())
|
|
568
637
|
}), data),
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
638
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
639
|
+
url: '/api/v1/sessions',
|
|
640
|
+
...options
|
|
641
|
+
});
|
|
642
|
+
|
|
643
|
+
/**
|
|
644
|
+
* Create a session (human auth)
|
|
645
|
+
*
|
|
646
|
+
* Exchange user credentials for a Bearer session token.
|
|
647
|
+
*
|
|
648
|
+
* Send `{email, password}` (with optional `tenant_slug`) to authenticate a
|
|
649
|
+
* human user and receive a session token. Use the returned `session_token`
|
|
650
|
+
* as `Authorization: Bearer <session_token>` on subsequent API requests.
|
|
651
|
+
*
|
|
652
|
+
* When `tenant_slug` is **omitted**, returns a tenant-less Bearer for
|
|
653
|
+
* pre-tenant flows: admin operations under `/api/v1/admin/...` and creating
|
|
654
|
+
* your first tenant via `POST /api/v1/tenants`. Tenant-scoped routes will
|
|
655
|
+
* reject such tokens with 403.
|
|
656
|
+
*
|
|
657
|
+
* When `tenant_slug` is **provided**, returns a tenant-scoped Bearer with
|
|
658
|
+
* the caller's membership role (or 401 if the user has no membership in
|
|
659
|
+
* that tenant).
|
|
660
|
+
*
|
|
661
|
+
* Optionally specify `expires_in` (seconds) to control session duration.
|
|
662
|
+
* Default: 86400 (24 hours). Maximum: 2592000 (30 days).
|
|
663
|
+
*
|
|
664
|
+
* For M2M (server-to-server) authentication, use `X-API-Key` header directly
|
|
665
|
+
* on each request instead — no session exchange needed.
|
|
666
|
+
*
|
|
667
|
+
* **No authentication required** — this endpoint authenticates the caller.
|
|
668
|
+
*
|
|
669
|
+
*/
|
|
670
|
+
export const platformApiSessionControllerCreate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiSessionControllerCreateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiSessionControllerCreateResponses, PlatformApiSessionControllerCreateErrors, ThrowOnError>({
|
|
671
|
+
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
672
|
+
body: vPlatformApiSessionControllerCreateBody,
|
|
673
|
+
path: v.optional(v.never()),
|
|
674
|
+
query: v.optional(v.never())
|
|
675
|
+
}), data),
|
|
676
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiSessionControllerCreateResponse, data),
|
|
677
|
+
url: '/api/v1/sessions',
|
|
572
678
|
...options,
|
|
573
679
|
headers: {
|
|
574
680
|
'Content-Type': 'application/json',
|
|
@@ -577,37 +683,37 @@ export const platformApiDatalakeControllerCreate = <ThrowOnError extends boolean
|
|
|
577
683
|
});
|
|
578
684
|
|
|
579
685
|
/**
|
|
580
|
-
*
|
|
686
|
+
* List connected apps
|
|
581
687
|
*
|
|
582
|
-
* Returns a
|
|
688
|
+
* Returns a paginated list of connected apps for the authenticated tenant.
|
|
583
689
|
*/
|
|
584
|
-
export const
|
|
690
|
+
export const platformApiConnectedAppMgmtControllerIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiConnectedAppMgmtControllerIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiConnectedAppMgmtControllerIndexResponses, PlatformApiConnectedAppMgmtControllerIndexErrors, ThrowOnError>({
|
|
691
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
585
692
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
586
693
|
body: v.optional(v.never()),
|
|
587
|
-
path:
|
|
588
|
-
query: v.optional(
|
|
694
|
+
path: vPlatformApiConnectedAppMgmtControllerIndexPath,
|
|
695
|
+
query: v.optional(vPlatformApiConnectedAppMgmtControllerIndexQuery)
|
|
589
696
|
}), data),
|
|
590
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
697
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiConnectedAppMgmtControllerIndexResponse, data),
|
|
591
698
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
592
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
699
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/connected-apps',
|
|
593
700
|
...options
|
|
594
701
|
});
|
|
595
702
|
|
|
596
703
|
/**
|
|
597
|
-
*
|
|
704
|
+
* Create a connected app
|
|
598
705
|
*
|
|
599
|
-
*
|
|
706
|
+
* Creates a new connected app with automatic API key provisioning.
|
|
600
707
|
*/
|
|
601
|
-
export const
|
|
602
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
708
|
+
export const platformApiConnectedAppMgmtControllerCreate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiConnectedAppMgmtControllerCreateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiConnectedAppMgmtControllerCreateResponses, PlatformApiConnectedAppMgmtControllerCreateErrors, ThrowOnError>({
|
|
603
709
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
604
|
-
body: v.optional(
|
|
605
|
-
path:
|
|
606
|
-
query: v.optional(
|
|
710
|
+
body: v.optional(vPlatformApiConnectedAppMgmtControllerCreateBody),
|
|
711
|
+
path: vPlatformApiConnectedAppMgmtControllerCreatePath,
|
|
712
|
+
query: v.optional(v.never())
|
|
607
713
|
}), data),
|
|
608
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
714
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiConnectedAppMgmtControllerCreateResponse, data),
|
|
609
715
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
610
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
716
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/connected-apps',
|
|
611
717
|
...options,
|
|
612
718
|
headers: {
|
|
613
719
|
'Content-Type': 'application/json',
|
|
@@ -616,53 +722,83 @@ export const platformApiDataSourceControllerUpdate = <ThrowOnError extends boole
|
|
|
616
722
|
});
|
|
617
723
|
|
|
618
724
|
/**
|
|
619
|
-
*
|
|
725
|
+
* Confirm a user (admin bypass)
|
|
726
|
+
*
|
|
727
|
+
* Marks a user account as confirmed without requiring an email-confirmation
|
|
728
|
+
* token. Idempotent — confirming an already-confirmed user is a 200 no-op
|
|
729
|
+
* that returns the existing `confirmed_at` timestamp.
|
|
730
|
+
*
|
|
731
|
+
* Wraps `Accounts.confirm_user!/1` verbatim — exactly the primitive that
|
|
732
|
+
* backs the dev/admin email-confirm path in the LiveView UI. **Zero new
|
|
733
|
+
* business logic.**
|
|
734
|
+
*
|
|
735
|
+
* Powerful primitive: bypasses the regular email-confirmation flow. Every
|
|
736
|
+
* successful call is structured-logged with `caller_user_id` and
|
|
737
|
+
* `target_user_id` for forensic trail.
|
|
738
|
+
*
|
|
739
|
+
* **Requires platform-admin authentication** (`User.role == :admin`).
|
|
740
|
+
*
|
|
741
|
+
*/
|
|
742
|
+
export const platformApiAdminControllerConfirmUser = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAdminControllerConfirmUserData, ThrowOnError>) => (options.client ?? client).put<PlatformApiAdminControllerConfirmUserResponses, PlatformApiAdminControllerConfirmUserErrors, ThrowOnError>({
|
|
743
|
+
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
744
|
+
body: v.optional(v.never()),
|
|
745
|
+
path: vPlatformApiAdminControllerConfirmUserPath,
|
|
746
|
+
query: v.optional(v.never())
|
|
747
|
+
}), data),
|
|
748
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAdminControllerConfirmUserResponse, data),
|
|
749
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
750
|
+
url: '/api/v1/admin/users/{id}/confirm',
|
|
751
|
+
...options
|
|
752
|
+
});
|
|
753
|
+
|
|
754
|
+
/**
|
|
755
|
+
* Delete an AI agent
|
|
620
756
|
*
|
|
621
|
-
* Deletes
|
|
757
|
+
* Deletes an AI agent. Returns 409 if the agent is attached to a workflow.
|
|
622
758
|
*/
|
|
623
|
-
export const
|
|
759
|
+
export const platformApiAiAgentControllerDelete = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAiAgentControllerDeleteData, ThrowOnError>) => (options.client ?? client).delete<PlatformApiAiAgentControllerDeleteResponses, PlatformApiAiAgentControllerDeleteErrors, ThrowOnError>({
|
|
624
760
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
625
761
|
body: v.optional(v.never()),
|
|
626
|
-
path:
|
|
762
|
+
path: vPlatformApiAiAgentControllerDeletePath,
|
|
627
763
|
query: v.optional(v.never())
|
|
628
764
|
}), data),
|
|
629
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
765
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAiAgentControllerDeleteResponse, data),
|
|
630
766
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
631
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
767
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/ai-agents/{id}',
|
|
632
768
|
...options
|
|
633
769
|
});
|
|
634
770
|
|
|
635
771
|
/**
|
|
636
|
-
* Get an
|
|
772
|
+
* Get an AI agent
|
|
637
773
|
*
|
|
638
|
-
* Returns a single
|
|
774
|
+
* Returns a single AI agent by ID.
|
|
639
775
|
*/
|
|
640
|
-
export const
|
|
776
|
+
export const platformApiAiAgentControllerShow = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAiAgentControllerShowData, ThrowOnError>) => (options.client ?? client).get<PlatformApiAiAgentControllerShowResponses, PlatformApiAiAgentControllerShowErrors, ThrowOnError>({
|
|
641
777
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
642
778
|
body: v.optional(v.never()),
|
|
643
|
-
path:
|
|
779
|
+
path: vPlatformApiAiAgentControllerShowPath,
|
|
644
780
|
query: v.optional(v.never())
|
|
645
781
|
}), data),
|
|
646
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
782
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAiAgentControllerShowResponse, data),
|
|
647
783
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
648
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
784
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/ai-agents/{id}',
|
|
649
785
|
...options
|
|
650
786
|
});
|
|
651
787
|
|
|
652
788
|
/**
|
|
653
|
-
* Replace an
|
|
789
|
+
* Replace an AI agent
|
|
654
790
|
*
|
|
655
|
-
* Replaces
|
|
791
|
+
* Replaces an AI agent with the full resource body. PUT semantics — all required fields must be present.
|
|
656
792
|
*/
|
|
657
|
-
export const
|
|
793
|
+
export const platformApiAiAgentControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAiAgentControllerUpdateData, ThrowOnError>) => (options.client ?? client).put<PlatformApiAiAgentControllerUpdateResponses, PlatformApiAiAgentControllerUpdateErrors, ThrowOnError>({
|
|
658
794
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
659
|
-
body: v.optional(
|
|
660
|
-
path:
|
|
795
|
+
body: v.optional(vPlatformApiAiAgentControllerUpdateBody),
|
|
796
|
+
path: vPlatformApiAiAgentControllerUpdatePath,
|
|
661
797
|
query: v.optional(v.never())
|
|
662
798
|
}), data),
|
|
663
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
799
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAiAgentControllerUpdateResponse, data),
|
|
664
800
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
665
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
801
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/ai-agents/{id}',
|
|
666
802
|
...options,
|
|
667
803
|
headers: {
|
|
668
804
|
'Content-Type': 'application/json',
|
|
@@ -671,19 +807,19 @@ export const platformApiAgenticWorkflowControllerUpdate = <ThrowOnError extends
|
|
|
671
807
|
});
|
|
672
808
|
|
|
673
809
|
/**
|
|
674
|
-
*
|
|
810
|
+
* Trigger a manual run of a Data Activation Client
|
|
675
811
|
*
|
|
676
|
-
*
|
|
812
|
+
* Enqueues a one-off fetch/ingest pipeline run. Empty body or omitted `tool_call` runs with the DAC's persisted `tool_call`. Supplying a `tool_call` map applies a one-shot polymorphic override for this run only — the persisted DAC record is not modified.
|
|
677
813
|
*/
|
|
678
|
-
export const
|
|
814
|
+
export const platformApiDataActivationClientControllerRunManually = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataActivationClientControllerRunManuallyData, ThrowOnError>) => (options.client ?? client).post<PlatformApiDataActivationClientControllerRunManuallyResponses, PlatformApiDataActivationClientControllerRunManuallyErrors, ThrowOnError>({
|
|
679
815
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
680
|
-
body:
|
|
681
|
-
path:
|
|
816
|
+
body: v.optional(vPlatformApiDataActivationClientControllerRunManuallyBody),
|
|
817
|
+
path: vPlatformApiDataActivationClientControllerRunManuallyPath,
|
|
682
818
|
query: v.optional(v.never())
|
|
683
819
|
}), data),
|
|
684
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
820
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataActivationClientControllerRunManuallyResponse, data),
|
|
685
821
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
686
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
822
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients/{slug}/run-manually',
|
|
687
823
|
...options,
|
|
688
824
|
headers: {
|
|
689
825
|
'Content-Type': 'application/json',
|
|
@@ -692,58 +828,38 @@ export const platformApiAgenticWorkflowOperationsControllerRunWorkflow = <ThrowO
|
|
|
692
828
|
});
|
|
693
829
|
|
|
694
830
|
/**
|
|
695
|
-
*
|
|
831
|
+
* List data sources
|
|
696
832
|
*
|
|
697
|
-
*
|
|
833
|
+
* Returns a paginated list of data sources for the authenticated tenant.
|
|
698
834
|
*/
|
|
699
|
-
export const
|
|
835
|
+
export const platformApiDataSourceControllerIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataSourceControllerIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiDataSourceControllerIndexResponses, PlatformApiDataSourceControllerIndexErrors, ThrowOnError>({
|
|
836
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
700
837
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
701
838
|
body: v.optional(v.never()),
|
|
702
|
-
path:
|
|
703
|
-
query: v.optional(
|
|
839
|
+
path: vPlatformApiDataSourceControllerIndexPath,
|
|
840
|
+
query: v.optional(vPlatformApiDataSourceControllerIndexQuery)
|
|
704
841
|
}), data),
|
|
705
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
842
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataSourceControllerIndexResponse, data),
|
|
706
843
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
707
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
844
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-sources',
|
|
708
845
|
...options
|
|
709
846
|
});
|
|
710
847
|
|
|
711
848
|
/**
|
|
712
|
-
*
|
|
713
|
-
*
|
|
714
|
-
* Ingest a single JSON record for processing through the data activation pipeline
|
|
715
|
-
*/
|
|
716
|
-
export const platformApiDataActivationClientControllerIngest = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataActivationClientControllerIngestData, ThrowOnError>) => (options.client ?? client).post<PlatformApiDataActivationClientControllerIngestResponses, PlatformApiDataActivationClientControllerIngestErrors, ThrowOnError>({
|
|
717
|
-
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
718
|
-
body: vPlatformApiDataActivationClientControllerIngestBody,
|
|
719
|
-
path: vPlatformApiDataActivationClientControllerIngestPath,
|
|
720
|
-
query: v.optional(v.never())
|
|
721
|
-
}), data),
|
|
722
|
-
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataActivationClientControllerIngestResponse, data),
|
|
723
|
-
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
724
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients/{slug}/ingest',
|
|
725
|
-
...options,
|
|
726
|
-
headers: {
|
|
727
|
-
'Content-Type': 'application/json',
|
|
728
|
-
...options.headers
|
|
729
|
-
}
|
|
730
|
-
});
|
|
731
|
-
|
|
732
|
-
/**
|
|
733
|
-
* Replace an action status updater
|
|
849
|
+
* Create a data source
|
|
734
850
|
*
|
|
735
|
-
*
|
|
851
|
+
* Creates a new data source for the authenticated tenant.
|
|
736
852
|
*/
|
|
737
|
-
export const
|
|
853
|
+
export const platformApiDataSourceControllerCreate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataSourceControllerCreateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiDataSourceControllerCreateResponses, PlatformApiDataSourceControllerCreateErrors, ThrowOnError>({
|
|
738
854
|
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
739
855
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
740
|
-
body: v.optional(
|
|
741
|
-
path:
|
|
742
|
-
query: v.optional(
|
|
856
|
+
body: v.optional(vPlatformApiDataSourceControllerCreateBody),
|
|
857
|
+
path: vPlatformApiDataSourceControllerCreatePath,
|
|
858
|
+
query: v.optional(vPlatformApiDataSourceControllerCreateQuery)
|
|
743
859
|
}), data),
|
|
744
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
860
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataSourceControllerCreateResponse, data),
|
|
745
861
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
746
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
862
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-sources',
|
|
747
863
|
...options,
|
|
748
864
|
headers: {
|
|
749
865
|
'Content-Type': 'application/json',
|
|
@@ -752,37 +868,19 @@ export const platformApiActionStatusUpdaterControllerUpdate = <ThrowOnError exte
|
|
|
752
868
|
});
|
|
753
869
|
|
|
754
870
|
/**
|
|
755
|
-
*
|
|
756
|
-
*
|
|
757
|
-
* Returns a paginated list of AI agents for the authenticated tenant.
|
|
758
|
-
*/
|
|
759
|
-
export const platformApiAiAgentControllerIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAiAgentControllerIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiAiAgentControllerIndexResponses, PlatformApiAiAgentControllerIndexErrors, ThrowOnError>({
|
|
760
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
761
|
-
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
762
|
-
body: v.optional(v.never()),
|
|
763
|
-
path: vPlatformApiAiAgentControllerIndexPath,
|
|
764
|
-
query: v.optional(vPlatformApiAiAgentControllerIndexQuery)
|
|
765
|
-
}), data),
|
|
766
|
-
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAiAgentControllerIndexResponse, data),
|
|
767
|
-
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
768
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/ai-agents',
|
|
769
|
-
...options
|
|
770
|
-
});
|
|
771
|
-
|
|
772
|
-
/**
|
|
773
|
-
* Create an AI agent
|
|
871
|
+
* Ingest previously uploaded file
|
|
774
872
|
*
|
|
775
|
-
*
|
|
873
|
+
* Ingests a file that was uploaded via a presigned URL obtained from the datalake upload-link endpoint. The key must belong to this client's datalake prefix (`uploads/<datalake_id>/...`).
|
|
776
874
|
*/
|
|
777
|
-
export const
|
|
875
|
+
export const platformApiDataActivationClientControllerIngestFile = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataActivationClientControllerIngestFileData, ThrowOnError>) => (options.client ?? client).post<PlatformApiDataActivationClientControllerIngestFileResponses, PlatformApiDataActivationClientControllerIngestFileErrors, ThrowOnError>({
|
|
778
876
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
779
|
-
body:
|
|
780
|
-
path:
|
|
877
|
+
body: vPlatformApiDataActivationClientControllerIngestFileBody,
|
|
878
|
+
path: vPlatformApiDataActivationClientControllerIngestFilePath,
|
|
781
879
|
query: v.optional(v.never())
|
|
782
880
|
}), data),
|
|
783
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
881
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataActivationClientControllerIngestFileResponse, data),
|
|
784
882
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
785
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
883
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients/{slug}/ingest-file',
|
|
786
884
|
...options,
|
|
787
885
|
headers: {
|
|
788
886
|
'Content-Type': 'application/json',
|
|
@@ -791,20 +889,24 @@ export const platformApiAiAgentControllerCreate = <ThrowOnError extends boolean
|
|
|
791
889
|
});
|
|
792
890
|
|
|
793
891
|
/**
|
|
794
|
-
* Get
|
|
892
|
+
* Get a workflow execution log
|
|
893
|
+
*
|
|
894
|
+
* Returns a single execution log with action execution details. Each action
|
|
895
|
+
* execution log carries a `message_body` virtual field populated from the
|
|
896
|
+
* datalake message linked via `message_id`. The `data_access_mode` query
|
|
897
|
+
* parameter selects which datalake schema is read for the body — defaults
|
|
898
|
+
* to the session's `data_access_mode` ceiling.
|
|
795
899
|
*
|
|
796
|
-
* Returns a markdown document describing the datalake's data domain — its available standard resources and capabilities.
|
|
797
900
|
*/
|
|
798
|
-
export const
|
|
799
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
901
|
+
export const platformApiAgenticWorkflowOperationsControllerWorkflowLogShow = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowOperationsControllerWorkflowLogShowData, ThrowOnError>) => (options.client ?? client).get<PlatformApiAgenticWorkflowOperationsControllerWorkflowLogShowResponses, PlatformApiAgenticWorkflowOperationsControllerWorkflowLogShowErrors, ThrowOnError>({
|
|
800
902
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
801
903
|
body: v.optional(v.never()),
|
|
802
|
-
path:
|
|
803
|
-
query: v.optional(
|
|
904
|
+
path: vPlatformApiAgenticWorkflowOperationsControllerWorkflowLogShowPath,
|
|
905
|
+
query: v.optional(vPlatformApiAgenticWorkflowOperationsControllerWorkflowLogShowQuery)
|
|
804
906
|
}), data),
|
|
805
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
907
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowOperationsControllerWorkflowLogShowResponse, data),
|
|
806
908
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
807
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
909
|
+
url: '/api/v1/tenants/{tenant_slug}/agentic-workflows/{workflow_slug}/workflow-logs/{id}',
|
|
808
910
|
...options
|
|
809
911
|
});
|
|
810
912
|
|
|
@@ -867,81 +969,77 @@ export const platformApiInteroperabilityContractControllerUpdate = <ThrowOnError
|
|
|
867
969
|
});
|
|
868
970
|
|
|
869
971
|
/**
|
|
870
|
-
* Get
|
|
871
|
-
*
|
|
872
|
-
* Returns a single execution log with action execution details. Each action
|
|
873
|
-
* execution log carries a `message_body` virtual field populated from the
|
|
874
|
-
* datalake message linked via `message_id`. The `data_access_mode` query
|
|
875
|
-
* parameter selects which datalake schema is read for the body — defaults
|
|
876
|
-
* to the session's `data_access_mode` ceiling.
|
|
972
|
+
* Get datalake domain metadata
|
|
877
973
|
*
|
|
974
|
+
* Returns a markdown document describing the datalake's data domain — its available standard resources and capabilities.
|
|
878
975
|
*/
|
|
879
|
-
export const
|
|
976
|
+
export const platformApiDatalakeControllerMetadata = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDatalakeControllerMetadataData, ThrowOnError>) => (options.client ?? client).get<PlatformApiDatalakeControllerMetadataResponses, PlatformApiDatalakeControllerMetadataErrors, ThrowOnError>({
|
|
977
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
880
978
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
881
979
|
body: v.optional(v.never()),
|
|
882
|
-
path:
|
|
883
|
-
query: v.optional(
|
|
980
|
+
path: vPlatformApiDatalakeControllerMetadataPath,
|
|
981
|
+
query: v.optional(vPlatformApiDatalakeControllerMetadataQuery)
|
|
884
982
|
}), data),
|
|
885
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
983
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDatalakeControllerMetadataResponse, data),
|
|
886
984
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
887
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
985
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/metadata',
|
|
888
986
|
...options
|
|
889
987
|
});
|
|
890
988
|
|
|
891
989
|
/**
|
|
892
|
-
*
|
|
990
|
+
* List AI agents
|
|
893
991
|
*
|
|
894
|
-
*
|
|
992
|
+
* Returns a paginated list of AI agents for the authenticated tenant.
|
|
895
993
|
*/
|
|
896
|
-
export const
|
|
994
|
+
export const platformApiAiAgentControllerIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAiAgentControllerIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiAiAgentControllerIndexResponses, PlatformApiAiAgentControllerIndexErrors, ThrowOnError>({
|
|
995
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
897
996
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
898
|
-
body:
|
|
899
|
-
path:
|
|
900
|
-
query: v.optional(
|
|
997
|
+
body: v.optional(v.never()),
|
|
998
|
+
path: vPlatformApiAiAgentControllerIndexPath,
|
|
999
|
+
query: v.optional(vPlatformApiAiAgentControllerIndexQuery)
|
|
901
1000
|
}), data),
|
|
902
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1001
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAiAgentControllerIndexResponse, data),
|
|
903
1002
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
904
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
905
|
-
...options
|
|
906
|
-
headers: {
|
|
907
|
-
'Content-Type': 'application/json',
|
|
908
|
-
...options.headers
|
|
909
|
-
}
|
|
1003
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/ai-agents',
|
|
1004
|
+
...options
|
|
910
1005
|
});
|
|
911
1006
|
|
|
912
1007
|
/**
|
|
913
|
-
*
|
|
1008
|
+
* Create an AI agent
|
|
914
1009
|
*
|
|
915
|
-
*
|
|
1010
|
+
* Creates a new AI agent for the authenticated tenant.
|
|
916
1011
|
*/
|
|
917
|
-
export const
|
|
918
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1012
|
+
export const platformApiAiAgentControllerCreate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAiAgentControllerCreateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiAiAgentControllerCreateResponses, PlatformApiAiAgentControllerCreateErrors, ThrowOnError>({
|
|
919
1013
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
920
|
-
body: v.optional(
|
|
921
|
-
path:
|
|
922
|
-
query: v.optional(
|
|
1014
|
+
body: v.optional(vPlatformApiAiAgentControllerCreateBody),
|
|
1015
|
+
path: vPlatformApiAiAgentControllerCreatePath,
|
|
1016
|
+
query: v.optional(v.never())
|
|
923
1017
|
}), data),
|
|
924
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1018
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAiAgentControllerCreateResponse, data),
|
|
925
1019
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
926
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
927
|
-
...options
|
|
1020
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/ai-agents',
|
|
1021
|
+
...options,
|
|
1022
|
+
headers: {
|
|
1023
|
+
'Content-Type': 'application/json',
|
|
1024
|
+
...options.headers
|
|
1025
|
+
}
|
|
928
1026
|
});
|
|
929
1027
|
|
|
930
1028
|
/**
|
|
931
|
-
*
|
|
1029
|
+
* Replace an action status updater
|
|
932
1030
|
*
|
|
933
|
-
*
|
|
1031
|
+
* Replaces an action status updater with the full resource body. PUT semantics — all required fields must be present.
|
|
934
1032
|
*/
|
|
935
|
-
export const
|
|
1033
|
+
export const platformApiActionStatusUpdaterControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiActionStatusUpdaterControllerUpdateData, ThrowOnError>) => (options.client ?? client).put<PlatformApiActionStatusUpdaterControllerUpdateResponses, PlatformApiActionStatusUpdaterControllerUpdateErrors, ThrowOnError>({
|
|
936
1034
|
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
937
1035
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
938
|
-
body: v.optional(
|
|
939
|
-
path:
|
|
940
|
-
query: v.optional(
|
|
1036
|
+
body: v.optional(vPlatformApiActionStatusUpdaterControllerUpdateBody),
|
|
1037
|
+
path: vPlatformApiActionStatusUpdaterControllerUpdatePath,
|
|
1038
|
+
query: v.optional(vPlatformApiActionStatusUpdaterControllerUpdateQuery)
|
|
941
1039
|
}), data),
|
|
942
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1040
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiActionStatusUpdaterControllerUpdateResponse, data),
|
|
943
1041
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
944
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1042
|
+
url: '/api/v1/tenants/{tenant_slug}/action-status-updaters/{id}',
|
|
945
1043
|
...options,
|
|
946
1044
|
headers: {
|
|
947
1045
|
'Content-Type': 'application/json',
|
|
@@ -950,19 +1048,59 @@ export const platformApiDataSourceControllerCreate = <ThrowOnError extends boole
|
|
|
950
1048
|
});
|
|
951
1049
|
|
|
952
1050
|
/**
|
|
953
|
-
*
|
|
1051
|
+
* Ingest JSON data
|
|
1052
|
+
*
|
|
1053
|
+
* Ingest a single JSON record for processing through the data activation
|
|
1054
|
+
* pipeline. Returns immediately with `{batch_id, key, jobs_count}`; per-row
|
|
1055
|
+
* work runs asynchronously on the data-activation Oban queue.
|
|
1056
|
+
*
|
|
1057
|
+
* ## Per-batch artifacts (audit trail)
|
|
1058
|
+
*
|
|
1059
|
+
* The DAC pipeline does NOT use the `<step>.json` convention that workflows
|
|
1060
|
+
* do — its byproducts are NDJSON archives, surfaced on the
|
|
1061
|
+
* `DataActivationLog` row that the batch produces:
|
|
1062
|
+
*
|
|
1063
|
+
* | Field | Bucket | Body |
|
|
1064
|
+
* | --------------- | ------------ | ---------------------------------------------------------------------------------------- |
|
|
1065
|
+
* | `key` (response)| regulated | the raw JSON payload uploaded by THIS request |
|
|
1066
|
+
* | `input_files` | regulated | source artifacts consumed by the batch (one per ingest call merged into the batch) |
|
|
1067
|
+
* | `output_files` | mixed | merged NDJSON archives, one `{object_key, mode}` per bucket (`regulated` + `unregulated`)|
|
|
1068
|
+
*
|
|
1069
|
+
* ### Fetching diagnostic artifacts
|
|
1070
|
+
*
|
|
1071
|
+
* Use the same datalake download-link endpoint as workflow artifacts
|
|
1072
|
+
* (`POST /api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/download-link`):
|
|
1073
|
+
*
|
|
1074
|
+
* # raw payload that this ingest call uploaded
|
|
1075
|
+
* { "bucket": "<regulated>", "key": "<response.key>" }
|
|
1076
|
+
*
|
|
1077
|
+
* # per-bucket merged archive (after batch completes)
|
|
1078
|
+
* { "bucket": "<regulated|unregulated>", "key": "<output_files[i].object_key>" }
|
|
1079
|
+
*
|
|
1080
|
+
* `output_files[i].mode` tells you which bucket each archive lives in
|
|
1081
|
+
* (`regulated` for raw attrs, `unregulated` for tokenized). The regulated /
|
|
1082
|
+
* unregulated bucket names are exposed on the datalake response as
|
|
1083
|
+
* `regulated_cloud_storage.bucket` / `unregulated_cloud_storage.bucket`.
|
|
1084
|
+
*
|
|
1085
|
+
* ### Failure surfacing
|
|
1086
|
+
*
|
|
1087
|
+
* On a `{:error, _}` ingest response the platform returns `422` with an
|
|
1088
|
+
* `error` string. For pipeline failures (per-row Oban job exceptions),
|
|
1089
|
+
* the DataActivationLog row's `rows_ingested` will be lower than the
|
|
1090
|
+
* submitted count; per-row diagnostics live in the Oban job table
|
|
1091
|
+
* (`oban_jobs.errors`) keyed by `batch_id`. There is no `error.json`
|
|
1092
|
+
* artifact on the DAC path — that convention is workflow-only.
|
|
954
1093
|
*
|
|
955
|
-
* Enqueues a one-off fetch/ingest pipeline run. Empty body or omitted `tool_call` runs with the DAC's persisted `tool_call`. Supplying a `tool_call` map applies a one-shot polymorphic override for this run only — the persisted DAC record is not modified.
|
|
956
1094
|
*/
|
|
957
|
-
export const
|
|
1095
|
+
export const platformApiDataActivationClientControllerIngest = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataActivationClientControllerIngestData, ThrowOnError>) => (options.client ?? client).post<PlatformApiDataActivationClientControllerIngestResponses, PlatformApiDataActivationClientControllerIngestErrors, ThrowOnError>({
|
|
958
1096
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
959
|
-
body:
|
|
960
|
-
path:
|
|
1097
|
+
body: vPlatformApiDataActivationClientControllerIngestBody,
|
|
1098
|
+
path: vPlatformApiDataActivationClientControllerIngestPath,
|
|
961
1099
|
query: v.optional(v.never())
|
|
962
1100
|
}), data),
|
|
963
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1101
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataActivationClientControllerIngestResponse, data),
|
|
964
1102
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
965
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients/{slug}/
|
|
1103
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients/{slug}/ingest',
|
|
966
1104
|
...options,
|
|
967
1105
|
headers: {
|
|
968
1106
|
'Content-Type': 'application/json',
|
|
@@ -971,53 +1109,76 @@ export const platformApiDataActivationClientControllerRunManually = <ThrowOnErro
|
|
|
971
1109
|
});
|
|
972
1110
|
|
|
973
1111
|
/**
|
|
974
|
-
*
|
|
1112
|
+
* Force-refresh a batch run log
|
|
975
1113
|
*
|
|
976
|
-
*
|
|
1114
|
+
* Triggers an immediate refresh of the batch run log metrics and merged artifacts.
|
|
977
1115
|
*/
|
|
978
|
-
export const
|
|
1116
|
+
export const platformApiAgenticWorkflowOperationsControllerBatchLogRefresh = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowOperationsControllerBatchLogRefreshData, ThrowOnError>) => (options.client ?? client).post<PlatformApiAgenticWorkflowOperationsControllerBatchLogRefreshResponses, PlatformApiAgenticWorkflowOperationsControllerBatchLogRefreshErrors, ThrowOnError>({
|
|
979
1117
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
980
1118
|
body: v.optional(v.never()),
|
|
981
|
-
path:
|
|
1119
|
+
path: vPlatformApiAgenticWorkflowOperationsControllerBatchLogRefreshPath,
|
|
982
1120
|
query: v.optional(v.never())
|
|
983
1121
|
}), data),
|
|
984
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1122
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowOperationsControllerBatchLogRefreshResponse, data),
|
|
985
1123
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
986
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1124
|
+
url: '/api/v1/tenants/{tenant_slug}/agentic-workflows/{workflow_slug}/batch-logs/{id}/refresh',
|
|
987
1125
|
...options
|
|
988
1126
|
});
|
|
989
1127
|
|
|
990
1128
|
/**
|
|
991
|
-
*
|
|
1129
|
+
* Run workflow for matching records
|
|
992
1130
|
*
|
|
993
|
-
*
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
}
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
*
|
|
1131
|
+
* Executes the workflow for all dataset records matching the SQL WHERE clause.
|
|
1132
|
+
* Creates sampled events and enqueues run_workflow jobs. Returns the batch ID
|
|
1133
|
+
* and enqueued count. A WorkflowRunLog is created to track batch-level
|
|
1134
|
+
* progress, polled by a daily DynamicCron.
|
|
1135
|
+
*
|
|
1136
|
+
* ## Per-step artifacts (audit trail)
|
|
1137
|
+
*
|
|
1138
|
+
* Each per-row WorkflowExecutionLog (WEL) writes a fixed set of JSON
|
|
1139
|
+
* artifacts to the datalake's regulated cloud-storage bucket. The path is
|
|
1140
|
+
* deterministic and convention-driven — there is no separate listing
|
|
1141
|
+
* endpoint:
|
|
1142
|
+
*
|
|
1143
|
+
* workflows/{workflow_id}/executions/{wel_id}/event.json
|
|
1144
|
+
* workflows/{workflow_id}/executions/{wel_id}/filter.json
|
|
1145
|
+
* workflows/{workflow_id}/executions/{wel_id}/enrichment.json
|
|
1146
|
+
* workflows/{workflow_id}/executions/{wel_id}/error.json # only on failure
|
|
1147
|
+
*
|
|
1148
|
+
* | File | Written by stage | Body |
|
|
1149
|
+
* | ----------------- | -------------------------------------- | ------------------------------------------------------------------ |
|
|
1150
|
+
* | `event.json` | context build | full WorkflowContext (event_dataset, mdm_output, additional_context)|
|
|
1151
|
+
* | `filter.json` | filter eval (both pass and reject) | `{filter_expression, filter_result: bool}` |
|
|
1152
|
+
* | `enrichment.json` | enrichment terminal (success / skip / fail) | `{status: "completed" \| "failed" \| "skipped", <agent_slug>: ...}` |
|
|
1153
|
+
* | `error.json` | ANY pipeline failure | `{stage, error_code, ai_agent_slug, error_message, detail}` |
|
|
1154
|
+
*
|
|
1155
|
+
* `error.json`'s presence IS the failure signal — `WEL.error_message`
|
|
1156
|
+
* carries only a code-grade summary; the rich URL/HTTP-status/transport
|
|
1157
|
+
* detail lives ONLY in `error.json["detail"]`. Engineers debugging a
|
|
1158
|
+
* failed run should download `error.json` for full context.
|
|
1159
|
+
*
|
|
1160
|
+
* ### Fetching an artifact
|
|
1161
|
+
*
|
|
1162
|
+
* Use the standard datalake download-link endpoint
|
|
1163
|
+
* (`POST /api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/download-link`)
|
|
1164
|
+
* with `bucket = <regulated bucket>` and the convention key above. Example:
|
|
1165
|
+
*
|
|
1166
|
+
* POST /api/v1/tenants/acme/datalakes/clinical/download-link
|
|
1167
|
+
* { "bucket": "clinical-regulated", "key": "workflows/<wf_id>/executions/<wel_id>/error.json" }
|
|
1168
|
+
*
|
|
1169
|
+
* The response carries a short-lived signed URL. The regulated bucket is
|
|
1170
|
+
* exposed on the datalake response as `regulated_cloud_storage.bucket`.
|
|
1009
1171
|
*
|
|
1010
|
-
* Replaces an AI agent with the full resource body. PUT semantics — all required fields must be present.
|
|
1011
1172
|
*/
|
|
1012
|
-
export const
|
|
1173
|
+
export const platformApiAgenticWorkflowOperationsControllerRunWorkflow = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowOperationsControllerRunWorkflowData, ThrowOnError>) => (options.client ?? client).post<PlatformApiAgenticWorkflowOperationsControllerRunWorkflowResponses, PlatformApiAgenticWorkflowOperationsControllerRunWorkflowErrors, ThrowOnError>({
|
|
1013
1174
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1014
|
-
body:
|
|
1015
|
-
path:
|
|
1175
|
+
body: vPlatformApiAgenticWorkflowOperationsControllerRunWorkflowBody,
|
|
1176
|
+
path: vPlatformApiAgenticWorkflowOperationsControllerRunWorkflowPath,
|
|
1016
1177
|
query: v.optional(v.never())
|
|
1017
1178
|
}), data),
|
|
1018
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1179
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowOperationsControllerRunWorkflowResponse, data),
|
|
1019
1180
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1020
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1181
|
+
url: '/api/v1/tenants/{tenant_slug}/agentic-workflows/{workflow_slug}/run-workflow',
|
|
1021
1182
|
...options,
|
|
1022
1183
|
headers: {
|
|
1023
1184
|
'Content-Type': 'application/json',
|
|
@@ -1026,67 +1187,53 @@ export const platformApiAiAgentControllerUpdate = <ThrowOnError extends boolean
|
|
|
1026
1187
|
});
|
|
1027
1188
|
|
|
1028
1189
|
/**
|
|
1029
|
-
*
|
|
1030
|
-
*
|
|
1031
|
-
* Marks a user account as confirmed without requiring an email-confirmation
|
|
1032
|
-
* token. Idempotent — confirming an already-confirmed user is a 200 no-op
|
|
1033
|
-
* that returns the existing `confirmed_at` timestamp.
|
|
1034
|
-
*
|
|
1035
|
-
* Wraps `Accounts.confirm_user!/1` verbatim — exactly the primitive that
|
|
1036
|
-
* backs the dev/admin email-confirm path in the LiveView UI. **Zero new
|
|
1037
|
-
* business logic.**
|
|
1038
|
-
*
|
|
1039
|
-
* Powerful primitive: bypasses the regular email-confirmation flow. Every
|
|
1040
|
-
* successful call is structured-logged with `caller_user_id` and
|
|
1041
|
-
* `target_user_id` for forensic trail.
|
|
1042
|
-
*
|
|
1043
|
-
* **Requires platform-admin authentication** (`User.role == :admin`).
|
|
1190
|
+
* Delete an agentic workflow
|
|
1044
1191
|
*
|
|
1192
|
+
* Deletes a workflow and all associated actions, context datasets, and AI agent attachments.
|
|
1045
1193
|
*/
|
|
1046
|
-
export const
|
|
1194
|
+
export const platformApiAgenticWorkflowControllerDelete = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowControllerDeleteData, ThrowOnError>) => (options.client ?? client).delete<PlatformApiAgenticWorkflowControllerDeleteResponses, PlatformApiAgenticWorkflowControllerDeleteErrors, ThrowOnError>({
|
|
1047
1195
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1048
1196
|
body: v.optional(v.never()),
|
|
1049
|
-
path:
|
|
1197
|
+
path: vPlatformApiAgenticWorkflowControllerDeletePath,
|
|
1050
1198
|
query: v.optional(v.never())
|
|
1051
1199
|
}), data),
|
|
1052
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1053
|
-
security: [{
|
|
1054
|
-
url: '/api/v1/
|
|
1200
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowControllerDeleteResponse, data),
|
|
1201
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1202
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/agentic-workflows/{id}',
|
|
1055
1203
|
...options
|
|
1056
1204
|
});
|
|
1057
1205
|
|
|
1058
1206
|
/**
|
|
1059
|
-
*
|
|
1207
|
+
* Get an agentic workflow
|
|
1060
1208
|
*
|
|
1061
|
-
* Returns a
|
|
1209
|
+
* Returns a single workflow by ID with nested AI agents.
|
|
1062
1210
|
*/
|
|
1063
|
-
export const
|
|
1064
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1211
|
+
export const platformApiAgenticWorkflowControllerShow = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowControllerShowData, ThrowOnError>) => (options.client ?? client).get<PlatformApiAgenticWorkflowControllerShowResponses, PlatformApiAgenticWorkflowControllerShowErrors, ThrowOnError>({
|
|
1065
1212
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1066
1213
|
body: v.optional(v.never()),
|
|
1067
|
-
path:
|
|
1068
|
-
query: v.optional(
|
|
1214
|
+
path: vPlatformApiAgenticWorkflowControllerShowPath,
|
|
1215
|
+
query: v.optional(v.never())
|
|
1069
1216
|
}), data),
|
|
1070
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1217
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowControllerShowResponse, data),
|
|
1071
1218
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1072
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
1219
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/agentic-workflows/{id}',
|
|
1073
1220
|
...options
|
|
1074
1221
|
});
|
|
1075
1222
|
|
|
1076
1223
|
/**
|
|
1077
|
-
*
|
|
1224
|
+
* Replace an agentic workflow
|
|
1078
1225
|
*
|
|
1079
|
-
*
|
|
1226
|
+
* Replaces a workflow with the full resource body. PUT semantics — all required fields must be present. The `ai_agents` array replaces the current set of attached agents transactionally.
|
|
1080
1227
|
*/
|
|
1081
|
-
export const
|
|
1228
|
+
export const platformApiAgenticWorkflowControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowControllerUpdateData, ThrowOnError>) => (options.client ?? client).put<PlatformApiAgenticWorkflowControllerUpdateResponses, PlatformApiAgenticWorkflowControllerUpdateErrors, ThrowOnError>({
|
|
1082
1229
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1083
|
-
body: v.optional(
|
|
1084
|
-
path:
|
|
1230
|
+
body: v.optional(vPlatformApiAgenticWorkflowControllerUpdateBody),
|
|
1231
|
+
path: vPlatformApiAgenticWorkflowControllerUpdatePath,
|
|
1085
1232
|
query: v.optional(v.never())
|
|
1086
1233
|
}), data),
|
|
1087
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1234
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowControllerUpdateResponse, data),
|
|
1088
1235
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1089
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
1236
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/agentic-workflows/{id}',
|
|
1090
1237
|
...options,
|
|
1091
1238
|
headers: {
|
|
1092
1239
|
'Content-Type': 'application/json',
|
|
@@ -1095,62 +1242,20 @@ export const platformApiConnectedAppMgmtControllerCreate = <ThrowOnError extends
|
|
|
1095
1242
|
});
|
|
1096
1243
|
|
|
1097
1244
|
/**
|
|
1098
|
-
*
|
|
1099
|
-
*
|
|
1100
|
-
* Revokes the current Bearer session — deactivates the session and deletes
|
|
1101
|
-
* the linked UserToken. The Bearer token becomes immediately invalid.
|
|
1102
|
-
*
|
|
1103
|
-
* Only works with `Authorization: Bearer <session_token>` (not X-API-Key).
|
|
1104
|
-
*
|
|
1105
|
-
* **Requires Bearer authentication.**
|
|
1106
|
-
*
|
|
1107
|
-
*/
|
|
1108
|
-
export const platformApiSessionControllerDelete = <ThrowOnError extends boolean = false>(options?: Options<PlatformApiSessionControllerDeleteData, ThrowOnError>) => (options?.client ?? client).delete<PlatformApiSessionControllerDeleteResponses, PlatformApiSessionControllerDeleteErrors, ThrowOnError>({
|
|
1109
|
-
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1110
|
-
body: v.optional(v.never()),
|
|
1111
|
-
path: v.optional(v.never()),
|
|
1112
|
-
query: v.optional(v.never())
|
|
1113
|
-
}), data),
|
|
1114
|
-
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1115
|
-
url: '/api/v1/sessions',
|
|
1116
|
-
...options
|
|
1117
|
-
});
|
|
1118
|
-
|
|
1119
|
-
/**
|
|
1120
|
-
* Create a session (human auth)
|
|
1121
|
-
*
|
|
1122
|
-
* Exchange user credentials for a Bearer session token.
|
|
1123
|
-
*
|
|
1124
|
-
* Send `{email, password}` (with optional `tenant_slug`) to authenticate a
|
|
1125
|
-
* human user and receive a session token. Use the returned `session_token`
|
|
1126
|
-
* as `Authorization: Bearer <session_token>` on subsequent API requests.
|
|
1127
|
-
*
|
|
1128
|
-
* When `tenant_slug` is **omitted**, returns a tenant-less Bearer for
|
|
1129
|
-
* pre-tenant flows: admin operations under `/api/v1/admin/...` and creating
|
|
1130
|
-
* your first tenant via `POST /api/v1/tenants`. Tenant-scoped routes will
|
|
1131
|
-
* reject such tokens with 403.
|
|
1132
|
-
*
|
|
1133
|
-
* When `tenant_slug` is **provided**, returns a tenant-scoped Bearer with
|
|
1134
|
-
* the caller's membership role (or 401 if the user has no membership in
|
|
1135
|
-
* that tenant).
|
|
1136
|
-
*
|
|
1137
|
-
* Optionally specify `expires_in` (seconds) to control session duration.
|
|
1138
|
-
* Default: 86400 (24 hours). Maximum: 2592000 (30 days).
|
|
1139
|
-
*
|
|
1140
|
-
* For M2M (server-to-server) authentication, use `X-API-Key` header directly
|
|
1141
|
-
* on each request instead — no session exchange needed.
|
|
1142
|
-
*
|
|
1143
|
-
* **No authentication required** — this endpoint authenticates the caller.
|
|
1245
|
+
* Replace a data source
|
|
1144
1246
|
*
|
|
1247
|
+
* Replaces a data source with the full resource body. PUT semantics — all required fields must be present.
|
|
1145
1248
|
*/
|
|
1146
|
-
export const
|
|
1249
|
+
export const platformApiDataSourceControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataSourceControllerUpdateData, ThrowOnError>) => (options.client ?? client).put<PlatformApiDataSourceControllerUpdateResponses, PlatformApiDataSourceControllerUpdateErrors, ThrowOnError>({
|
|
1250
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1147
1251
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1148
|
-
body:
|
|
1149
|
-
path:
|
|
1150
|
-
query: v.optional(
|
|
1252
|
+
body: v.optional(vPlatformApiDataSourceControllerUpdateBody),
|
|
1253
|
+
path: vPlatformApiDataSourceControllerUpdatePath,
|
|
1254
|
+
query: v.optional(vPlatformApiDataSourceControllerUpdateQuery)
|
|
1151
1255
|
}), data),
|
|
1152
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1153
|
-
|
|
1256
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataSourceControllerUpdateResponse, data),
|
|
1257
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1258
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-sources/{id}',
|
|
1154
1259
|
...options,
|
|
1155
1260
|
headers: {
|
|
1156
1261
|
'Content-Type': 'application/json',
|
|
@@ -1159,80 +1264,77 @@ export const platformApiSessionControllerCreate = <ThrowOnError extends boolean
|
|
|
1159
1264
|
});
|
|
1160
1265
|
|
|
1161
1266
|
/**
|
|
1162
|
-
*
|
|
1267
|
+
* Show a single DAC processing log
|
|
1163
1268
|
*
|
|
1164
|
-
*
|
|
1269
|
+
* Returns a single `DataActivationLog` row scoped to this DAC. Returns 404 if the id belongs to a different client.
|
|
1165
1270
|
*/
|
|
1166
|
-
export const
|
|
1271
|
+
export const platformApiDataActivationClientControllerLogShow = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataActivationClientControllerLogShowData, ThrowOnError>) => (options.client ?? client).get<PlatformApiDataActivationClientControllerLogShowResponses, PlatformApiDataActivationClientControllerLogShowErrors, ThrowOnError>({
|
|
1167
1272
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1168
1273
|
body: v.optional(v.never()),
|
|
1169
|
-
path:
|
|
1274
|
+
path: vPlatformApiDataActivationClientControllerLogShowPath,
|
|
1170
1275
|
query: v.optional(v.never())
|
|
1171
1276
|
}), data),
|
|
1172
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1277
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataActivationClientControllerLogShowResponse, data),
|
|
1173
1278
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1174
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1279
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients/{slug}/logs/{id}',
|
|
1175
1280
|
...options
|
|
1176
1281
|
});
|
|
1177
1282
|
|
|
1178
1283
|
/**
|
|
1179
|
-
*
|
|
1180
|
-
*
|
|
1181
|
-
* Updates tracking timestamps (opened_at, form_submitted_at) on the message
|
|
1182
|
-
* linked to a page token. Called by the connected app when a user opens a page
|
|
1183
|
-
* or submits a form.
|
|
1184
|
-
*
|
|
1185
|
-
* **Requires X-API-Key authentication.**
|
|
1284
|
+
* List datalakes
|
|
1186
1285
|
*
|
|
1286
|
+
* Returns a paginated list of datalakes for the authenticated tenant.
|
|
1187
1287
|
*/
|
|
1188
|
-
export const
|
|
1288
|
+
export const platformApiDatalakeControllerIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDatalakeControllerIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiDatalakeControllerIndexResponses, PlatformApiDatalakeControllerIndexErrors, ThrowOnError>({
|
|
1289
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1189
1290
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1190
|
-
body:
|
|
1191
|
-
path:
|
|
1192
|
-
query: v.optional(
|
|
1291
|
+
body: v.optional(v.never()),
|
|
1292
|
+
path: vPlatformApiDatalakeControllerIndexPath,
|
|
1293
|
+
query: v.optional(vPlatformApiDatalakeControllerIndexQuery)
|
|
1193
1294
|
}), data),
|
|
1194
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1295
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDatalakeControllerIndexResponse, data),
|
|
1195
1296
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1196
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1197
|
-
...options
|
|
1198
|
-
headers: {
|
|
1199
|
-
'Content-Type': 'application/json',
|
|
1200
|
-
...options.headers
|
|
1201
|
-
}
|
|
1297
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes',
|
|
1298
|
+
...options
|
|
1202
1299
|
});
|
|
1203
1300
|
|
|
1204
1301
|
/**
|
|
1205
|
-
*
|
|
1302
|
+
* Create a datalake
|
|
1206
1303
|
*
|
|
1207
|
-
*
|
|
1304
|
+
* Creates a new datalake for the authenticated tenant.
|
|
1208
1305
|
*/
|
|
1209
|
-
export const
|
|
1306
|
+
export const platformApiDatalakeControllerCreate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDatalakeControllerCreateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiDatalakeControllerCreateResponses, PlatformApiDatalakeControllerCreateErrors, ThrowOnError>({
|
|
1210
1307
|
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1211
1308
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1212
|
-
body: v.optional(
|
|
1213
|
-
path:
|
|
1214
|
-
query: v.optional(
|
|
1309
|
+
body: v.optional(vPlatformApiDatalakeControllerCreateBody),
|
|
1310
|
+
path: vPlatformApiDatalakeControllerCreatePath,
|
|
1311
|
+
query: v.optional(vPlatformApiDatalakeControllerCreateQuery)
|
|
1215
1312
|
}), data),
|
|
1216
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1313
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDatalakeControllerCreateResponse, data),
|
|
1217
1314
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1218
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes
|
|
1219
|
-
...options
|
|
1315
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes',
|
|
1316
|
+
...options,
|
|
1317
|
+
headers: {
|
|
1318
|
+
'Content-Type': 'application/json',
|
|
1319
|
+
...options.headers
|
|
1320
|
+
}
|
|
1220
1321
|
});
|
|
1221
1322
|
|
|
1222
1323
|
/**
|
|
1223
|
-
* Create
|
|
1324
|
+
* Create datalake upload link
|
|
1224
1325
|
*
|
|
1225
|
-
*
|
|
1326
|
+
* Returns a presigned PUT URL for uploading a file (NDJSON or CSV) directly to the datalake's regulated cloud storage. The returned key lives under `uploads/<datalake_id>/` and can be passed to downstream endpoints (e.g. data activation client ingest-file) that accept a pre-uploaded storage key.
|
|
1226
1327
|
*/
|
|
1227
|
-
export const
|
|
1328
|
+
export const platformApiDatalakeControllerCreateUploadLink = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDatalakeControllerCreateUploadLinkData, ThrowOnError>) => (options.client ?? client).post<PlatformApiDatalakeControllerCreateUploadLinkResponses, PlatformApiDatalakeControllerCreateUploadLinkErrors, ThrowOnError>({
|
|
1329
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1228
1330
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1229
|
-
body:
|
|
1230
|
-
path:
|
|
1231
|
-
query: v.optional(
|
|
1331
|
+
body: vPlatformApiDatalakeControllerCreateUploadLinkBody,
|
|
1332
|
+
path: vPlatformApiDatalakeControllerCreateUploadLinkPath,
|
|
1333
|
+
query: v.optional(vPlatformApiDatalakeControllerCreateUploadLinkQuery)
|
|
1232
1334
|
}), data),
|
|
1233
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1335
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDatalakeControllerCreateUploadLinkResponse, data),
|
|
1234
1336
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1235
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
1337
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/upload-link',
|
|
1236
1338
|
...options,
|
|
1237
1339
|
headers: {
|
|
1238
1340
|
'Content-Type': 'application/json',
|
|
@@ -1241,105 +1343,121 @@ export const platformApiAgenticWorkflowControllerCreate = <ThrowOnError extends
|
|
|
1241
1343
|
});
|
|
1242
1344
|
|
|
1243
1345
|
/**
|
|
1244
|
-
*
|
|
1346
|
+
* Execute an individual action for a dataset record
|
|
1245
1347
|
*
|
|
1246
|
-
*
|
|
1348
|
+
* Executes a single workflow action identified by decision_key for the given dataset record, bypassing filter and decision evaluation
|
|
1247
1349
|
*/
|
|
1248
|
-
export const
|
|
1350
|
+
export const platformApiAgenticWorkflowOperationsControllerExecute = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowOperationsControllerExecuteData, ThrowOnError>) => (options.client ?? client).post<PlatformApiAgenticWorkflowOperationsControllerExecuteResponses, PlatformApiAgenticWorkflowOperationsControllerExecuteErrors, ThrowOnError>({
|
|
1249
1351
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1250
|
-
body:
|
|
1251
|
-
path:
|
|
1352
|
+
body: vPlatformApiAgenticWorkflowOperationsControllerExecuteBody,
|
|
1353
|
+
path: vPlatformApiAgenticWorkflowOperationsControllerExecutePath,
|
|
1252
1354
|
query: v.optional(v.never())
|
|
1253
1355
|
}), data),
|
|
1254
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1356
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowOperationsControllerExecuteResponse, data),
|
|
1255
1357
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1256
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1257
|
-
...options
|
|
1358
|
+
url: '/api/v1/tenants/{tenant_slug}/agentic-workflows/{workflow_slug}/execute',
|
|
1359
|
+
...options,
|
|
1360
|
+
headers: {
|
|
1361
|
+
'Content-Type': 'application/json',
|
|
1362
|
+
...options.headers
|
|
1363
|
+
}
|
|
1258
1364
|
});
|
|
1259
1365
|
|
|
1260
1366
|
/**
|
|
1261
|
-
*
|
|
1367
|
+
* Accept a tenant invitation
|
|
1368
|
+
*
|
|
1369
|
+
* Accepts a pending invitation addressed to the authenticated user, creating
|
|
1370
|
+
* a `Membership` and deleting the invitation. Mirrors the LiveView flow at
|
|
1371
|
+
* `/app/users/tenant-invitations` → "Accept" button. Wraps
|
|
1372
|
+
* `Tenants.accept_invitation!/2` verbatim.
|
|
1373
|
+
*
|
|
1374
|
+
* The function-level guard `get_invitation_by_user!/2` ensures the invitation
|
|
1375
|
+
* is addressed to the caller — cross-user acceptance returns 404.
|
|
1376
|
+
*
|
|
1377
|
+
* Requires any Bearer (the recipient often has only a tenant-less Bearer at
|
|
1378
|
+
* this point — they just signed up and haven't joined a tenant yet).
|
|
1262
1379
|
*
|
|
1263
|
-
* Deletes the DynamicCron job that polls this batch. The batch log is NOT deleted.
|
|
1264
1380
|
*/
|
|
1265
|
-
export const
|
|
1381
|
+
export const platformApiInvitationControllerAccept = <ThrowOnError extends boolean = false>(options: Options<PlatformApiInvitationControllerAcceptData, ThrowOnError>) => (options.client ?? client).post<PlatformApiInvitationControllerAcceptResponses, PlatformApiInvitationControllerAcceptErrors, ThrowOnError>({
|
|
1266
1382
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1267
1383
|
body: v.optional(v.never()),
|
|
1268
|
-
path:
|
|
1384
|
+
path: vPlatformApiInvitationControllerAcceptPath,
|
|
1269
1385
|
query: v.optional(v.never())
|
|
1270
1386
|
}), data),
|
|
1271
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1272
|
-
security: [{
|
|
1273
|
-
url: '/api/v1/
|
|
1387
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiInvitationControllerAcceptResponse, data),
|
|
1388
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1389
|
+
url: '/api/v1/invitations/{id}/accept',
|
|
1274
1390
|
...options
|
|
1275
1391
|
});
|
|
1276
1392
|
|
|
1277
1393
|
/**
|
|
1278
|
-
*
|
|
1394
|
+
* Get a batch run log
|
|
1279
1395
|
*
|
|
1280
|
-
* Returns a
|
|
1396
|
+
* Returns a single batch-level workflow run log with merged artifacts.
|
|
1281
1397
|
*/
|
|
1282
|
-
export const
|
|
1283
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1398
|
+
export const platformApiAgenticWorkflowOperationsControllerBatchLogShow = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowOperationsControllerBatchLogShowData, ThrowOnError>) => (options.client ?? client).get<PlatformApiAgenticWorkflowOperationsControllerBatchLogShowResponses, PlatformApiAgenticWorkflowOperationsControllerBatchLogShowErrors, ThrowOnError>({
|
|
1284
1399
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1285
1400
|
body: v.optional(v.never()),
|
|
1286
|
-
path:
|
|
1287
|
-
query: v.optional(
|
|
1401
|
+
path: vPlatformApiAgenticWorkflowOperationsControllerBatchLogShowPath,
|
|
1402
|
+
query: v.optional(v.never())
|
|
1288
1403
|
}), data),
|
|
1289
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1404
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowOperationsControllerBatchLogShowResponse, data),
|
|
1290
1405
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1291
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1406
|
+
url: '/api/v1/tenants/{tenant_slug}/agentic-workflows/{workflow_slug}/batch-logs/{id}',
|
|
1292
1407
|
...options
|
|
1293
1408
|
});
|
|
1294
1409
|
|
|
1295
1410
|
/**
|
|
1296
|
-
*
|
|
1411
|
+
* Get contract field metadata
|
|
1297
1412
|
*
|
|
1298
|
-
*
|
|
1413
|
+
* Returns a markdown document describing the fields of the contract's target resource type. Combines `@moduledoc` (resource description) and `@typedoc` (field definitions) from the schema.
|
|
1299
1414
|
*/
|
|
1300
|
-
export const
|
|
1415
|
+
export const platformApiInteroperabilityContractControllerMetadata = <ThrowOnError extends boolean = false>(options: Options<PlatformApiInteroperabilityContractControllerMetadataData, ThrowOnError>) => (options.client ?? client).get<PlatformApiInteroperabilityContractControllerMetadataResponses, PlatformApiInteroperabilityContractControllerMetadataErrors, ThrowOnError>({
|
|
1416
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1301
1417
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1302
1418
|
body: v.optional(v.never()),
|
|
1303
|
-
path:
|
|
1304
|
-
query: v.optional(
|
|
1419
|
+
path: vPlatformApiInteroperabilityContractControllerMetadataPath,
|
|
1420
|
+
query: v.optional(vPlatformApiInteroperabilityContractControllerMetadataQuery)
|
|
1305
1421
|
}), data),
|
|
1306
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1422
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiInteroperabilityContractControllerMetadataResponse, data),
|
|
1307
1423
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1308
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1424
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/interoperability-contracts/{slug}/metadata',
|
|
1309
1425
|
...options
|
|
1310
1426
|
});
|
|
1311
1427
|
|
|
1312
1428
|
/**
|
|
1313
|
-
*
|
|
1429
|
+
* List interoperability contracts
|
|
1314
1430
|
*
|
|
1315
|
-
* Returns a
|
|
1431
|
+
* Returns a paginated list of contracts scoped to the datalake.
|
|
1316
1432
|
*/
|
|
1317
|
-
export const
|
|
1433
|
+
export const platformApiInteroperabilityContractControllerIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiInteroperabilityContractControllerIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiInteroperabilityContractControllerIndexResponses, PlatformApiInteroperabilityContractControllerIndexErrors, ThrowOnError>({
|
|
1434
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1318
1435
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1319
1436
|
body: v.optional(v.never()),
|
|
1320
|
-
path:
|
|
1321
|
-
query: v.optional(
|
|
1437
|
+
path: vPlatformApiInteroperabilityContractControllerIndexPath,
|
|
1438
|
+
query: v.optional(vPlatformApiInteroperabilityContractControllerIndexQuery)
|
|
1322
1439
|
}), data),
|
|
1323
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1440
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiInteroperabilityContractControllerIndexResponse, data),
|
|
1324
1441
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1325
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1442
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/interoperability-contracts',
|
|
1326
1443
|
...options
|
|
1327
1444
|
});
|
|
1328
1445
|
|
|
1329
1446
|
/**
|
|
1330
|
-
*
|
|
1447
|
+
* Create an interoperability contract
|
|
1331
1448
|
*
|
|
1332
|
-
*
|
|
1449
|
+
* Creates a new contract. `slug` is auto-generated from `name` on insert.
|
|
1333
1450
|
*/
|
|
1334
|
-
export const
|
|
1451
|
+
export const platformApiInteroperabilityContractControllerCreate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiInteroperabilityContractControllerCreateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiInteroperabilityContractControllerCreateResponses, PlatformApiInteroperabilityContractControllerCreateErrors, ThrowOnError>({
|
|
1452
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1335
1453
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1336
|
-
body: v.optional(
|
|
1337
|
-
path:
|
|
1338
|
-
query: v.optional(
|
|
1454
|
+
body: v.optional(vPlatformApiInteroperabilityContractControllerCreateBody),
|
|
1455
|
+
path: vPlatformApiInteroperabilityContractControllerCreatePath,
|
|
1456
|
+
query: v.optional(vPlatformApiInteroperabilityContractControllerCreateQuery)
|
|
1339
1457
|
}), data),
|
|
1340
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1458
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiInteroperabilityContractControllerCreateResponse, data),
|
|
1341
1459
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1342
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1460
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/interoperability-contracts',
|
|
1343
1461
|
...options,
|
|
1344
1462
|
headers: {
|
|
1345
1463
|
'Content-Type': 'application/json',
|
|
@@ -1348,93 +1466,62 @@ export const platformApiToolControllerUpdate = <ThrowOnError extends boolean = f
|
|
|
1348
1466
|
});
|
|
1349
1467
|
|
|
1350
1468
|
/**
|
|
1351
|
-
*
|
|
1352
|
-
*
|
|
1353
|
-
* Returns a markdown document describing the workflow's variable pipeline — available variables at each node (event dataset, MDM, context datasets, enrichment, filter, decision, actions).
|
|
1354
|
-
*/
|
|
1355
|
-
export const platformApiAgenticWorkflowControllerMetadata = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowControllerMetadataData, ThrowOnError>) => (options.client ?? client).get<PlatformApiAgenticWorkflowControllerMetadataResponses, PlatformApiAgenticWorkflowControllerMetadataErrors, ThrowOnError>({
|
|
1356
|
-
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1357
|
-
body: v.optional(v.never()),
|
|
1358
|
-
path: vPlatformApiAgenticWorkflowControllerMetadataPath,
|
|
1359
|
-
query: v.optional(v.never())
|
|
1360
|
-
}), data),
|
|
1361
|
-
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowControllerMetadataResponse, data),
|
|
1362
|
-
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1363
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/agentic-workflows/{id}/metadata',
|
|
1364
|
-
...options
|
|
1365
|
-
});
|
|
1366
|
-
|
|
1367
|
-
/**
|
|
1368
|
-
* Health check
|
|
1469
|
+
* List the authenticated user's pending invitations
|
|
1369
1470
|
*
|
|
1370
|
-
*
|
|
1371
|
-
*
|
|
1372
|
-
*
|
|
1373
|
-
*
|
|
1471
|
+
* Returns invitations addressed to the authenticated user that have not
|
|
1472
|
+
* yet been accepted. Mirrors the LiveView at `/app/users/tenant-invitations`
|
|
1473
|
+
* that recipients see after sign-in. Wraps `Tenants.list_invitations_by_user/1`
|
|
1474
|
+
* verbatim — always filtered to the current user, never accepts a query
|
|
1475
|
+
* parameter that could leak another user's invitations.
|
|
1374
1476
|
*
|
|
1375
|
-
*
|
|
1477
|
+
* Requires any Bearer (tenant-less is fine — recipients typically don't
|
|
1478
|
+
* have tenant scope yet at this point in the bootstrap flow).
|
|
1376
1479
|
*
|
|
1377
1480
|
*/
|
|
1378
|
-
export const
|
|
1481
|
+
export const platformApiInvitationControllerIndex = <ThrowOnError extends boolean = false>(options?: Options<PlatformApiInvitationControllerIndexData, ThrowOnError>) => (options?.client ?? client).get<PlatformApiInvitationControllerIndexResponses, PlatformApiInvitationControllerIndexErrors, ThrowOnError>({
|
|
1379
1482
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1380
1483
|
body: v.optional(v.never()),
|
|
1381
1484
|
path: v.optional(v.never()),
|
|
1382
1485
|
query: v.optional(v.never())
|
|
1383
1486
|
}), data),
|
|
1384
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
});
|
|
1388
|
-
|
|
1389
|
-
/**
|
|
1390
|
-
* Sync routes
|
|
1391
|
-
*
|
|
1392
|
-
* Enqueues a background job to fetch routes from the connected app's `/.well-known/routes.json` endpoint and update the stored routes.
|
|
1393
|
-
*/
|
|
1394
|
-
export const platformApiConnectedAppMgmtControllerSyncRoutes = <ThrowOnError extends boolean = false>(options: Options<PlatformApiConnectedAppMgmtControllerSyncRoutesData, ThrowOnError>) => (options.client ?? client).post<PlatformApiConnectedAppMgmtControllerSyncRoutesResponses, PlatformApiConnectedAppMgmtControllerSyncRoutesErrors, ThrowOnError>({
|
|
1395
|
-
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1396
|
-
body: v.optional(v.never()),
|
|
1397
|
-
path: vPlatformApiConnectedAppMgmtControllerSyncRoutesPath,
|
|
1398
|
-
query: v.optional(v.never())
|
|
1399
|
-
}), data),
|
|
1400
|
-
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiConnectedAppMgmtControllerSyncRoutesResponse, data),
|
|
1401
|
-
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1402
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/connected-apps/{id}/sync-routes',
|
|
1487
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiInvitationControllerIndexResponse, data),
|
|
1488
|
+
security: [{ scheme: 'bearer', type: 'http' }],
|
|
1489
|
+
url: '/api/v1/invitations',
|
|
1403
1490
|
...options
|
|
1404
1491
|
});
|
|
1405
1492
|
|
|
1406
1493
|
/**
|
|
1407
|
-
* List
|
|
1494
|
+
* List generic tables
|
|
1408
1495
|
*
|
|
1409
|
-
* Returns a paginated list of
|
|
1496
|
+
* Returns a paginated list of generic tables for the datalake (custom tables + system tables for the data domain).
|
|
1410
1497
|
*/
|
|
1411
|
-
export const
|
|
1498
|
+
export const platformApiGenericTableControllerIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiGenericTableControllerIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiGenericTableControllerIndexResponses, PlatformApiGenericTableControllerIndexErrors, ThrowOnError>({
|
|
1412
1499
|
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1413
1500
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1414
1501
|
body: v.optional(v.never()),
|
|
1415
|
-
path:
|
|
1416
|
-
query: v.optional(
|
|
1502
|
+
path: vPlatformApiGenericTableControllerIndexPath,
|
|
1503
|
+
query: v.optional(vPlatformApiGenericTableControllerIndexQuery)
|
|
1417
1504
|
}), data),
|
|
1418
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1505
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiGenericTableControllerIndexResponse, data),
|
|
1419
1506
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1420
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
1507
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/generic-tables',
|
|
1421
1508
|
...options
|
|
1422
1509
|
});
|
|
1423
1510
|
|
|
1424
1511
|
/**
|
|
1425
|
-
* Create a
|
|
1512
|
+
* Create a generic table
|
|
1426
1513
|
*
|
|
1427
|
-
* Creates a new
|
|
1514
|
+
* Creates a new custom generic table within the datalake.
|
|
1428
1515
|
*/
|
|
1429
|
-
export const
|
|
1516
|
+
export const platformApiGenericTableControllerCreate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiGenericTableControllerCreateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiGenericTableControllerCreateResponses, PlatformApiGenericTableControllerCreateErrors, ThrowOnError>({
|
|
1430
1517
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1431
|
-
body: v.optional(
|
|
1432
|
-
path:
|
|
1518
|
+
body: v.optional(vPlatformApiGenericTableControllerCreateBody),
|
|
1519
|
+
path: vPlatformApiGenericTableControllerCreatePath,
|
|
1433
1520
|
query: v.optional(v.never())
|
|
1434
1521
|
}), data),
|
|
1435
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1522
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiGenericTableControllerCreateResponse, data),
|
|
1436
1523
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1437
|
-
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/
|
|
1524
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/generic-tables',
|
|
1438
1525
|
...options,
|
|
1439
1526
|
headers: {
|
|
1440
1527
|
'Content-Type': 'application/json',
|
|
@@ -1443,60 +1530,55 @@ export const platformApiDataActivationClientControllerCreate = <ThrowOnError ext
|
|
|
1443
1530
|
});
|
|
1444
1531
|
|
|
1445
1532
|
/**
|
|
1446
|
-
*
|
|
1447
|
-
*
|
|
1448
|
-
* Register a new user account. Mirrors the `/auth/register` LiveView form
|
|
1449
|
-
* submission shape — wraps `Accounts.register_user/2` verbatim with no
|
|
1450
|
-
* business-logic divergence.
|
|
1533
|
+
* List accessible tenants
|
|
1451
1534
|
*
|
|
1452
|
-
*
|
|
1453
|
-
* obtain a Bearer token, the user must first be confirmed (via the email
|
|
1454
|
-
* confirmation flow in production, or via `PUT /api/v1/admin/users/:id/confirm`
|
|
1455
|
-
* in test bootstrap), then exchange credentials at `POST /api/v1/sessions`.
|
|
1535
|
+
* Returns a paginated list of tenants accessible to the authenticated identity.
|
|
1456
1536
|
*
|
|
1457
|
-
*
|
|
1537
|
+
* - **Bearer token**: returns all tenants the user has membership in.
|
|
1538
|
+
* - **X-API-Key**: returns the single tenant the API key is scoped to.
|
|
1458
1539
|
*
|
|
1459
1540
|
*/
|
|
1460
|
-
export const
|
|
1541
|
+
export const platformApiTenantControllerIndex = <ThrowOnError extends boolean = false>(options?: Options<PlatformApiTenantControllerIndexData, ThrowOnError>) => (options?.client ?? client).get<PlatformApiTenantControllerIndexResponses, PlatformApiTenantControllerIndexErrors, ThrowOnError>({
|
|
1542
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1461
1543
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1462
|
-
body:
|
|
1544
|
+
body: v.optional(v.never()),
|
|
1463
1545
|
path: v.optional(v.never()),
|
|
1464
|
-
query: v.optional(
|
|
1546
|
+
query: v.optional(vPlatformApiTenantControllerIndexQuery)
|
|
1465
1547
|
}), data),
|
|
1466
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
'Content-Type': 'application/json',
|
|
1471
|
-
...options.headers
|
|
1472
|
-
}
|
|
1548
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiTenantControllerIndexResponse, data),
|
|
1549
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }, { scheme: 'bearer', type: 'http' }],
|
|
1550
|
+
url: '/api/v1/tenants',
|
|
1551
|
+
...options
|
|
1473
1552
|
});
|
|
1474
1553
|
|
|
1475
1554
|
/**
|
|
1476
|
-
*
|
|
1555
|
+
* Create a tenant
|
|
1477
1556
|
*
|
|
1478
|
-
*
|
|
1557
|
+
* Creates a new tenant and an `:admin` membership for the authenticated user.
|
|
1558
|
+
* Wraps `Platform.Tenants.create_tenant/3` verbatim — same primitive that
|
|
1559
|
+
* backs the `/app/tenants/new` LiveView.
|
|
1479
1560
|
*
|
|
1480
|
-
*
|
|
1481
|
-
* - **
|
|
1482
|
-
*
|
|
1483
|
-
* -
|
|
1484
|
-
* - **identifiers** — Exact (system, value) match
|
|
1561
|
+
* On success returns a regular `SessionResponse` carrying a freshly-minted
|
|
1562
|
+
* **tenant-scoped Bearer** (`session_token`), the new tenant, and the
|
|
1563
|
+
* membership role. Callers swap their tenant-less Bearer for this token
|
|
1564
|
+
* and proceed with tenant-scoped work — no second sign-in round-trip.
|
|
1485
1565
|
*
|
|
1486
|
-
*
|
|
1566
|
+
* The user must be confirmed (`confirmed_at IS NOT NULL`); unconfirmed
|
|
1567
|
+
* callers receive 403. Duplicate tenant names (slug collision) return 422.
|
|
1487
1568
|
*
|
|
1488
|
-
*
|
|
1569
|
+
* Requires `Authorization: Bearer <token>` (X-API-Key cannot create tenants —
|
|
1570
|
+
* it carries no platform-user identity to bind the membership to).
|
|
1489
1571
|
*
|
|
1490
1572
|
*/
|
|
1491
|
-
export const
|
|
1573
|
+
export const platformApiTenantControllerCreate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiTenantControllerCreateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiTenantControllerCreateResponses, PlatformApiTenantControllerCreateErrors, ThrowOnError>({
|
|
1492
1574
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1493
|
-
body:
|
|
1494
|
-
path:
|
|
1575
|
+
body: vPlatformApiTenantControllerCreateBody,
|
|
1576
|
+
path: v.optional(v.never()),
|
|
1495
1577
|
query: v.optional(v.never())
|
|
1496
|
-
}), data),
|
|
1497
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1498
|
-
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1499
|
-
url: '/api/v1/tenants
|
|
1578
|
+
}), data),
|
|
1579
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiTenantControllerCreateResponse, data),
|
|
1580
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }, { scheme: 'bearer', type: 'http' }],
|
|
1581
|
+
url: '/api/v1/tenants',
|
|
1500
1582
|
...options,
|
|
1501
1583
|
headers: {
|
|
1502
1584
|
'Content-Type': 'application/json',
|
|
@@ -1505,36 +1587,36 @@ export const platformApiMdmControllerVerify = <ThrowOnError extends boolean = fa
|
|
|
1505
1587
|
});
|
|
1506
1588
|
|
|
1507
1589
|
/**
|
|
1508
|
-
* Get a
|
|
1590
|
+
* Get schema metadata for a specific dataset type
|
|
1509
1591
|
*
|
|
1510
|
-
* Returns a
|
|
1592
|
+
* Returns a markdown document describing the fields available on a dataset type. For standard datasets (patient, appointment, etc.) returns the schema moduledoc. For generic tables, pass the generic_table_id query parameter.
|
|
1511
1593
|
*/
|
|
1512
|
-
export const
|
|
1594
|
+
export const platformApiDatasetControllerDatasetMetadata = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDatasetControllerDatasetMetadataData, ThrowOnError>) => (options.client ?? client).get<PlatformApiDatasetControllerDatasetMetadataResponses, PlatformApiDatasetControllerDatasetMetadataErrors, ThrowOnError>({
|
|
1513
1595
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1514
1596
|
body: v.optional(v.never()),
|
|
1515
|
-
path:
|
|
1516
|
-
query: v.optional(
|
|
1597
|
+
path: vPlatformApiDatasetControllerDatasetMetadataPath,
|
|
1598
|
+
query: v.optional(vPlatformApiDatasetControllerDatasetMetadataQuery)
|
|
1517
1599
|
}), data),
|
|
1518
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1600
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDatasetControllerDatasetMetadataResponse, data),
|
|
1519
1601
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1520
|
-
url: '/api/v1/
|
|
1602
|
+
url: '/api/v1/datasets/{dataset_type}/metadata',
|
|
1521
1603
|
...options
|
|
1522
1604
|
});
|
|
1523
1605
|
|
|
1524
1606
|
/**
|
|
1525
|
-
*
|
|
1607
|
+
* Test invoke a tool
|
|
1526
1608
|
*
|
|
1527
|
-
*
|
|
1609
|
+
* Manually invokes a tool with caller-supplied parameters — the API equivalent of the 'Try It' panel in the tool form. Records a `ManualToolInvocation` for audit and returns the provider response (or error). Does not access tenant datasets, so no capability ceiling check is applied.
|
|
1528
1610
|
*/
|
|
1529
|
-
export const
|
|
1611
|
+
export const platformApiToolControllerTestInvocation = <ThrowOnError extends boolean = false>(options: Options<PlatformApiToolControllerTestInvocationData, ThrowOnError>) => (options.client ?? client).post<PlatformApiToolControllerTestInvocationResponses, PlatformApiToolControllerTestInvocationErrors, ThrowOnError>({
|
|
1530
1612
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1531
|
-
body: v.optional(
|
|
1532
|
-
path:
|
|
1613
|
+
body: v.optional(vPlatformApiToolControllerTestInvocationBody),
|
|
1614
|
+
path: vPlatformApiToolControllerTestInvocationPath,
|
|
1533
1615
|
query: v.optional(v.never())
|
|
1534
1616
|
}), data),
|
|
1535
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1617
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiToolControllerTestInvocationResponse, data),
|
|
1536
1618
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1537
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1619
|
+
url: '/api/v1/tenants/{tenant_slug}/tools/{id}/test-invocation',
|
|
1538
1620
|
...options,
|
|
1539
1621
|
headers: {
|
|
1540
1622
|
'Content-Type': 'application/json',
|
|
@@ -1543,29 +1625,37 @@ export const platformApiConnectedAppMgmtControllerUpdate = <ThrowOnError extends
|
|
|
1543
1625
|
});
|
|
1544
1626
|
|
|
1545
1627
|
/**
|
|
1546
|
-
*
|
|
1547
|
-
*
|
|
1548
|
-
* Creates a `tenant_admin`-issued invitation. Mirrors the LiveView flow at
|
|
1549
|
-
* `/app/team` → "Invite new member". Wraps `Tenants.send_tenant_invitation/3`
|
|
1550
|
-
* verbatim, including the email send.
|
|
1551
|
-
*
|
|
1552
|
-
* The `role` enum is **membership-level** (`member`, `researcher`, `admin`),
|
|
1553
|
-
* NOT the platform-wide `User.role` enum — privilege-escalation safe by
|
|
1554
|
-
* construction.
|
|
1628
|
+
* Get a datalake
|
|
1555
1629
|
*
|
|
1556
|
-
*
|
|
1557
|
-
|
|
1630
|
+
* Returns a single datalake by ID (non-sensitive metadata only).
|
|
1631
|
+
*/
|
|
1632
|
+
export const platformApiDatalakeControllerShow = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDatalakeControllerShowData, ThrowOnError>) => (options.client ?? client).get<PlatformApiDatalakeControllerShowResponses, PlatformApiDatalakeControllerShowErrors, ThrowOnError>({
|
|
1633
|
+
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1634
|
+
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1635
|
+
body: v.optional(v.never()),
|
|
1636
|
+
path: vPlatformApiDatalakeControllerShowPath,
|
|
1637
|
+
query: v.optional(vPlatformApiDatalakeControllerShowQuery)
|
|
1638
|
+
}), data),
|
|
1639
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDatalakeControllerShowResponse, data),
|
|
1640
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1641
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{id}',
|
|
1642
|
+
...options
|
|
1643
|
+
});
|
|
1644
|
+
|
|
1645
|
+
/**
|
|
1646
|
+
* Create datalake download link
|
|
1558
1647
|
*
|
|
1648
|
+
* Returns a presigned GET URL for an object stored in one of the datalake's cloud storage buckets (regulated or unregulated). Typical use: read a `DACRawLogFile.object_key` (`s3://bucket/key`) off a data-activation log row, split it into `bucket` and `key`, then POST here to obtain a short-lived download URL.
|
|
1559
1649
|
*/
|
|
1560
|
-
export const
|
|
1650
|
+
export const platformApiDatalakeControllerCreateDownloadLink = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDatalakeControllerCreateDownloadLinkData, ThrowOnError>) => (options.client ?? client).post<PlatformApiDatalakeControllerCreateDownloadLinkResponses, PlatformApiDatalakeControllerCreateDownloadLinkErrors, ThrowOnError>({
|
|
1561
1651
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1562
|
-
body:
|
|
1563
|
-
path:
|
|
1652
|
+
body: vPlatformApiDatalakeControllerCreateDownloadLinkBody,
|
|
1653
|
+
path: vPlatformApiDatalakeControllerCreateDownloadLinkPath,
|
|
1564
1654
|
query: v.optional(v.never())
|
|
1565
1655
|
}), data),
|
|
1566
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1567
|
-
security: [{
|
|
1568
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1656
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDatalakeControllerCreateDownloadLinkResponse, data),
|
|
1657
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1658
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/download-link',
|
|
1569
1659
|
...options,
|
|
1570
1660
|
headers: {
|
|
1571
1661
|
'Content-Type': 'application/json',
|
|
@@ -1574,127 +1664,131 @@ export const platformApiInvitationControllerCreate = <ThrowOnError extends boole
|
|
|
1574
1664
|
});
|
|
1575
1665
|
|
|
1576
1666
|
/**
|
|
1577
|
-
*
|
|
1667
|
+
* Download execution context
|
|
1578
1668
|
*
|
|
1579
|
-
* Returns a
|
|
1669
|
+
* Returns a presigned URL for downloading the execution context JSON from R2.
|
|
1580
1670
|
*/
|
|
1581
|
-
export const
|
|
1582
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1671
|
+
export const platformApiAgenticWorkflowOperationsControllerWorkflowLogDownload = <ThrowOnError extends boolean = false>(options: Options<PlatformApiAgenticWorkflowOperationsControllerWorkflowLogDownloadData, ThrowOnError>) => (options.client ?? client).get<PlatformApiAgenticWorkflowOperationsControllerWorkflowLogDownloadResponses, PlatformApiAgenticWorkflowOperationsControllerWorkflowLogDownloadErrors, ThrowOnError>({
|
|
1583
1672
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1584
1673
|
body: v.optional(v.never()),
|
|
1585
|
-
path:
|
|
1586
|
-
query: v.optional(
|
|
1674
|
+
path: vPlatformApiAgenticWorkflowOperationsControllerWorkflowLogDownloadPath,
|
|
1675
|
+
query: v.optional(v.never())
|
|
1587
1676
|
}), data),
|
|
1588
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1677
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiAgenticWorkflowOperationsControllerWorkflowLogDownloadResponse, data),
|
|
1589
1678
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1590
|
-
url: '/api/v1/tenants/{tenant_slug}/agentic-workflows/{workflow_slug}/workflow-logs',
|
|
1679
|
+
url: '/api/v1/tenants/{tenant_slug}/agentic-workflows/{workflow_slug}/workflow-logs/{id}/download',
|
|
1591
1680
|
...options
|
|
1592
1681
|
});
|
|
1593
1682
|
|
|
1594
1683
|
/**
|
|
1595
|
-
*
|
|
1684
|
+
* Verify current session
|
|
1596
1685
|
*
|
|
1597
|
-
*
|
|
1686
|
+
* Returns the current session's tenant, role, and identity information.
|
|
1598
1687
|
*
|
|
1599
|
-
*
|
|
1600
|
-
*
|
|
1601
|
-
*
|
|
1602
|
-
* plan — past ~1k parameters the planner regresses.
|
|
1603
|
-
* * **Inner** — `inner_search[page]`, `inner_search[page_size]` (defaults
|
|
1604
|
-
* `1` / `20`), `inner_search[order_direction]` (sort on the schema's
|
|
1605
|
-
* `:global_search` compound), `inner_search[global_search]` (single
|
|
1606
|
-
* ILIKE-OR text-search knob).
|
|
1688
|
+
* Works with both authentication methods:
|
|
1689
|
+
* - `X-API-Key` header (M2M)
|
|
1690
|
+
* - `Authorization: Bearer <session_token>` (human sessions)
|
|
1607
1691
|
*
|
|
1608
|
-
*
|
|
1609
|
-
*
|
|
1610
|
-
*
|
|
1611
|
-
*
|
|
1692
|
+
* Use this as a "who am I" endpoint to confirm credentials are valid and
|
|
1693
|
+
* inspect the resolved tenant, role, and identity.
|
|
1694
|
+
*
|
|
1695
|
+
* **Requires authentication** (X-API-Key or Bearer token).
|
|
1612
1696
|
*
|
|
1613
1697
|
*/
|
|
1614
|
-
export const
|
|
1698
|
+
export const platformApiSessionControllerVerify = <ThrowOnError extends boolean = false>(options?: Options<PlatformApiSessionControllerVerifyData, ThrowOnError>) => (options?.client ?? client).get<PlatformApiSessionControllerVerifyResponses, PlatformApiSessionControllerVerifyErrors, ThrowOnError>({
|
|
1615
1699
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1616
1700
|
body: v.optional(v.never()),
|
|
1617
|
-
path:
|
|
1618
|
-
query: v.optional(
|
|
1701
|
+
path: v.optional(v.never()),
|
|
1702
|
+
query: v.optional(v.never())
|
|
1619
1703
|
}), data),
|
|
1620
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1621
|
-
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1622
|
-
url: '/api/v1/
|
|
1704
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiSessionControllerVerifyResponse, data),
|
|
1705
|
+
security: [{ name: 'X-API-Key', type: 'apiKey' }, { scheme: 'bearer', type: 'http' }],
|
|
1706
|
+
url: '/api/v1/sessions/verify',
|
|
1623
1707
|
...options
|
|
1624
1708
|
});
|
|
1625
1709
|
|
|
1626
1710
|
/**
|
|
1627
|
-
*
|
|
1711
|
+
* Enqueue datalake migrations
|
|
1712
|
+
*
|
|
1713
|
+
* Enqueues a `DatalakeMigrationWorker` Oban job that brings the datalake's
|
|
1714
|
+
* per-tenant database to the current schema version. Required after
|
|
1715
|
+
* `POST /datalakes`, which only persists the metadata row — it does NOT
|
|
1716
|
+
* run migrations against the per-tenant DB. Without this step, every
|
|
1717
|
+
* downstream resource that touches per-datalake tables
|
|
1718
|
+
* (`data_activation_logs`, MDM tables, dataset tables) will fail with
|
|
1719
|
+
* `relation … does not exist`.
|
|
1720
|
+
*
|
|
1721
|
+
* Asynchronous: returns 202 Accepted as soon as the job is enqueued.
|
|
1722
|
+
* Callers poll `GET /datalakes/:id` and watch for `status: :ready`.
|
|
1723
|
+
* Idempotent at the job level — re-enqueueing on a migrated datalake
|
|
1724
|
+
* is a no-op once the worker completes.
|
|
1725
|
+
*
|
|
1726
|
+
* The LiveView "Migrate Datalake" button calls the same migrator
|
|
1727
|
+
* synchronously inside the LiveView process.
|
|
1728
|
+
*
|
|
1729
|
+
* Requires a tenant-scoped Bearer with membership role `admin`.
|
|
1628
1730
|
*
|
|
1629
|
-
* Creates a `UserSearch` row, runs `INSERT INTO search_results SELECT ... WHERE <search_query>` against the regulated schema, and returns the `UserSearch` resource (including `status`, `results_count`, and `error_message`). The session's `data_access_mode` controls which schema is queried.
|
|
1630
1731
|
*/
|
|
1631
|
-
export const
|
|
1732
|
+
export const platformApiDatalakeControllerMigrate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDatalakeControllerMigrateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiDatalakeControllerMigrateResponses, PlatformApiDatalakeControllerMigrateErrors, ThrowOnError>({
|
|
1632
1733
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1633
|
-
body: v.optional(
|
|
1634
|
-
path:
|
|
1635
|
-
query: v.optional(
|
|
1734
|
+
body: v.optional(v.never()),
|
|
1735
|
+
path: vPlatformApiDatalakeControllerMigratePath,
|
|
1736
|
+
query: v.optional(v.never())
|
|
1636
1737
|
}), data),
|
|
1637
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1738
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDatalakeControllerMigrateResponse, data),
|
|
1638
1739
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1639
|
-
url: '/api/v1/
|
|
1640
|
-
...options
|
|
1641
|
-
headers: {
|
|
1642
|
-
'Content-Type': 'application/json',
|
|
1643
|
-
...options.headers
|
|
1644
|
-
}
|
|
1740
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/migrate',
|
|
1741
|
+
...options
|
|
1645
1742
|
});
|
|
1646
1743
|
|
|
1647
1744
|
/**
|
|
1648
|
-
*
|
|
1745
|
+
* Delete a data activation client
|
|
1649
1746
|
*
|
|
1650
|
-
* Returns a
|
|
1747
|
+
* Deletes a DAC. Returns 422 if the DAC is a platform default (is_default=true). Returns 409 if referenced by other resources.
|
|
1651
1748
|
*/
|
|
1652
|
-
export const
|
|
1653
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1749
|
+
export const platformApiDataActivationClientControllerDelete = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataActivationClientControllerDeleteData, ThrowOnError>) => (options.client ?? client).delete<PlatformApiDataActivationClientControllerDeleteResponses, PlatformApiDataActivationClientControllerDeleteErrors, ThrowOnError>({
|
|
1654
1750
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1655
1751
|
body: v.optional(v.never()),
|
|
1656
|
-
path:
|
|
1657
|
-
query: v.optional(
|
|
1752
|
+
path: vPlatformApiDataActivationClientControllerDeletePath,
|
|
1753
|
+
query: v.optional(v.never())
|
|
1658
1754
|
}), data),
|
|
1659
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1755
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataActivationClientControllerDeleteResponse, data),
|
|
1660
1756
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1661
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1757
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients/{slug}',
|
|
1662
1758
|
...options
|
|
1663
1759
|
});
|
|
1664
1760
|
|
|
1665
1761
|
/**
|
|
1666
|
-
*
|
|
1762
|
+
* Get a data activation client
|
|
1667
1763
|
*
|
|
1668
|
-
* Returns a
|
|
1764
|
+
* Returns a single DAC by datalake-scoped slug.
|
|
1669
1765
|
*/
|
|
1670
|
-
export const
|
|
1671
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1766
|
+
export const platformApiDataActivationClientControllerShow = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataActivationClientControllerShowData, ThrowOnError>) => (options.client ?? client).get<PlatformApiDataActivationClientControllerShowResponses, PlatformApiDataActivationClientControllerShowErrors, ThrowOnError>({
|
|
1672
1767
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1673
1768
|
body: v.optional(v.never()),
|
|
1674
|
-
path:
|
|
1675
|
-
query: v.optional(
|
|
1769
|
+
path: vPlatformApiDataActivationClientControllerShowPath,
|
|
1770
|
+
query: v.optional(v.never())
|
|
1676
1771
|
}), data),
|
|
1677
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1772
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataActivationClientControllerShowResponse, data),
|
|
1678
1773
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1679
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1774
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients/{slug}',
|
|
1680
1775
|
...options
|
|
1681
1776
|
});
|
|
1682
1777
|
|
|
1683
1778
|
/**
|
|
1684
|
-
*
|
|
1779
|
+
* Replace a data activation client
|
|
1685
1780
|
*
|
|
1686
|
-
*
|
|
1781
|
+
* Replaces a DAC with the full resource body. PUT semantics — all required fields must be present. `slug` is immutable.
|
|
1687
1782
|
*/
|
|
1688
|
-
export const
|
|
1689
|
-
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1783
|
+
export const platformApiDataActivationClientControllerUpdate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiDataActivationClientControllerUpdateData, ThrowOnError>) => (options.client ?? client).put<PlatformApiDataActivationClientControllerUpdateResponses, PlatformApiDataActivationClientControllerUpdateErrors, ThrowOnError>({
|
|
1690
1784
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1691
|
-
body: v.optional(
|
|
1692
|
-
path:
|
|
1693
|
-
query: v.optional(
|
|
1785
|
+
body: v.optional(vPlatformApiDataActivationClientControllerUpdateBody),
|
|
1786
|
+
path: vPlatformApiDataActivationClientControllerUpdatePath,
|
|
1787
|
+
query: v.optional(v.never())
|
|
1694
1788
|
}), data),
|
|
1695
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1789
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiDataActivationClientControllerUpdateResponse, data),
|
|
1696
1790
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1697
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1791
|
+
url: '/api/v1/tenants/{tenant_slug}/datalakes/{datalake_slug}/data-activation-clients/{slug}',
|
|
1698
1792
|
...options,
|
|
1699
1793
|
headers: {
|
|
1700
1794
|
'Content-Type': 'application/json',
|
|
@@ -1703,51 +1797,37 @@ export const platformApiActionStatusUpdaterControllerCreate = <ThrowOnError exte
|
|
|
1703
1797
|
});
|
|
1704
1798
|
|
|
1705
1799
|
/**
|
|
1706
|
-
*
|
|
1800
|
+
* List tools
|
|
1707
1801
|
*
|
|
1708
|
-
*
|
|
1802
|
+
* Returns a paginated list of tools for the authenticated tenant.
|
|
1709
1803
|
*/
|
|
1710
|
-
export const
|
|
1804
|
+
export const platformApiToolControllerIndex = <ThrowOnError extends boolean = false>(options: Options<PlatformApiToolControllerIndexData, ThrowOnError>) => (options.client ?? client).get<PlatformApiToolControllerIndexResponses, PlatformApiToolControllerIndexErrors, ThrowOnError>({
|
|
1711
1805
|
querySerializer: { parameters: { filters: { array: { style: 'deepObject' } } } },
|
|
1712
1806
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1713
|
-
body:
|
|
1714
|
-
path:
|
|
1715
|
-
query: v.optional(
|
|
1807
|
+
body: v.optional(v.never()),
|
|
1808
|
+
path: vPlatformApiToolControllerIndexPath,
|
|
1809
|
+
query: v.optional(vPlatformApiToolControllerIndexQuery)
|
|
1716
1810
|
}), data),
|
|
1717
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1811
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiToolControllerIndexResponse, data),
|
|
1718
1812
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1719
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1720
|
-
...options
|
|
1721
|
-
headers: {
|
|
1722
|
-
'Content-Type': 'application/json',
|
|
1723
|
-
...options.headers
|
|
1724
|
-
}
|
|
1813
|
+
url: '/api/v1/tenants/{tenant_slug}/tools',
|
|
1814
|
+
...options
|
|
1725
1815
|
});
|
|
1726
1816
|
|
|
1727
1817
|
/**
|
|
1728
|
-
*
|
|
1729
|
-
*
|
|
1730
|
-
* Given a connected app slug and a Puid short URL token, resolves the token to
|
|
1731
|
-
* the pre-stored route path and MDM subject ID. The Cloudflare app calls this
|
|
1732
|
-
* endpoint when a customer clicks a short URL, forwarding the original client
|
|
1733
|
-
* headers (user-agent, IP, country) in the request body.
|
|
1734
|
-
*
|
|
1735
|
-
* When the page token is linked to a message (via workflow action execution),
|
|
1736
|
-
* the regulated message details (raw body, channel, status) are included in
|
|
1737
|
-
* the response.
|
|
1738
|
-
*
|
|
1739
|
-
* **Requires X-API-Key authentication.**
|
|
1818
|
+
* Create a tool
|
|
1740
1819
|
*
|
|
1820
|
+
* Creates a new tool for the authenticated tenant.
|
|
1741
1821
|
*/
|
|
1742
|
-
export const
|
|
1822
|
+
export const platformApiToolControllerCreate = <ThrowOnError extends boolean = false>(options: Options<PlatformApiToolControllerCreateData, ThrowOnError>) => (options.client ?? client).post<PlatformApiToolControllerCreateResponses, PlatformApiToolControllerCreateErrors, ThrowOnError>({
|
|
1743
1823
|
requestValidator: async (data: unknown) => await v.parseAsync(v.object({
|
|
1744
|
-
body:
|
|
1745
|
-
path:
|
|
1824
|
+
body: v.optional(vPlatformApiToolControllerCreateBody),
|
|
1825
|
+
path: vPlatformApiToolControllerCreatePath,
|
|
1746
1826
|
query: v.optional(v.never())
|
|
1747
1827
|
}), data),
|
|
1748
|
-
responseValidator: async (data: unknown) => await v.parseAsync(
|
|
1828
|
+
responseValidator: async (data: unknown) => await v.parseAsync(vPlatformApiToolControllerCreateResponse, data),
|
|
1749
1829
|
security: [{ name: 'X-API-Key', type: 'apiKey' }],
|
|
1750
|
-
url: '/api/v1/tenants/{tenant_slug}/
|
|
1830
|
+
url: '/api/v1/tenants/{tenant_slug}/tools',
|
|
1751
1831
|
...options,
|
|
1752
1832
|
headers: {
|
|
1753
1833
|
'Content-Type': 'application/json',
|