@soat/sdk 0.13.8 → 0.13.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -909,7 +909,7 @@ var ApiKeys = class {
909
909
  /**
910
910
  * List API keys
911
911
  *
912
- * Lists API keys accessible to the caller. - JWT admin: returns all API keys. - JWT regular user: returns only the user's own API keys. - API key scoped to a project: returns only API keys scoped to that project.
912
+ * Lists API keys accessible to the caller. - JWT admin: returns all API keys. - JWT regular user: returns only the user's own API keys. - API key: returns only API keys scoped to the key's project.
913
913
  *
914
914
  */
915
915
  static listApiKeys(options) {
@@ -925,7 +925,7 @@ var ApiKeys = class {
925
925
  /**
926
926
  * Create an API key
927
927
  *
928
- * Creates a new API key for the authenticated user. - If `project_id` is provided, the key is scoped to that project. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - If neither is provided, the key inherits the user's full permissions.
928
+ * Creates a new API key for the authenticated user. - `project_id` is required: every key is scoped to exactly one project. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - Otherwise the key inherits the user's permissions, confined to the key's project.
929
929
  *
930
930
  */
931
931
  static createApiKey(options) {
@@ -963,7 +963,7 @@ var ApiKeys = class {
963
963
  /**
964
964
  * Update an API key
965
965
  *
966
- * Updates an API key's name, project scope, or policies. Only the owner or an admin can update it.
966
+ * Updates an API key's name, project scope, or policies. The project scope can be changed to another project but never cleared. Only the owner or an admin can update it.
967
967
  */
968
968
  static updateApiKey(options) {
969
969
  return (options.client ?? client).put({
package/dist/index.d.cts CHANGED
@@ -991,9 +991,9 @@ type ApiKeyRecord = {
991
991
  */
992
992
  user_id?: string;
993
993
  /**
994
- * Optional project scope
994
+ * The project this key is scoped to
995
995
  */
996
- project_id?: string | null;
996
+ project_id?: string;
997
997
  /**
998
998
  * Public IDs of policies attached to this key
999
999
  */
@@ -1356,7 +1356,7 @@ type UploadFileBase64Request = {
1356
1356
  /**
1357
1357
  * Public ID of the project
1358
1358
  */
1359
- project_id: string;
1359
+ project_id?: string;
1360
1360
  /**
1361
1361
  * Base64-encoded file content
1362
1362
  */
@@ -1412,9 +1412,9 @@ type PresignedUrlResponse = {
1412
1412
  };
1413
1413
  type UploadFileWithTokenRequest = {
1414
1414
  /**
1415
- * Base64-encoded file content
1415
+ * Base64-encoded file content (alternative to multipart `file`)
1416
1416
  */
1417
- content: string;
1417
+ content?: string;
1418
1418
  /**
1419
1419
  * Original / download name (overrides the token's filename)
1420
1420
  */
@@ -1517,6 +1517,11 @@ type ParameterDeclaration = {
1517
1517
  *
1518
1518
  */
1519
1519
  no_echo?: boolean | null;
1520
+ /**
1521
+ * When true, omitting this parameter on update reuses its previously stored value instead of failing the required-parameter check — analogous to CloudFormation's UsePreviousValue, declared in the template. An explicitly supplied value still overrides. Has no effect on create (there is no previous value yet). The value is reused only where the underlying resource retains it (e.g. a secret's encrypted value); otherwise the last-applied value is used.
1522
+ *
1523
+ */
1524
+ use_previous_value?: boolean | null;
1520
1525
  };
1521
1526
  /**
1522
1527
  * Creates an AI agent backed by a provider. The agent handles requests, runs tools, and can be attached to actors.
@@ -2073,7 +2078,7 @@ type SecretResourceProperties = {
2073
2078
  /**
2074
2079
  * The secret value to encrypt and store
2075
2080
  */
2076
- value?: string | null;
2081
+ value: string;
2077
2082
  };
2078
2083
  /**
2079
2084
  * Creates a session attached to an agent within the formation's project.
@@ -2759,8 +2764,8 @@ type StartRunRequest = {
2759
2764
  };
2760
2765
  };
2761
2766
  type ValidateOrchestrationRequest = {
2762
- nodes: Array<OrchestrationNode>;
2763
- edges: Array<OrchestrationEdge>;
2767
+ nodes?: Array<OrchestrationNode>;
2768
+ edges?: Array<OrchestrationEdge>;
2764
2769
  /**
2765
2770
  * Optional JSON Schema for run inputs; its top-level properties seed state.
2766
2771
  */
@@ -2772,6 +2777,13 @@ type PolicyStatement = {
2772
2777
  effect: 'Allow' | 'Deny';
2773
2778
  action: Array<string>;
2774
2779
  resource?: Array<string>;
2780
+ /**
2781
+ * Optional condition block. Keys are condition operators (e.g. StringEquals) mapping to context-key/value maps; evaluated by the policy compiler. Free-form — keys are dynamic, not validated.
2782
+ *
2783
+ */
2784
+ condition?: {
2785
+ [key: string]: unknown;
2786
+ };
2775
2787
  };
2776
2788
  type PolicyDocument = {
2777
2789
  statement: Array<PolicyStatement>;
@@ -3457,6 +3469,10 @@ type CreateActorData = {
3457
3469
  * Optional external identifier (e.g. WhatsApp phone number). If provided and an actor with this externalId already exists in the project, the existing actor is returned (idempotent — 200 OK).
3458
3470
  */
3459
3471
  external_id?: string;
3472
+ /**
3473
+ * Persona-specific instructions composed into the effective system prompt during conversation generation.
3474
+ */
3475
+ instructions?: string | null;
3460
3476
  /**
3461
3477
  * Agent to link this actor to. Mutually exclusive with chat_id.
3462
3478
  */
@@ -3573,10 +3589,22 @@ type GetActorResponse = GetActorResponses[keyof GetActorResponses];
3573
3589
  type UpdateActorData = {
3574
3590
  body: {
3575
3591
  name?: string;
3592
+ /**
3593
+ * External identifier (e.g. WhatsApp phone number)
3594
+ */
3595
+ external_id?: string;
3576
3596
  /**
3577
3597
  * Persona-specific instructions
3578
3598
  */
3579
3599
  instructions?: string;
3600
+ /**
3601
+ * Agent to link this actor to. Mutually exclusive with chat_id.
3602
+ */
3603
+ agent_id?: string | null;
3604
+ /**
3605
+ * Chat to link this actor to. Mutually exclusive with agent_id.
3606
+ */
3607
+ chat_id?: string | null;
3580
3608
  /**
3581
3609
  * Memory ID to link to this actor. Set to null to unlink.
3582
3610
  */
@@ -4174,6 +4202,10 @@ type GetAiProviderResponse = GetAiProviderResponses[keyof GetAiProviderResponses
4174
4202
  type UpdateAiProviderData = {
4175
4203
  body: {
4176
4204
  name?: string;
4205
+ /**
4206
+ * LLM provider
4207
+ */
4208
+ provider?: 'openai' | 'anthropic' | 'google' | 'cohere' | 'mistral';
4177
4209
  default_model?: string;
4178
4210
  secret_id?: string;
4179
4211
  base_url?: string;
@@ -4240,9 +4272,9 @@ type CreateApiKeyData = {
4240
4272
  */
4241
4273
  name: string;
4242
4274
  /**
4243
- * Optional project ID to scope this key to a specific project
4275
+ * Project ID this key is scoped to. Required keys cannot span projects.
4244
4276
  */
4245
- project_id?: string;
4277
+ project_id: string;
4246
4278
  /**
4247
4279
  * Optional list of policy IDs to attach. Key permissions become the intersection of user policies and these policies.
4248
4280
  */
@@ -4338,9 +4370,9 @@ type UpdateApiKeyData = {
4338
4370
  body: {
4339
4371
  name?: string;
4340
4372
  /**
4341
- * Set to null to remove project scope
4373
+ * Re-scope the key to a different project. Cannot be null keys are always project-scoped.
4342
4374
  */
4343
- project_id?: string | null;
4375
+ project_id?: string;
4344
4376
  /**
4345
4377
  * Replace the key's policy list (empty array removes all)
4346
4378
  */
@@ -4714,7 +4746,11 @@ type UpdateConversationData = {
4714
4746
  /**
4715
4747
  * New conversation status
4716
4748
  */
4717
- status: 'open' | 'closed';
4749
+ status?: 'open' | 'closed';
4750
+ /**
4751
+ * New conversation name
4752
+ */
4753
+ name?: string | null;
4718
4754
  };
4719
4755
  path: {
4720
4756
  /**
@@ -5102,6 +5138,22 @@ type CreateDocumentData = {
5102
5138
  */
5103
5139
  path?: string;
5104
5140
  filename?: string;
5141
+ /**
5142
+ * Document title
5143
+ */
5144
+ title?: string;
5145
+ /**
5146
+ * Arbitrary metadata object
5147
+ */
5148
+ metadata?: {
5149
+ [key: string]: unknown;
5150
+ };
5151
+ /**
5152
+ * Key-value tags
5153
+ */
5154
+ tags?: {
5155
+ [key: string]: string;
5156
+ };
5105
5157
  /**
5106
5158
  * How to split the content into embeddable chunks. `whole` (default) stores the content as a single chunk; `size` splits into fixed-size character windows with overlap. `page` is equivalent to `whole` for plain text.
5107
5159
  */
@@ -6102,7 +6154,7 @@ type ReplaceFileTagsResponses = {
6102
6154
  type ReplaceFileTagsResponse = ReplaceFileTagsResponses[keyof ReplaceFileTagsResponses];
6103
6155
  type ValidateFormationData = {
6104
6156
  body: {
6105
- template: FormationTemplateInput;
6157
+ template?: FormationTemplateInput;
6106
6158
  };
6107
6159
  path?: never;
6108
6160
  query?: never;
@@ -6133,7 +6185,7 @@ type PlanFormationData = {
6133
6185
  formation_id?: string;
6134
6186
  template: FormationTemplateInput;
6135
6187
  /**
6136
- * Runtime parameter values that override or supply template parameter defaults. Keys must match parameter names declared in `template.parameters`.
6188
+ * Runtime parameter values that override or supply template parameter defaults. Keys must match parameter names declared in `template.parameters`. A parameter declared with `use_previous_value: true` may be omitted to reuse its stored value.
6137
6189
  *
6138
6190
  */
6139
6191
  parameters?: {
@@ -6308,7 +6360,7 @@ type UpdateFormationData = {
6308
6360
  body?: {
6309
6361
  template?: FormationTemplateInput;
6310
6362
  /**
6311
- * Runtime parameter values that override or supply template parameter defaults. Keys must match parameter names declared in `template.parameters`. Required parameters (those without a default) must be provided here.
6363
+ * Runtime parameter values that override or supply template parameter defaults. Keys must match parameter names declared in `template.parameters`. Required parameters (those without a default) must be provided here, unless the parameter is declared with `use_previous_value: true`, in which case omitting it reuses the previously stored value.
6312
6364
  *
6313
6365
  */
6314
6366
  parameters?: {
@@ -9180,14 +9232,14 @@ declare class ApiKeys {
9180
9232
  /**
9181
9233
  * List API keys
9182
9234
  *
9183
- * Lists API keys accessible to the caller. - JWT admin: returns all API keys. - JWT regular user: returns only the user's own API keys. - API key scoped to a project: returns only API keys scoped to that project.
9235
+ * Lists API keys accessible to the caller. - JWT admin: returns all API keys. - JWT regular user: returns only the user's own API keys. - API key: returns only API keys scoped to the key's project.
9184
9236
  *
9185
9237
  */
9186
9238
  static listApiKeys<ThrowOnError extends boolean = false>(options?: Options<ListApiKeysData, ThrowOnError>): RequestResult<ListApiKeysResponses, ListApiKeysErrors, ThrowOnError>;
9187
9239
  /**
9188
9240
  * Create an API key
9189
9241
  *
9190
- * Creates a new API key for the authenticated user. - If `project_id` is provided, the key is scoped to that project. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - If neither is provided, the key inherits the user's full permissions.
9242
+ * Creates a new API key for the authenticated user. - `project_id` is required: every key is scoped to exactly one project. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - Otherwise the key inherits the user's permissions, confined to the key's project.
9191
9243
  *
9192
9244
  */
9193
9245
  static createApiKey<ThrowOnError extends boolean = false>(options: Options<CreateApiKeyData, ThrowOnError>): RequestResult<CreateApiKeyResponses, CreateApiKeyErrors, ThrowOnError>;
@@ -9206,7 +9258,7 @@ declare class ApiKeys {
9206
9258
  /**
9207
9259
  * Update an API key
9208
9260
  *
9209
- * Updates an API key's name, project scope, or policies. Only the owner or an admin can update it.
9261
+ * Updates an API key's name, project scope, or policies. The project scope can be changed to another project but never cleared. Only the owner or an admin can update it.
9210
9262
  */
9211
9263
  static updateApiKey<ThrowOnError extends boolean = false>(options: Options<UpdateApiKeyData, ThrowOnError>): RequestResult<UpdateApiKeyResponses, UpdateApiKeyErrors, ThrowOnError>;
9212
9264
  }
package/dist/index.d.mts CHANGED
@@ -991,9 +991,9 @@ type ApiKeyRecord = {
991
991
  */
992
992
  user_id?: string;
993
993
  /**
994
- * Optional project scope
994
+ * The project this key is scoped to
995
995
  */
996
- project_id?: string | null;
996
+ project_id?: string;
997
997
  /**
998
998
  * Public IDs of policies attached to this key
999
999
  */
@@ -1356,7 +1356,7 @@ type UploadFileBase64Request = {
1356
1356
  /**
1357
1357
  * Public ID of the project
1358
1358
  */
1359
- project_id: string;
1359
+ project_id?: string;
1360
1360
  /**
1361
1361
  * Base64-encoded file content
1362
1362
  */
@@ -1412,9 +1412,9 @@ type PresignedUrlResponse = {
1412
1412
  };
1413
1413
  type UploadFileWithTokenRequest = {
1414
1414
  /**
1415
- * Base64-encoded file content
1415
+ * Base64-encoded file content (alternative to multipart `file`)
1416
1416
  */
1417
- content: string;
1417
+ content?: string;
1418
1418
  /**
1419
1419
  * Original / download name (overrides the token's filename)
1420
1420
  */
@@ -1517,6 +1517,11 @@ type ParameterDeclaration = {
1517
1517
  *
1518
1518
  */
1519
1519
  no_echo?: boolean | null;
1520
+ /**
1521
+ * When true, omitting this parameter on update reuses its previously stored value instead of failing the required-parameter check — analogous to CloudFormation's UsePreviousValue, declared in the template. An explicitly supplied value still overrides. Has no effect on create (there is no previous value yet). The value is reused only where the underlying resource retains it (e.g. a secret's encrypted value); otherwise the last-applied value is used.
1522
+ *
1523
+ */
1524
+ use_previous_value?: boolean | null;
1520
1525
  };
1521
1526
  /**
1522
1527
  * Creates an AI agent backed by a provider. The agent handles requests, runs tools, and can be attached to actors.
@@ -2073,7 +2078,7 @@ type SecretResourceProperties = {
2073
2078
  /**
2074
2079
  * The secret value to encrypt and store
2075
2080
  */
2076
- value?: string | null;
2081
+ value: string;
2077
2082
  };
2078
2083
  /**
2079
2084
  * Creates a session attached to an agent within the formation's project.
@@ -2759,8 +2764,8 @@ type StartRunRequest = {
2759
2764
  };
2760
2765
  };
2761
2766
  type ValidateOrchestrationRequest = {
2762
- nodes: Array<OrchestrationNode>;
2763
- edges: Array<OrchestrationEdge>;
2767
+ nodes?: Array<OrchestrationNode>;
2768
+ edges?: Array<OrchestrationEdge>;
2764
2769
  /**
2765
2770
  * Optional JSON Schema for run inputs; its top-level properties seed state.
2766
2771
  */
@@ -2772,6 +2777,13 @@ type PolicyStatement = {
2772
2777
  effect: 'Allow' | 'Deny';
2773
2778
  action: Array<string>;
2774
2779
  resource?: Array<string>;
2780
+ /**
2781
+ * Optional condition block. Keys are condition operators (e.g. StringEquals) mapping to context-key/value maps; evaluated by the policy compiler. Free-form — keys are dynamic, not validated.
2782
+ *
2783
+ */
2784
+ condition?: {
2785
+ [key: string]: unknown;
2786
+ };
2775
2787
  };
2776
2788
  type PolicyDocument = {
2777
2789
  statement: Array<PolicyStatement>;
@@ -3457,6 +3469,10 @@ type CreateActorData = {
3457
3469
  * Optional external identifier (e.g. WhatsApp phone number). If provided and an actor with this externalId already exists in the project, the existing actor is returned (idempotent — 200 OK).
3458
3470
  */
3459
3471
  external_id?: string;
3472
+ /**
3473
+ * Persona-specific instructions composed into the effective system prompt during conversation generation.
3474
+ */
3475
+ instructions?: string | null;
3460
3476
  /**
3461
3477
  * Agent to link this actor to. Mutually exclusive with chat_id.
3462
3478
  */
@@ -3573,10 +3589,22 @@ type GetActorResponse = GetActorResponses[keyof GetActorResponses];
3573
3589
  type UpdateActorData = {
3574
3590
  body: {
3575
3591
  name?: string;
3592
+ /**
3593
+ * External identifier (e.g. WhatsApp phone number)
3594
+ */
3595
+ external_id?: string;
3576
3596
  /**
3577
3597
  * Persona-specific instructions
3578
3598
  */
3579
3599
  instructions?: string;
3600
+ /**
3601
+ * Agent to link this actor to. Mutually exclusive with chat_id.
3602
+ */
3603
+ agent_id?: string | null;
3604
+ /**
3605
+ * Chat to link this actor to. Mutually exclusive with agent_id.
3606
+ */
3607
+ chat_id?: string | null;
3580
3608
  /**
3581
3609
  * Memory ID to link to this actor. Set to null to unlink.
3582
3610
  */
@@ -4174,6 +4202,10 @@ type GetAiProviderResponse = GetAiProviderResponses[keyof GetAiProviderResponses
4174
4202
  type UpdateAiProviderData = {
4175
4203
  body: {
4176
4204
  name?: string;
4205
+ /**
4206
+ * LLM provider
4207
+ */
4208
+ provider?: 'openai' | 'anthropic' | 'google' | 'cohere' | 'mistral';
4177
4209
  default_model?: string;
4178
4210
  secret_id?: string;
4179
4211
  base_url?: string;
@@ -4240,9 +4272,9 @@ type CreateApiKeyData = {
4240
4272
  */
4241
4273
  name: string;
4242
4274
  /**
4243
- * Optional project ID to scope this key to a specific project
4275
+ * Project ID this key is scoped to. Required keys cannot span projects.
4244
4276
  */
4245
- project_id?: string;
4277
+ project_id: string;
4246
4278
  /**
4247
4279
  * Optional list of policy IDs to attach. Key permissions become the intersection of user policies and these policies.
4248
4280
  */
@@ -4338,9 +4370,9 @@ type UpdateApiKeyData = {
4338
4370
  body: {
4339
4371
  name?: string;
4340
4372
  /**
4341
- * Set to null to remove project scope
4373
+ * Re-scope the key to a different project. Cannot be null keys are always project-scoped.
4342
4374
  */
4343
- project_id?: string | null;
4375
+ project_id?: string;
4344
4376
  /**
4345
4377
  * Replace the key's policy list (empty array removes all)
4346
4378
  */
@@ -4714,7 +4746,11 @@ type UpdateConversationData = {
4714
4746
  /**
4715
4747
  * New conversation status
4716
4748
  */
4717
- status: 'open' | 'closed';
4749
+ status?: 'open' | 'closed';
4750
+ /**
4751
+ * New conversation name
4752
+ */
4753
+ name?: string | null;
4718
4754
  };
4719
4755
  path: {
4720
4756
  /**
@@ -5102,6 +5138,22 @@ type CreateDocumentData = {
5102
5138
  */
5103
5139
  path?: string;
5104
5140
  filename?: string;
5141
+ /**
5142
+ * Document title
5143
+ */
5144
+ title?: string;
5145
+ /**
5146
+ * Arbitrary metadata object
5147
+ */
5148
+ metadata?: {
5149
+ [key: string]: unknown;
5150
+ };
5151
+ /**
5152
+ * Key-value tags
5153
+ */
5154
+ tags?: {
5155
+ [key: string]: string;
5156
+ };
5105
5157
  /**
5106
5158
  * How to split the content into embeddable chunks. `whole` (default) stores the content as a single chunk; `size` splits into fixed-size character windows with overlap. `page` is equivalent to `whole` for plain text.
5107
5159
  */
@@ -6102,7 +6154,7 @@ type ReplaceFileTagsResponses = {
6102
6154
  type ReplaceFileTagsResponse = ReplaceFileTagsResponses[keyof ReplaceFileTagsResponses];
6103
6155
  type ValidateFormationData = {
6104
6156
  body: {
6105
- template: FormationTemplateInput;
6157
+ template?: FormationTemplateInput;
6106
6158
  };
6107
6159
  path?: never;
6108
6160
  query?: never;
@@ -6133,7 +6185,7 @@ type PlanFormationData = {
6133
6185
  formation_id?: string;
6134
6186
  template: FormationTemplateInput;
6135
6187
  /**
6136
- * Runtime parameter values that override or supply template parameter defaults. Keys must match parameter names declared in `template.parameters`.
6188
+ * Runtime parameter values that override or supply template parameter defaults. Keys must match parameter names declared in `template.parameters`. A parameter declared with `use_previous_value: true` may be omitted to reuse its stored value.
6137
6189
  *
6138
6190
  */
6139
6191
  parameters?: {
@@ -6308,7 +6360,7 @@ type UpdateFormationData = {
6308
6360
  body?: {
6309
6361
  template?: FormationTemplateInput;
6310
6362
  /**
6311
- * Runtime parameter values that override or supply template parameter defaults. Keys must match parameter names declared in `template.parameters`. Required parameters (those without a default) must be provided here.
6363
+ * Runtime parameter values that override or supply template parameter defaults. Keys must match parameter names declared in `template.parameters`. Required parameters (those without a default) must be provided here, unless the parameter is declared with `use_previous_value: true`, in which case omitting it reuses the previously stored value.
6312
6364
  *
6313
6365
  */
6314
6366
  parameters?: {
@@ -9180,14 +9232,14 @@ declare class ApiKeys {
9180
9232
  /**
9181
9233
  * List API keys
9182
9234
  *
9183
- * Lists API keys accessible to the caller. - JWT admin: returns all API keys. - JWT regular user: returns only the user's own API keys. - API key scoped to a project: returns only API keys scoped to that project.
9235
+ * Lists API keys accessible to the caller. - JWT admin: returns all API keys. - JWT regular user: returns only the user's own API keys. - API key: returns only API keys scoped to the key's project.
9184
9236
  *
9185
9237
  */
9186
9238
  static listApiKeys<ThrowOnError extends boolean = false>(options?: Options<ListApiKeysData, ThrowOnError>): RequestResult<ListApiKeysResponses, ListApiKeysErrors, ThrowOnError>;
9187
9239
  /**
9188
9240
  * Create an API key
9189
9241
  *
9190
- * Creates a new API key for the authenticated user. - If `project_id` is provided, the key is scoped to that project. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - If neither is provided, the key inherits the user's full permissions.
9242
+ * Creates a new API key for the authenticated user. - `project_id` is required: every key is scoped to exactly one project. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - Otherwise the key inherits the user's permissions, confined to the key's project.
9191
9243
  *
9192
9244
  */
9193
9245
  static createApiKey<ThrowOnError extends boolean = false>(options: Options<CreateApiKeyData, ThrowOnError>): RequestResult<CreateApiKeyResponses, CreateApiKeyErrors, ThrowOnError>;
@@ -9206,7 +9258,7 @@ declare class ApiKeys {
9206
9258
  /**
9207
9259
  * Update an API key
9208
9260
  *
9209
- * Updates an API key's name, project scope, or policies. Only the owner or an admin can update it.
9261
+ * Updates an API key's name, project scope, or policies. The project scope can be changed to another project but never cleared. Only the owner or an admin can update it.
9210
9262
  */
9211
9263
  static updateApiKey<ThrowOnError extends boolean = false>(options: Options<UpdateApiKeyData, ThrowOnError>): RequestResult<UpdateApiKeyResponses, UpdateApiKeyErrors, ThrowOnError>;
9212
9264
  }
package/dist/index.mjs CHANGED
@@ -908,7 +908,7 @@ var ApiKeys = class {
908
908
  /**
909
909
  * List API keys
910
910
  *
911
- * Lists API keys accessible to the caller. - JWT admin: returns all API keys. - JWT regular user: returns only the user's own API keys. - API key scoped to a project: returns only API keys scoped to that project.
911
+ * Lists API keys accessible to the caller. - JWT admin: returns all API keys. - JWT regular user: returns only the user's own API keys. - API key: returns only API keys scoped to the key's project.
912
912
  *
913
913
  */
914
914
  static listApiKeys(options) {
@@ -924,7 +924,7 @@ var ApiKeys = class {
924
924
  /**
925
925
  * Create an API key
926
926
  *
927
- * Creates a new API key for the authenticated user. - If `project_id` is provided, the key is scoped to that project. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - If neither is provided, the key inherits the user's full permissions.
927
+ * Creates a new API key for the authenticated user. - `project_id` is required: every key is scoped to exactly one project. - If `policy_ids` is provided, the key's effective permissions are the intersection of the user's policies and the key's policies. - Otherwise the key inherits the user's permissions, confined to the key's project.
928
928
  *
929
929
  */
930
930
  static createApiKey(options) {
@@ -962,7 +962,7 @@ var ApiKeys = class {
962
962
  /**
963
963
  * Update an API key
964
964
  *
965
- * Updates an API key's name, project scope, or policies. Only the owner or an admin can update it.
965
+ * Updates an API key's name, project scope, or policies. The project scope can be changed to another project but never cleared. Only the owner or an admin can update it.
966
966
  */
967
967
  static updateApiKey(options) {
968
968
  return (options.client ?? client).put({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soat/sdk",
3
- "version": "0.13.8",
3
+ "version": "0.13.9",
4
4
  "description": "TypeScript SDK for the SOAT API",
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",