diff --git a/.speakeasy/logs/changes/changes.html b/.speakeasy/logs/changes/changes.html
index b63c077d..584253c1 100644
--- a/.speakeasy/logs/changes/changes.html
+++ b/.speakeasy/logs/changes/changes.html
@@ -4,7 +4,7 @@
-
SDK Changelog - go
+ SDK Changelog - python
-Go SDK Changes:
+Python SDK Changes:
-Outpost.Events.List(): request.Request Changed (Breaking ⚠️)
+outpost.events.list(): request Changed (Breaking ⚠️)
-Id Added
-TenantId Changed (Breaking ⚠️)
-Time[gt] Added
-Time[lt] Added
-Topic Changed (Breaking ⚠️)
+id Added
+tenant_id Changed (Breaking ⚠️)
+time[gt] Added
+time[lt] Added
-Outpost.Attempts.List(): request.Request Changed (Breaking ⚠️)
+outpost.attempts.list(): request Changed (Breaking ⚠️)
-DestinationId Changed (Breaking ⚠️)
-EventId Changed (Breaking ⚠️)
-Include Changed (Breaking ⚠️)
-TenantId Changed (Breaking ⚠️)
-Time[gt] Added
-Time[lt] Added
-Topic Changed (Breaking ⚠️)
+destination_id Changed (Breaking ⚠️)
+event_id Changed (Breaking ⚠️)
+tenant_id Changed (Breaking ⚠️)
+time[gt] Added
+time[lt] Added
-Outpost.Attempts.Get(): request.Include Changed (Breaking ⚠️)
-Outpost.Destinations.List(): request Changed (Breaking ⚠️)
+outpost.destinations.list_attempts(): request Changed (Breaking ⚠️)
-Topics Changed (Breaking ⚠️)
-Type Changed (Breaking ⚠️)
+event_id Changed (Breaking ⚠️)
+time[gt] Added
+time[lt] Added
-Outpost.Destinations.ListAttempts(): request.Request Changed (Breaking ⚠️)
-
-
-EventId Changed (Breaking ⚠️)
-Include Changed (Breaking ⚠️)
-Time[gt] Added
-Time[lt] Added
-Topic Changed (Breaking ⚠️)
-
-Outpost.Destinations.GetAttempt(): request.Include Changed (Breaking ⚠️)
-Outpost.Tenants.List(): Added
-Outpost.Tenants.ListTenants(): Removed (Breaking ⚠️)
+outpost.tenants.list(): Added
+outpost.tenants.list_tenants(): Removed (Breaking ⚠️)
\ No newline at end of file
diff --git a/.speakeasy/logs/changes/changes.md b/.speakeasy/logs/changes/changes.md
index 6f7d3e9f..e91221f7 100644
--- a/.speakeasy/logs/changes/changes.md
+++ b/.speakeasy/logs/changes/changes.md
@@ -1,28 +1,18 @@
-## Go SDK Changes:
-* `Outpost.Events.List()`: `request.Request` **Changed** (Breaking ⚠️)
- - `Id` **Added**
- - `TenantId` **Changed** (Breaking ⚠️)
- - `Time[gt]` **Added**
- - `Time[lt]` **Added**
- - `Topic` **Changed** (Breaking ⚠️)
-* `Outpost.Attempts.List()`: `request.Request` **Changed** (Breaking ⚠️)
- - `DestinationId` **Changed** (Breaking ⚠️)
- - `EventId` **Changed** (Breaking ⚠️)
- - `Include` **Changed** (Breaking ⚠️)
- - `TenantId` **Changed** (Breaking ⚠️)
- - `Time[gt]` **Added**
- - `Time[lt]` **Added**
- - `Topic` **Changed** (Breaking ⚠️)
-* `Outpost.Attempts.Get()`: `request.Include` **Changed** (Breaking ⚠️)
-* `Outpost.Destinations.List()`: `request` **Changed** (Breaking ⚠️)
- - `Topics` **Changed** (Breaking ⚠️)
- - `Type` **Changed** (Breaking ⚠️)
-* `Outpost.Destinations.ListAttempts()`: `request.Request` **Changed** (Breaking ⚠️)
- - `EventId` **Changed** (Breaking ⚠️)
- - `Include` **Changed** (Breaking ⚠️)
- - `Time[gt]` **Added**
- - `Time[lt]` **Added**
- - `Topic` **Changed** (Breaking ⚠️)
-* `Outpost.Destinations.GetAttempt()`: `request.Include` **Changed** (Breaking ⚠️)
-* `Outpost.Tenants.List()`: **Added**
-* `Outpost.Tenants.ListTenants()`: **Removed** (Breaking ⚠️)
+## Python SDK Changes:
+* `outpost.events.list()`: `request` **Changed** (Breaking ⚠️)
+ - `id` **Added**
+ - `tenant_id` **Changed** (Breaking ⚠️)
+ - `time[gt]` **Added**
+ - `time[lt]` **Added**
+* `outpost.attempts.list()`: `request` **Changed** (Breaking ⚠️)
+ - `destination_id` **Changed** (Breaking ⚠️)
+ - `event_id` **Changed** (Breaking ⚠️)
+ - `tenant_id` **Changed** (Breaking ⚠️)
+ - `time[gt]` **Added**
+ - `time[lt]` **Added**
+* `outpost.destinations.list_attempts()`: `request` **Changed** (Breaking ⚠️)
+ - `event_id` **Changed** (Breaking ⚠️)
+ - `time[gt]` **Added**
+ - `time[lt]` **Added**
+* `outpost.tenants.list()`: **Added**
+* `outpost.tenants.list_tenants()`: **Removed** (Breaking ⚠️)
diff --git a/.speakeasy/logs/changes/new.openapi.yaml b/.speakeasy/logs/changes/new.openapi.yaml
index 494d08c0..df1f9f5c 100644
--- a/.speakeasy/logs/changes/new.openapi.yaml
+++ b/.speakeasy/logs/changes/new.openapi.yaml
@@ -204,11 +204,13 @@ components:
nullable: true
description: Cursor for the next page of results. Null if no more results.
example: "MTcwNDA2NzIwMA=="
+ x-speakeasy-name-override: "next_cursor"
prev:
type: string
nullable: true
description: Cursor for the previous page of results. Null if on first page.
example: null
+ x-speakeasy-name-override: "prev_cursor"
APIErrorResponse:
type: object
description: Standard error response format.
@@ -2209,9 +2211,11 @@ paths:
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`).
- name: limit
in: query
@@ -2230,18 +2234,21 @@ paths:
enum: [asc, desc]
default: desc
description: Sort direction.
+ x-speakeasy-name-override: "direction"
- name: next
in: query
required: false
schema:
type: string
description: Cursor for the next page of results. Mutually exclusive with `prev`.
+ x-speakeasy-name-override: "next_cursor"
- name: prev
in: query
required: false
schema:
type: string
description: Cursor for the previous page of results. Mutually exclusive with `next`.
+ x-speakeasy-name-override: "prev_cursor"
responses:
"200":
description: List of tenants.
@@ -2396,17 +2403,21 @@ paths:
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`).
- name: tenant_id
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: |
Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
@@ -2415,9 +2426,11 @@ paths:
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).
- name: time[gte]
in: query
@@ -2462,12 +2475,14 @@ paths:
schema:
type: string
description: Cursor for next page of results.
+ x-speakeasy-name-override: "next_cursor"
- name: prev
in: query
required: false
schema:
type: string
description: Cursor for previous page of results.
+ x-speakeasy-name-override: "prev_cursor"
- name: order_by
in: query
required: false
@@ -2484,6 +2499,7 @@ paths:
enum: [asc, desc]
default: desc
description: Sort direction.
+ x-speakeasy-name-override: "direction"
responses:
"200":
description: A paginated list of events.
@@ -2587,9 +2603,11 @@ paths:
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: |
Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
@@ -2598,17 +2616,21 @@ paths:
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`).
- name: destination_id
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`).
- name: status
in: query
@@ -2621,9 +2643,11 @@ paths:
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).
- name: time[gte]
in: query
@@ -2668,19 +2692,23 @@ paths:
schema:
type: string
description: Cursor for next page of results.
+ x-speakeasy-name-override: "next_cursor"
- name: prev
in: query
required: false
schema:
type: string
description: Cursor for previous page of results.
+ x-speakeasy-name-override: "prev_cursor"
- name: include
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: |
Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
@@ -2702,6 +2730,7 @@ paths:
enum: [asc, desc]
default: desc
description: Sort direction.
+ x-speakeasy-name-override: "direction"
responses:
"200":
description: A paginated list of attempts.
@@ -2797,9 +2826,11 @@ paths:
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: |
Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
@@ -2948,17 +2979,21 @@ paths:
in: query
required: false
schema:
- type: array
- items:
- $ref: "#/components/schemas/DestinationType"
+ oneOf:
+ - $ref: "#/components/schemas/DestinationType"
+ - type: array
+ items:
+ $ref: "#/components/schemas/DestinationType"
description: Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`).
- name: topics
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`).
responses:
"200":
@@ -3292,9 +3327,11 @@ paths:
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`).
- name: status
in: query
@@ -3307,9 +3344,11 @@ paths:
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).
- name: time[gte]
in: query
@@ -3354,19 +3393,23 @@ paths:
schema:
type: string
description: Cursor for next page of results.
+ x-speakeasy-name-override: "next_cursor"
- name: prev
in: query
required: false
schema:
type: string
description: Cursor for previous page of results.
+ x-speakeasy-name-override: "prev_cursor"
- name: include
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: |
Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
@@ -3388,6 +3431,7 @@ paths:
enum: [asc, desc]
default: desc
description: Sort direction.
+ x-speakeasy-name-override: "direction"
responses:
"200":
description: A paginated list of attempts for the destination.
@@ -3468,9 +3512,11 @@ paths:
in: query
required: false
schema:
- type: array
- items:
- type: string
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ type: string
description: |
Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary
diff --git a/.speakeasy/logs/changes/old.openapi.yaml b/.speakeasy/logs/changes/old.openapi.yaml
index 7f29c3eb..f1a9fa00 100644
--- a/.speakeasy/logs/changes/old.openapi.yaml
+++ b/.speakeasy/logs/changes/old.openapi.yaml
@@ -204,11 +204,13 @@ components:
nullable: true
description: Cursor for the next page of results. Null if no more results.
example: "MTcwNDA2NzIwMA=="
+ x-speakeasy-name-override: "next_cursor"
prev:
type: string
nullable: true
description: Cursor for the previous page of results. Null if on first page.
example: null
+ x-speakeasy-name-override: "prev_cursor"
APIErrorResponse:
type: object
description: Standard error response format.
@@ -2191,6 +2193,7 @@ paths:
schema:
type: string
description: Cursor for the next page of results. Mutually exclusive with `prev`.
+ x-speakeasy-name-override: "direction"
- name: prev
in: query
required: false
@@ -2240,6 +2243,18 @@ paths:
example: "list tenant not supported"
security:
- BearerAuth: []
+ x-speakeasy-pagination:
+ type: cursor
+ inputs:
+ - name: next
+ in: parameters
+ type: cursor
+ - name: limit
+ in: parameters
+ type: limit
+ outputs:
+ nextCursor: $.pagination.next
+ results: $.models
/tenants/{tenant_id}:
parameters:
- name: tenant_id
@@ -2378,12 +2393,14 @@ paths:
schema:
type: string
description: Cursor for next page of results.
+ x-speakeasy-name-override: "next_cursor"
- name: prev
in: query
required: false
schema:
type: string
description: Cursor for previous page of results.
+ x-speakeasy-name-override: "prev_cursor"
- name: order_by
in: query
required: false
@@ -2400,6 +2417,7 @@ paths:
enum: [asc, desc]
default: desc
description: Sort direction.
+ x-speakeasy-name-override: "direction"
responses:
"200":
description: A paginated list of events.
@@ -2436,6 +2454,18 @@ paths:
x-speakeasy-name-override: list
security:
- BearerAuth: []
+ x-speakeasy-pagination:
+ type: cursor
+ inputs:
+ - name: next
+ in: parameters
+ type: cursor
+ - name: limit
+ in: parameters
+ type: limit
+ outputs:
+ nextCursor: $.pagination.next
+ results: $.models
/events/{event_id}:
parameters:
- name: event_id
@@ -2551,12 +2581,14 @@ paths:
schema:
type: string
description: Cursor for next page of results.
+ x-speakeasy-name-override: "next_cursor"
- name: prev
in: query
required: false
schema:
type: string
description: Cursor for previous page of results.
+ x-speakeasy-name-override: "prev_cursor"
- name: include
in: query
required: false
@@ -2587,6 +2619,7 @@ paths:
enum: [asc, desc]
default: desc
description: Sort direction.
+ x-speakeasy-name-override: "direction"
responses:
"200":
description: A paginated list of attempts.
@@ -2648,6 +2681,18 @@ paths:
x-speakeasy-name-override: list
security:
- BearerAuth: []
+ x-speakeasy-pagination:
+ type: cursor
+ inputs:
+ - name: next
+ in: parameters
+ type: cursor
+ - name: limit
+ in: parameters
+ type: limit
+ outputs:
+ nextCursor: $.pagination.next
+ results: $.models
/attempts/{attempt_id}:
parameters:
- name: attempt_id
@@ -3219,12 +3264,14 @@ paths:
schema:
type: string
description: Cursor for next page of results.
+ x-speakeasy-name-override: "next_cursor"
- name: prev
in: query
required: false
schema:
type: string
description: Cursor for previous page of results.
+ x-speakeasy-name-override: "prev_cursor"
- name: include
in: query
required: false
@@ -3255,6 +3302,7 @@ paths:
enum: [asc, desc]
default: desc
description: Sort direction.
+ x-speakeasy-name-override: "direction"
responses:
"200":
description: A paginated list of attempts for the destination.
@@ -3293,6 +3341,18 @@ paths:
"500":
$ref: "#/components/responses/InternalServerError"
x-speakeasy-name-override: listAttempts
+ x-speakeasy-pagination:
+ type: cursor
+ inputs:
+ - name: next
+ in: parameters
+ type: cursor
+ - name: limit
+ in: parameters
+ type: limit
+ outputs:
+ nextCursor: $.pagination.next
+ results: $.models
/tenants/{tenant_id}/destinations/{destination_id}/attempts/{attempt_id}:
parameters:
- name: tenant_id
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index 885269f0..577a6a14 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -16,8 +16,8 @@ sources:
- 0.0.1
Outpost API (Python):
sourceNamespace: outpost-api
- sourceRevisionDigest: sha256:d1d97af77bb9ab9b38089defb5744be7cc8910f1b03dc17317c01720dc0c7807
- sourceBlobDigest: sha256:5b210a3b76521c36f5de1c89ac603a21104d4fb86b3a991768f25a44e82befc6
+ sourceRevisionDigest: sha256:ae2005ea6bf52e19608bfd688182b8d821c4a265804e1d0e12639e94e6266b18
+ sourceBlobDigest: sha256:f8f5a2e89ea8cabb42b5cb2510198bd9c755b44c77c4a4ca2c8dc570abfd5690
tags:
- latest
- 0.0.1
@@ -32,10 +32,10 @@ targets:
outpost-python:
source: Outpost API (Python)
sourceNamespace: outpost-api
- sourceRevisionDigest: sha256:d1d97af77bb9ab9b38089defb5744be7cc8910f1b03dc17317c01720dc0c7807
- sourceBlobDigest: sha256:5b210a3b76521c36f5de1c89ac603a21104d4fb86b3a991768f25a44e82befc6
+ sourceRevisionDigest: sha256:ae2005ea6bf52e19608bfd688182b8d821c4a265804e1d0e12639e94e6266b18
+ sourceBlobDigest: sha256:f8f5a2e89ea8cabb42b5cb2510198bd9c755b44c77c4a4ca2c8dc570abfd5690
codeSamplesNamespace: outpost-api-python-code-samples
- codeSamplesRevisionDigest: sha256:43113303ed5f118c8a76d9d2a794a167cd8d84c14f676164b4e053e0f829ee26
+ codeSamplesRevisionDigest: sha256:4cf30359d97c81a205f5d859a43184c99c41e1fd6b52c67fa50692e64489d2a2
outpost-ts:
source: Outpost API
sourceNamespace: outpost-api
diff --git a/sdks/outpost-python/.speakeasy/gen.lock b/sdks/outpost-python/.speakeasy/gen.lock
index a0555117..502c74e8 100644
--- a/sdks/outpost-python/.speakeasy/gen.lock
+++ b/sdks/outpost-python/.speakeasy/gen.lock
@@ -1,36 +1,34 @@
lockVersion: 2.0.0
id: da774284-22d9-4b6c-bb26-1c3fc9f2c7ee
management:
- docChecksum: fc3581a855e89ec9db5a0d095ac9d13a
+ docChecksum: 9b1adf53575bed63e98d258f2c1fb8fc
docVersion: 0.0.1
- speakeasyVersion: 1.741.7
- generationVersion: 2.849.10
- releaseVersion: 0.7.0
- configChecksum: 48df1e742f8ba17e710cfcc8e870617d
+ speakeasyVersion: 1.753.0
+ generationVersion: 2.862.0
+ releaseVersion: 0.8.0
+ configChecksum: 0b2fad570669f491140b7db263919f1e
repoURL: https://github.com/hookdeck/outpost.git
repoSubDirectory: sdks/outpost-python
installationURL: https://github.com/hookdeck/outpost.git#subdirectory=sdks/outpost-python
published: true
persistentEdits:
- generation_id: 868cef49-9dd7-4d94-8e79-28a25e1d7262
- pristine_commit_hash: 74ee894ce53593d0b290292f1700365d9c0bd4fb
- pristine_tree_hash: 079d5befe3d48a4e72d3a8a22a4539c30d05e9ee
+ generation_id: e8cb74b4-7fed-4fa9-a7d2-3767408a53aa
+ pristine_commit_hash: bc26908564846032206f11c2d11af3b47500a12b
+ pristine_tree_hash: 8a48720fd7e0bdf541bbb8e8fb2f2f0881f11b2a
features:
python:
additionalDependencies: 1.0.0
additionalProperties: 1.0.1
constsAndDefaults: 1.0.7
- core: 6.0.16
+ core: 6.0.18
defaultEnabledRetries: 0.2.0
- enumUnions: 0.1.0
+ enumUnions: 0.1.1
envVarSecurityUsage: 0.3.2
- flatRequests: 1.0.1
flattening: 3.1.1
globalSecurity: 3.0.5
globalSecurityCallbacks: 1.0.0
globalSecurityFlattening: 1.0.0
globalServerURLs: 3.2.1
- methodArguments: 1.0.2
nameOverrides: 3.0.3
nullables: 1.0.2
pagination: 3.0.7
@@ -129,8 +127,8 @@ trackedFiles:
pristine_git_object: 02f6cf43352e6c2e4c624c6fb5fd21f49d897e6f
docs/models/createtenantdestinationrequest.md:
id: "943059858332"
- last_write_checksum: sha1:efe92e04cabc512c1d155493caeeafa5d2b3a02e
- pristine_git_object: 61ac6d5010e2ebd2f76667048839772b6e66c96c
+ last_write_checksum: sha1:1c6db08a4f5ae29f94ff43383af77a2011aee38d
+ pristine_git_object: 4d58782ccd2df74c989a33faf02e10059fb67bf1
docs/models/deletetenantdestinationrequest.md:
id: ff17485df01b
last_write_checksum: sha1:ccda05463b6c3ed74c13cfe967967328a18da9ab
@@ -259,6 +257,10 @@ trackedFiles:
id: 1c418f6e0237
last_write_checksum: sha1:5af9bf985d5c4985761e34a320170236d525328b
pristine_git_object: babbc45d009197cb9fd737fd2d7c40c1d54d699f
+ docs/models/destinationid.md:
+ id: bc96d6ad0c9a
+ last_write_checksum: sha1:acd296d435eb09c3e57042867c2a5b79ce302808
+ pristine_git_object: 791cb34a0c3e9c9a283210a1afd4d6dda1d890af
docs/models/destinationrabbitmq.md:
id: 0e006fb4f238
last_write_checksum: sha1:3beb093000acb153b73f1c3ab17b3d9a5214c85e
@@ -369,12 +371,12 @@ trackedFiles:
pristine_git_object: c785edab1894fa93f3b5011161f15dd0caab3196
docs/models/getattemptinclude.md:
id: 5e7bbec19c6a
- last_write_checksum: sha1:bf04a37746fbb291bd3819d320f5598b9e797f02
- pristine_git_object: 131a3616d3562040b45aafcd7ae52271098a5c1c
+ last_write_checksum: sha1:49bed9c878da42b5ae10da573cd025e91395ce92
+ pristine_git_object: 0f6692238cc054447734ef88f3976ec789cedd5e
docs/models/getattemptrequest.md:
id: fd7906421f5d
- last_write_checksum: sha1:7793b25f461be85b09140931b09bd2289b81eb28
- pristine_git_object: ee68506d2c456d2368b243f9934291448d3a8ed1
+ last_write_checksum: sha1:7a06ed40dfaff1b0fbd7d2f755540a0237140420
+ pristine_git_object: f37fc70798871376942043e77b996f21fef0faf2
docs/models/getdestinationtypeschemarequest.md:
id: 7964f308b544
last_write_checksum: sha1:1cf8c0bf9c095ca337822676dacdfb6e43791c6a
@@ -389,12 +391,12 @@ trackedFiles:
pristine_git_object: 6b518b40c64c40fc10fdc5146f76c63fcb26b88d
docs/models/gettenantdestinationattemptinclude.md:
id: b56354c2a7d4
- last_write_checksum: sha1:3f6ebdc43ca0cb4ce40899be5add3e003f87bdf3
- pristine_git_object: e1890fa538b4deec3f981ae8d3813ad92b0ea2ae
+ last_write_checksum: sha1:c57bc0cf317de9272e2631df40990c30ca3fbea8
+ pristine_git_object: 4c0d34b44f2ddd0cdba87229497ccde27da7d748
docs/models/gettenantdestinationattemptrequest.md:
id: 522abfb549c9
- last_write_checksum: sha1:e2e604f36391f86d156a128ebef4a3c5c59226e5
- pristine_git_object: 1785f2adeb767f00d3e77d803803d038278bcf4b
+ last_write_checksum: sha1:186914b4494b59cb2d8a259f8a48c3ec6da6fbdb
+ pristine_git_object: ff3ef651eefeda42fd0af0d312f469855daba33e
docs/models/gettenantdestinationrequest.md:
id: 173425f3055d
last_write_checksum: sha1:d5b085c9e99d3b2e005de2695cd218b203bb3e43
@@ -431,18 +433,22 @@ trackedFiles:
id: d73aac2abac6
last_write_checksum: sha1:03e956731b23eb1f9e5e23c2b9b2553501e939e4
pristine_git_object: ab417f9970f0c517498a6b12ce34c37d8aa09c5d
+ docs/models/listattemptseventid.md:
+ id: bd22736352fe
+ last_write_checksum: sha1:2d7b59d8f110cf46c4992026b9931893e36f4deb
+ pristine_git_object: 35df71f508817a086478307839c49f0708123628
docs/models/listattemptsinclude.md:
id: 024177981c3a
- last_write_checksum: sha1:6331a81065c781097e1b60d39449ba7e52547fd8
- pristine_git_object: 0596cb1f67b81f6d9a8b71364284cb9d177f816a
+ last_write_checksum: sha1:530b9158af4a7e71b6e278f5a9349a0b3627f3b7
+ pristine_git_object: b2ca934ef64852cb9c846110f8284423ff9bde1e
docs/models/listattemptsorderby.md:
id: 1069decaba38
last_write_checksum: sha1:dfaab937573a6561259421a5dd34562ddb20db42
pristine_git_object: 04dcda31401076909fccc8841b0ee6229449f930
docs/models/listattemptsrequest.md:
id: 934b5dab0590
- last_write_checksum: sha1:6fecb57bbd23541370f78f9566c6d83c26c7ab11
- pristine_git_object: 421cffdc39f74c1e70acea09235c8a055bf24c4d
+ last_write_checksum: sha1:c2ffac0dfc6404737160916c7b6a58a50712fd49
+ pristine_git_object: e1a97afe10b1ccd7c11c681d12e9e7f9d390e995
docs/models/listattemptsresponse.md:
id: e036b31e7aec
last_write_checksum: sha1:db48676f2cf5e3273c6ddd4bee2545150d4c4097
@@ -451,46 +457,62 @@ trackedFiles:
id: 9e57a5cb10e3
last_write_checksum: sha1:9f51a7744d783e948e209f59ff79a01100edd442
pristine_git_object: 8e43da70ae987a66d66a15361b44843600b05e9e
+ docs/models/listattemptstenantid.md:
+ id: 350076cbf0a0
+ last_write_checksum: sha1:e11c22f0040bf9f57a5eac1e3ab9b617fc7d1345
+ pristine_git_object: e5bfdaa626634d05953176be6c2803ef51c5838e
docs/models/listattemptstopic.md:
id: f090dc1a171d
- last_write_checksum: sha1:8c6d3ceed426f1a4983b5c08baaa1dd31abeaa3a
- pristine_git_object: 25865989bebfb673b618d7ea37d77c11fd943b61
+ last_write_checksum: sha1:ce80eed9990a045f6bd76215714bb189da8dba3c
+ pristine_git_object: 03f3dc3cacba28b8e1c0ef3e77ae296d498b90eb
docs/models/listeventsdir.md:
id: ce6108dddd98
last_write_checksum: sha1:7cc79925fe016fb3262eaaf3264c45babb3fce4e
pristine_git_object: 2273ef953eceb77d2d068006fdeeea241fdc90af
+ docs/models/listeventsid.md:
+ id: 5659fe0921d1
+ last_write_checksum: sha1:e5ae77d8a8858d0dbb0fa152b5e4ca8cb4fcb8f2
+ pristine_git_object: 8b77946b6949481c2e7a972b6729f262be6ed2a3
docs/models/listeventsorderby.md:
id: 24d368058e64
last_write_checksum: sha1:21df02b953d1816904a9f4c9bb8ee38b1062ed10
pristine_git_object: 278e7b2391ab0568c874dcaea5d8f54ee9426f07
docs/models/listeventsrequest.md:
id: 176d9b992537
- last_write_checksum: sha1:4d3c11b5511bc7fe0a0bc9a525b6a4c9c3580075
- pristine_git_object: 4b6a5f27fc3732a1894291261d6bd12452e1ac2c
+ last_write_checksum: sha1:dba520dbe29a5b0fccec3f3784ea1cf66cf97c13
+ pristine_git_object: b422280938d3b4178caff98259fb658170be7316
docs/models/listeventsresponse.md:
id: 150f903b0ed9
last_write_checksum: sha1:eff00a900bc790aef35b8eccac27ad984fb1ae91
pristine_git_object: 5beb7c4116fdb039e2ff1b62b2787c1e3369dff1
+ docs/models/listeventstenantid.md:
+ id: 1c3d1f2c7320
+ last_write_checksum: sha1:12709dbf96beed15225a55ed8982803c23c8f610
+ pristine_git_object: 53245663ff9eb35ac7e512010f6beda4a0a70bb9
docs/models/listeventstopic.md:
id: b18f7c84a90b
- last_write_checksum: sha1:bb937f5055d5648fce91fa0407d66d253b6321ff
- pristine_git_object: f379a1ee92b4b0800010b78c321927e6cbbb1954
+ last_write_checksum: sha1:1a0e6c0cc44c487c09ba57f27b99fbaa54c84723
+ pristine_git_object: 36684aa4f6f018eed07c3608b9e12018f9c82199
docs/models/listtenantdestinationattemptsdir.md:
id: 64818637cc10
last_write_checksum: sha1:3abd008805648a6a5b66adf7e3c1a188747b0585
pristine_git_object: c5ec40d9a8a4c0625009d400c94b28252b4cb62a
+ docs/models/listtenantdestinationattemptseventid.md:
+ id: 270311f7d47c
+ last_write_checksum: sha1:273eb74738e7eb243388bb1d40ff10ffd24daa77
+ pristine_git_object: 189021e2cee9c388021f36318a4415be31dbaca1
docs/models/listtenantdestinationattemptsinclude.md:
id: 9f996f6daa33
- last_write_checksum: sha1:dfac52b94cbd91b889bb9b07e54da6d321145082
- pristine_git_object: 546330eae989c83d42a09170ccdbcdffce210ad3
+ last_write_checksum: sha1:99cd75f2ceba3bb5a4be5b1b915b02d0ee1724be
+ pristine_git_object: 15c7715838180eabf159bc3a9c3c51402f7b386e
docs/models/listtenantdestinationattemptsorderby.md:
id: a7d360311114
last_write_checksum: sha1:6c33d99acae78266f7c8c5a3e4342c0bc7b8b953
pristine_git_object: 0ea9f5ebd8633f45a62046b90fcbe73c628e7601
docs/models/listtenantdestinationattemptsrequest.md:
id: c8a7c18306b0
- last_write_checksum: sha1:b04586e71b6b75447f03db48dbed336e8db838d0
- pristine_git_object: 8bd4f9906d71906f282701440377534819c84d41
+ last_write_checksum: sha1:be83f7884af281b826655fd2c5c47de34ead373c
+ pristine_git_object: 38bef260ce3e6b25d26de906eb670cb2851de358
docs/models/listtenantdestinationattemptsresponse.md:
id: 6bcaf756b801
last_write_checksum: sha1:9ca4b3533e4c72bcca30b4f617b5e9cbbf0252f5
@@ -501,28 +523,32 @@ trackedFiles:
pristine_git_object: 4973bd0db5193d14eab06af228839b9c547d0503
docs/models/listtenantdestinationattemptstopic.md:
id: 6b016445b69a
- last_write_checksum: sha1:dd85e00873e4f93ae1b2b7d241b50aa2573c8955
- pristine_git_object: 17d836d78f6620e1f0039b93b67e6c29da68964b
+ last_write_checksum: sha1:5b9b93599ebfc42af549dda53b805525fd903ebc
+ pristine_git_object: 10bab1e13453db565a0fd816485229f74459633c
docs/models/listtenantdestinationsrequest.md:
id: a1c960e26be7
- last_write_checksum: sha1:5559e5e8adc583b422fda0a4a1ef8931bd808579
- pristine_git_object: b8acb2a8004db31287028bb86c9dda499a0fc3ac
+ last_write_checksum: sha1:b73f2fc5e886b0945a670254cb0c64b7bdc20dbd
+ pristine_git_object: 5e52c71ade4c3c22b54ec429da2d46cdceff11d6
docs/models/listtenantdestinationstopics.md:
id: f495fffb06d5
- last_write_checksum: sha1:f52327725b100deb9d6cb9be142594c74713f8f5
- pristine_git_object: 4713f106a287e61f3e13a7d7805a86c2c9901f08
+ last_write_checksum: sha1:b190db32b47e9848d0602950a67f8adccab51936
+ pristine_git_object: db46f67e35bcd5d3e3d7a59a63f8233b3ebaf8db
docs/models/listtenantdestinationstype.md:
id: a94cc1eae534
- last_write_checksum: sha1:433f72db883050f35285a4bde018f055ea69c8e6
- pristine_git_object: fdf4bf5254f80c08544b0295f6b5303d3dbf4cc0
+ last_write_checksum: sha1:b2062cb8c26a60522116413283529400fa8d18cc
+ pristine_git_object: 87ee4fc422ded8448cb2cd6737eb81fedd3af900
docs/models/listtenantsdir.md:
id: 9a214a2e4264
last_write_checksum: sha1:7ac363f3835005c19b9a2a097e4e3ba97779ce91
pristine_git_object: 99d9cf40ce69359300b84db572b8b278bc2b7cf0
+ docs/models/listtenantsid.md:
+ id: 8f7c3ff7353e
+ last_write_checksum: sha1:00d23e15eb9777c8032c028d7c19909c3969a414
+ pristine_git_object: b96893fcdd72f321ea3010a4b0d5ee89e26d156e
docs/models/listtenantsrequest.md:
id: 39a7c6125a52
- last_write_checksum: sha1:288f233a83c2c18d13df50b0e82b6f6ed7c6c383
- pristine_git_object: 09323ccd19941c8c11c15c327c762b6f32c24056
+ last_write_checksum: sha1:2dc49214cd63dd2f6f819b4c13edd8c877df09f5
+ pristine_git_object: 14d312b6d1c8a81415b625253eefe05f3f0ad276
docs/models/listtenantsresponse.md:
id: 1f7eb86195fd
last_write_checksum: sha1:de0b042e331b60f344f8ab65b3997997f82c674e
@@ -601,16 +627,16 @@ trackedFiles:
pristine_git_object: 333ed39ceb47534ddd177aed49c2c8d5e1288a6f
docs/models/updatetenantdestinationrequest.md:
id: a573c8a2ef7f
- last_write_checksum: sha1:46e9c4c1f469ac7821196977a3dbdd948e8f8022
- pristine_git_object: a0e53b39aafe3213c20943e3a16d1f6a7614ec02
+ last_write_checksum: sha1:b65d9ce3994b31dbadc4c27216260daa9d5da238
+ pristine_git_object: bf0ca6320efd04b5762a649bb2e7e8091d6e943a
docs/models/updatetenantdestinationresponse.md:
id: 674595acc745
last_write_checksum: sha1:e727b2a45ef7fcc7090e34378f32ba2b07f1ebff
pristine_git_object: c63b5b37e3f0c27c765fa917cdfafcb28c0e4653
docs/models/upserttenantrequest.md:
id: 9d9234f1fce9
- last_write_checksum: sha1:f40d5ff2af284c959f029624a863b5131d777800
- pristine_git_object: 657ca94026a77b37fd9694652c7055808bbbbafa
+ last_write_checksum: sha1:70752eb6259b596351dab9b408037da491ac897e
+ pristine_git_object: 9c7f8930c519f2dc986230e7703071ca125e0c15
docs/models/utils/retryconfig.md:
id: 4343ac43161c
last_write_checksum: sha1:562c0f21e308ad10c27f85f75704c15592c6929d
@@ -633,32 +659,32 @@ trackedFiles:
pristine_git_object: 36572088751475931126b4d86e8ea067ac214eed
docs/sdks/attempts/README.md:
id: 41a6f5edd623
- last_write_checksum: sha1:8a0076d63b751baffb4a38fde17ddf05f51c4bc7
- pristine_git_object: 8883fe393f1c543087fc46577b09ea1b9ad2ba8a
+ last_write_checksum: sha1:19a92d358f46677f255ae8e4db0e9bb1cbfc8419
+ pristine_git_object: 91534caccd61c040381d20b4a94b40a8638e2c28
docs/sdks/destinations/README.md:
id: e83d288899aa
- last_write_checksum: sha1:db3e5d295dac8ec107164e875af5ee3d546507db
- pristine_git_object: bb7acf6f03828ecb21bb02218cae005447ffdefc
+ last_write_checksum: sha1:2ee5e618f6aefbfc66fce6d9d04be69121e95dda
+ pristine_git_object: 3c9960b0ecd93d4a5ac8ff117b6070a473473f04
docs/sdks/events/README.md:
id: cf45a4390b9b
- last_write_checksum: sha1:267a03a4e1bf62febfdd831cbeffd532bb98e14c
- pristine_git_object: d0df90e010eb010e7d78e34716a5c5b628a38c68
+ last_write_checksum: sha1:ac966b4d12318a9c4395cb21e2f9dced84da554b
+ pristine_git_object: 0e8208f72f41db29b15dc78d33db7b6f1cc7e1d3
docs/sdks/health/README.md:
id: 5082c50d5e82
last_write_checksum: sha1:edbbd8aa126aa79f9db43884174dcadb6724b3d2
pristine_git_object: 450073a93bd5a48acda412a41083b545ab9c5604
docs/sdks/publish/README.md:
id: 370ef5537c93
- last_write_checksum: sha1:d391236f4f8e02e2530ba3da9a396bf1a27bad8e
- pristine_git_object: c3a0e2d4a8f4a6b5fded5778226c6f54a84e0546
+ last_write_checksum: sha1:86d4567afe9f0224ff74d39a1f5277cdef65e531
+ pristine_git_object: def08cf2191c504899940ead1768205e9a51b7f6
docs/sdks/schemas/README.md:
id: 26a0abac640e
last_write_checksum: sha1:5008eca020ce917ee56f83f8315275af8cc2afa8
pristine_git_object: 16076d59a9be107f46064f479bf68ff33b66bf0f
docs/sdks/tenants/README.md:
id: 68a2b19779b5
- last_write_checksum: sha1:a9a2b0b76488290e3f56bcfa4eeb2b6e757c4918
- pristine_git_object: efe7bd19632d25a8658e0c7ec4cdc7e6044ccd0d
+ last_write_checksum: sha1:61276661f851d9fcc6c8d30d6dca0b2badb78a7c
+ pristine_git_object: 0199c80d0b22287a45aa987e772496fba8960f5c
docs/sdks/topicssdk/README.md:
id: ee1b98e4769d
last_write_checksum: sha1:571715e60e1263b84a6f745807df97842510028a
@@ -677,8 +703,8 @@ trackedFiles:
pristine_git_object: cb9c15d314c1930557401074329ed7a737147919
pyproject.toml:
id: 5d07e7d72637
- last_write_checksum: sha1:ba8d2420826fd38721945071b5366b941f3ca62d
- pristine_git_object: d16b457b2dfc2084a0fce50e92ec5805d9c1cfe1
+ last_write_checksum: sha1:7fe4f887776d5fc503e90e8d74cbe1c873daf2e1
+ pristine_git_object: f06cb423c017bb6d129b5b6daa704e3ea832dd9e
scripts/prepare_readme.py:
id: e0c5957a6035
last_write_checksum: sha1:eb460f85c06b287fee629d997b2df75c92fa1cab
@@ -705,20 +731,20 @@ trackedFiles:
pristine_git_object: b1777a2eacece4434c53b2e136158f0c1360707d
src/outpost_sdk/_version.py:
id: 22be68f35ad0
- last_write_checksum: sha1:b73ce065eaa193fac0126a837a5a08491eb6e076
- pristine_git_object: 9bde0b832c8d3586b6ef72ded217fa65e75b263d
+ last_write_checksum: sha1:f1712f584f4d518e555ce228b57f00beadc4acb1
+ pristine_git_object: f7d6cd50d3b8263f8c530d11c3f2da587b8a9f62
src/outpost_sdk/attempts.py:
id: 304ea4e0bbf1
- last_write_checksum: sha1:2af7b4b1e6b5b2b5907c1278798b188316d1db38
- pristine_git_object: 6ba6637731c23575f68e26d928d2eb6467ac3f39
+ last_write_checksum: sha1:f0c6e47c0a8b491757dcd598f966eca8476bed0c
+ pristine_git_object: 06c122eaa57ad24da014d0aa32f3aa0a6215e500
src/outpost_sdk/basesdk.py:
id: 06a87cb4bdaf
last_write_checksum: sha1:b009b4794d3bc426ab812ae401ae678c2ed8a6ed
pristine_git_object: 31ce35a30dfa71de49f055b40083baca20e75ced
src/outpost_sdk/destinations.py:
id: c941d7cf8960
- last_write_checksum: sha1:00de325514c38911a253288d1280b9e82f094fe4
- pristine_git_object: cac34b75c84c6c7670e9b6594de40fd87d10566e
+ last_write_checksum: sha1:e8f543def0751b5338fed1be14ce69864e66e5b8
+ pristine_git_object: d95d2dc5949314aca686b8139940445140dd7d0b
src/outpost_sdk/errors/__init__.py:
id: 8cd8140f4773
last_write_checksum: sha1:32a90fdbd5d713cbffb8ff6e4066055df2268392
@@ -773,8 +799,8 @@ trackedFiles:
pristine_git_object: 38b68bb656c457a7801b6da04e384737dd5ffdb2
src/outpost_sdk/events.py:
id: 8b2e2ec7d8c0
- last_write_checksum: sha1:149d0c61b6da622681b9ec041cea96ea1c8e53e8
- pristine_git_object: bcc4388baeb9dfb4f14a1b570a0c44725643908c
+ last_write_checksum: sha1:866e58e6eb2c3eae5c61eca2b3d7508cd85f6c28
+ pristine_git_object: 27ac65497472572553f1fa03a43f7d9044d5ac48
src/outpost_sdk/health.py:
id: 10a3c4bcf747
last_write_checksum: sha1:aee0baed7d4d328e475db9081b1ed80615d53e15
@@ -785,40 +811,40 @@ trackedFiles:
pristine_git_object: 89560b566073785535643e694c112bedbd3db13d
src/outpost_sdk/models/__init__.py:
id: 690a20e1a54c
- last_write_checksum: sha1:418fca3d3499baa34771325188da13aec15e0b33
- pristine_git_object: 89b0bb1a62a271859cde9b518d2f8418c0059dd0
+ last_write_checksum: sha1:51b8a0f6fa7a7bf031e2fba8da73e2ed09222a9b
+ pristine_git_object: 23477ccc07bb943a586e92eb72cbd13b824c3bc8
src/outpost_sdk/models/attempt.py:
id: 931b46ffc0d9
- last_write_checksum: sha1:e1d5048d6779185069f012127152432c12ec28f9
- pristine_git_object: 41e7af65dba9ae77ca8921694228dc581eea172a
+ last_write_checksum: sha1:5f43e5faf5ab50bee4a2d8a06ec90eaeb78d4797
+ pristine_git_object: c13f62510cae4c2252547081772b4a919089189c
src/outpost_sdk/models/attemptpaginatedresult.py:
id: 8a2ab0a7d088
- last_write_checksum: sha1:33a4b9a6de7e97ea728dd6a2a471f3954de54379
- pristine_git_object: be2def768fb5300bddf1a59a6df2b7391c92400c
+ last_write_checksum: sha1:6c08df5fd93aec38d39adda6e167ea0c9404f607
+ pristine_git_object: 15c8d8b9559b31f82ab61a9e71a4499858050205
src/outpost_sdk/models/awskinesisconfig.py:
id: fb8571913af4
- last_write_checksum: sha1:506c97c6ee9be4aae2808a9d53c0cc327b87b8b9
- pristine_git_object: e4d4c6e0b31939869c19b5e507f94dbb59f6371b
+ last_write_checksum: sha1:076a0abb86a71f628d7eb608089dc799eb7564db
+ pristine_git_object: 0df6bfba8da07fd7e74eec7f64a540df06ec7587
src/outpost_sdk/models/awskinesiscredentials.py:
id: 0578ec0c9b6e
- last_write_checksum: sha1:22c3a71750f0c7855dcc663af8a5bb3f76a8046a
- pristine_git_object: fd20ba04453faf4761e7b368a4538d0ffb54ac37
+ last_write_checksum: sha1:af34ea8ee3cf3333ff29b1d3837b0973d69bb351
+ pristine_git_object: eff5f62cf42b1ec6510a0fabee3b26fcee9a4351
src/outpost_sdk/models/awss3config.py:
id: a2ed2a804efb
- last_write_checksum: sha1:3622841fa850bd943fea719faecd40857265f463
- pristine_git_object: 22d37583c095e4b384a59bd199e356efd85ea3dc
+ last_write_checksum: sha1:bdaff59f2600b6fdbdae0273131f6ed1769ffbdd
+ pristine_git_object: 2dccd8c47f15fa8074eca0f2b9a8476db4835247
src/outpost_sdk/models/awss3credentials.py:
id: d64070cd6a9d
- last_write_checksum: sha1:a09059e2fb0d4ab3c24e674dbc09c1bf2df00f93
- pristine_git_object: 9a145cd91ea81e48637ca3b34d69b0de70feca12
+ last_write_checksum: sha1:eb091d3cd0fdd3d23aad54f5a49d7a31b8a15a7a
+ pristine_git_object: 7d36bb72b1f9180953f8af379c80bbf6fe41d0c1
src/outpost_sdk/models/awssqsconfig.py:
id: 8d2a992822e1
- last_write_checksum: sha1:7fcee1254fd16c6476782369173ba39f7473d6aa
- pristine_git_object: 4de8ead7679125a67def4a0b40e0d9e42ed5fa80
+ last_write_checksum: sha1:58539e1768f1b64665632a35c5230f63da8fd4c8
+ pristine_git_object: 46d05210e04d9c9e75bb2c49f3734da9f9adcd45
src/outpost_sdk/models/awssqscredentials.py:
id: 83be77c3aac0
- last_write_checksum: sha1:4b7dab397f3c01c492eccc217cdf2bd263b8e2b7
- pristine_git_object: 56f871ee9a650b9e12aaf5a481ecef56603e6bb8
+ last_write_checksum: sha1:35c2fe0795a7d50635cb790105611bee80339ac0
+ pristine_git_object: ea84c37e7a21097d27af1eb64b37772e2686085c
src/outpost_sdk/models/azureservicebusconfig.py:
id: 9369230317df
last_write_checksum: sha1:b2015d2d8aee1a5d0047297e806d41f979005c5d
@@ -829,8 +855,8 @@ trackedFiles:
pristine_git_object: 30d9b6df725736d076367450277f83c2c9829fc3
src/outpost_sdk/models/createtenantdestinationop.py:
id: 13d5940f603f
- last_write_checksum: sha1:bb2018ed87d26259b8edfb6bbb6400d3aaebd5f9
- pristine_git_object: c8935d55ce08e7c1cfb777ae65422fc173b6fb70
+ last_write_checksum: sha1:f775f852ebb6fd6acb810d09c7f6c1a4e5c74eba
+ pristine_git_object: 023ef2ca4986e95dbed14aa452e029cf3dd60385
src/outpost_sdk/models/deletetenantdestinationop.py:
id: cdfdbedc82b2
last_write_checksum: sha1:e69df1f35e3a65c3e4bb00fc11969d0ee90e6df9
@@ -845,120 +871,120 @@ trackedFiles:
pristine_git_object: 590c793f35bd2473384ff6de31c60060aaedc81d
src/outpost_sdk/models/destinationawskinesis.py:
id: 55b5d40a6b01
- last_write_checksum: sha1:f154f3928a53850695bad283e803fd6c40f37dfb
- pristine_git_object: 60b39ff470ba9317779f63e7f64469e6054b9f05
+ last_write_checksum: sha1:b4c51077c47a7b4350b3f70c6bb4103447ceb2b3
+ pristine_git_object: ea044a52f504e92dec997955517a75804487927b
src/outpost_sdk/models/destinationawss3.py:
id: 8beea87159bf
- last_write_checksum: sha1:7fe73677b98d60c2d197a276a651d08267be5756
- pristine_git_object: 87c5843d8a2b3bea89d9fa5e9442aaa75d953674
+ last_write_checksum: sha1:8232062696211fba1b1aadf83f45be5b0ad94ef7
+ pristine_git_object: 21dea6c0f485ba5f46d68dafd648b8f188cfb1fb
src/outpost_sdk/models/destinationawssqs.py:
id: cdd8eb03e51b
- last_write_checksum: sha1:7731726fe93296f53c45164a0fa6a6acacf316bb
- pristine_git_object: db17241523014c294eb5435fe1decde0574f70bd
+ last_write_checksum: sha1:56452f86aa3f739178f73ac68e5a4a74eb4b406b
+ pristine_git_object: 22eb41722f07a53c2078867248ff7191a6d07a7b
src/outpost_sdk/models/destinationazureservicebus.py:
id: f1c2f3da46c7
- last_write_checksum: sha1:4847864003645d044273b1250197064750803579
- pristine_git_object: 66aa757947c91a8d8dcc34baeccf80e8f5cc7777
+ last_write_checksum: sha1:7ce07d8876e948b78883f765cb35b49632013830
+ pristine_git_object: 0867f22167ff7e7a71836e8d3668ef7a97fb5cd4
src/outpost_sdk/models/destinationcreate.py:
id: e5897fffe64a
last_write_checksum: sha1:52cfabb563ef137c8df12aad66eba2813dfe695f
pristine_git_object: 24c3ffee86d177e46072439ea1c92379098bd76d
src/outpost_sdk/models/destinationcreateawskinesis.py:
id: c47c9be03ea9
- last_write_checksum: sha1:6435c79ee8483850d4f2396b7db158cf1371d63e
- pristine_git_object: d69c8b929ebdfbbacc0af1bb2fb92f38bd45cf15
+ last_write_checksum: sha1:5596d831d9650f2a74863412a4a67b7f589e8ca7
+ pristine_git_object: c47a54b7756b84ad125c01ec5431d278893fc1f8
src/outpost_sdk/models/destinationcreateawss3.py:
id: 2a12772aa193
- last_write_checksum: sha1:85cbaae7d47aedf8e8a2ee985ff9aa1cd574f53a
- pristine_git_object: 1c7e3125dd9d50ba3b2f9a1377bf40f6e0863fd3
+ last_write_checksum: sha1:63c8c2b852706f9684a0364d76f883172855403c
+ pristine_git_object: f905ab28a323d85ba62eb2876eb213c7cc3a233d
src/outpost_sdk/models/destinationcreateawssqs.py:
id: d571450aa34c
- last_write_checksum: sha1:787ec5d1aa7a011562d74bde58d7716d8de21543
- pristine_git_object: d8b02006b4126c0432ba0c0e6de8a802ab464b99
+ last_write_checksum: sha1:5880ccf4c99ecb8a02e6bcd4e5bcffee18de4a7c
+ pristine_git_object: 3cef8972a61416d96c1f90f69140e48daa29df6f
src/outpost_sdk/models/destinationcreateazureservicebus.py:
id: 40b34cc6d212
- last_write_checksum: sha1:aafe78798963e51542c69d4a6186bed744d52ddb
- pristine_git_object: 2ecc1ff5259c35212eacd4e4e60a0d8d7afe1770
+ last_write_checksum: sha1:2e4730f65d3f46616a4f8d47f78d035945ef0913
+ pristine_git_object: 8e6807b1580224bd2abe58e7a23354bbf5ffb7ef
src/outpost_sdk/models/destinationcreategcppubsub.py:
id: 175ea4a525fc
- last_write_checksum: sha1:11b8b1225ce9f9c5ec67b4812582fc8c128b2bc2
- pristine_git_object: 9aa8bd40714558941f55b52d27c06a6b25475b66
+ last_write_checksum: sha1:8329a196a6f7d7944c06ce4b67480719b1ed6383
+ pristine_git_object: 9efd0c74e3bbf95404056632bcc011696ddf7b15
src/outpost_sdk/models/destinationcreatehookdeck.py:
id: ff182a9732d1
- last_write_checksum: sha1:23774da802a0105a7255dc1819a23801d6fd4df0
- pristine_git_object: cb68fe0794b202f94f5e6a4d49f06249591a7f04
+ last_write_checksum: sha1:a59e27bcbbaf251ec3cbc7e62f4f6513ef5df053
+ pristine_git_object: 3418875330af685575a723bb657ccb41006beb02
src/outpost_sdk/models/destinationcreaterabbitmq.py:
id: ef6476931b78
- last_write_checksum: sha1:b0a0e47ff05d9ef4e51de94554857cd6786256a7
- pristine_git_object: ddc99534e512112e479e7f7489c717b8c7246c3e
+ last_write_checksum: sha1:1175937ef83536977ef19a55a2c715cd99192800
+ pristine_git_object: 0eee513354c05a17a9165222e12af207f67d4668
src/outpost_sdk/models/destinationcreatewebhook.py:
id: 7957ca0fcac4
- last_write_checksum: sha1:3366b3a47b95e6726f3f4564bf2d559564b3c724
- pristine_git_object: 675783346aa9febb5dc7bc0621dc4732a02f04c9
+ last_write_checksum: sha1:3355de5f4266858f12ed300e35313ac2f25f8e57
+ pristine_git_object: cb64ebb46812c293e06545ecb535b06bc198a458
src/outpost_sdk/models/destinationgcppubsub.py:
id: b9c427853f36
- last_write_checksum: sha1:39bc350d891689d288cf593bbf50773ebaa70eb2
- pristine_git_object: 7384c655e3070b83f08ceac1621b487c5cc90105
+ last_write_checksum: sha1:22d8f5399d7e7932de39826e37fee2de374ca479
+ pristine_git_object: 6f214924c2cf8a7ade474fad941f23399f281def
src/outpost_sdk/models/destinationhookdeck.py:
id: e77c8b7fe514
- last_write_checksum: sha1:13353e32bb754cc80f9b0a8390a387e51909014c
- pristine_git_object: 3a236065c423d9c3768c65d3d08efff1bf90b827
+ last_write_checksum: sha1:8f382e27ed6604bbb74deefc21539437d83f8fd0
+ pristine_git_object: 7497b4bb8fbc20c1e5b2eb00122639b6ee27202f
src/outpost_sdk/models/destinationrabbitmq.py:
id: 31e01ead2367
- last_write_checksum: sha1:705d3fbd612d07784a47f1556c3d95871866d365
- pristine_git_object: 494313852a021a9d100c75f0eabbb747ec95d059
+ last_write_checksum: sha1:adaf1717912454f079bd6f433508c6338342cde7
+ pristine_git_object: 9535cfec04173b463b6b6caecd53a758f61c2c82
src/outpost_sdk/models/destinationschemafield.py:
id: 9fea102c01b8
- last_write_checksum: sha1:fc8bf7066a02708bc67cdab25e76aca5169366e6
- pristine_git_object: 8727389664dd12d6597837765c74d507e43217fc
+ last_write_checksum: sha1:6c1f240ad925267baba930a06e710cd1423c2710
+ pristine_git_object: 00ea7fb1f5d151d946a95c186ecac9a46461d6e3
src/outpost_sdk/models/destinationtype.py:
id: "314568989242"
last_write_checksum: sha1:7e4670afa60a4ed4bf05be1b858ed93577d1c3d4
pristine_git_object: 8f9c912b233d40dec83e313303befd79452c3ebe
src/outpost_sdk/models/destinationtypeschema.py:
id: 52670c29e85e
- last_write_checksum: sha1:591450ccd0dd10d889a5deb1ad15ca103a582709
- pristine_git_object: d6ac3382bc047ec690e67730d7cfa362a11e6333
+ last_write_checksum: sha1:2bd2afbb3bbe6c8f91152cd2db0beb2799d412a6
+ pristine_git_object: e422d62ec58fa2eb14f4355ec41cd3db3254e5d7
src/outpost_sdk/models/destinationupdate.py:
id: 4791a55bcc9b
last_write_checksum: sha1:e03fbdac995d27c0df4680d2fe07bb6f95ec1273
pristine_git_object: 8af5e55b32919687a5bd097d0a0012c4543f775f
src/outpost_sdk/models/destinationupdateawskinesis.py:
id: 4fafb7c70bff
- last_write_checksum: sha1:75ca63955e3e957d28449d037742b08831c233b1
- pristine_git_object: 5e32703c5dcc55c13219e2688f23db320ae179ca
+ last_write_checksum: sha1:244ca72a250913ce0bb56ae1aabc86834b123370
+ pristine_git_object: 924e6a570e9882d8e174b9c3fb94b9cf442d96e3
src/outpost_sdk/models/destinationupdateawss3.py:
id: 46ad0c46a423
- last_write_checksum: sha1:346f424ee05bd327932fd60f52e386896a195229
- pristine_git_object: 6c181b7720d8282837b426a3c84681f277ff7d7c
+ last_write_checksum: sha1:2b2f4d7e1af835040d70f670159e723372e61de3
+ pristine_git_object: 9d9541f139e8dd12cfeaf0f8cd099f2eaf54c741
src/outpost_sdk/models/destinationupdateawssqs.py:
id: 26cfbd4e6127
- last_write_checksum: sha1:fc98396719f3d9dd6721a782f83d09fd0ec3ab24
- pristine_git_object: 6bb0ec78f1052c258ef1c64479e74df29bc384c8
+ last_write_checksum: sha1:037c86c05a3fa09b76422ccd4039a2f391141b45
+ pristine_git_object: b30d690dc3f15c1da191ecc1ce7bb1b6b788ee71
src/outpost_sdk/models/destinationupdateazureservicebus.py:
id: 255b1dd4b368
- last_write_checksum: sha1:415a7b0bbc13483c8a832f548adcd8e9c1ccd95f
- pristine_git_object: ab9fdb365649326032682d747f98a06b4d9ac01e
+ last_write_checksum: sha1:6b2bb8c273017640b698458205f11830dc458dec
+ pristine_git_object: c06379b06b42cc62716a60b2599a880a5c551367
src/outpost_sdk/models/destinationupdategcppubsub.py:
id: 970389551c42
- last_write_checksum: sha1:dffc0913db0aa1abb2a237756d8555ad9b74fade
- pristine_git_object: 89008066b1c2bd931fe357f8e0e30f07707a89e0
+ last_write_checksum: sha1:ef69fc61fb6438503b8f67639e7440df04e5f775
+ pristine_git_object: f0a9bb4d79e7ba005d70f350038ad4fe05590637
src/outpost_sdk/models/destinationupdatehookdeck.py:
id: e1c91a86e3a2
- last_write_checksum: sha1:3919340f3a362e7c6e0c97523dc92a0e9dd5ee6d
- pristine_git_object: 912f555428c262ffb25702d1bce0573a3ee258dc
+ last_write_checksum: sha1:51e545bb2e4bf0f7fb733e842babc48bac85455e
+ pristine_git_object: 43336d801886a2ad34f3c910b188844b1ca622ea
src/outpost_sdk/models/destinationupdaterabbitmq.py:
id: 92e3f15788ed
- last_write_checksum: sha1:85bf47ac5fa7c6c3eabbe30cd69d313251f81c87
- pristine_git_object: b127791a5272dcc41a4deedbb8b1ada5c86fec27
+ last_write_checksum: sha1:ebd4ff156c274a08194895ea34f2e1b9a71a37af
+ pristine_git_object: 9f953d80d99f983c3ef90a19cd02ca4bcbc395da
src/outpost_sdk/models/destinationupdatewebhook.py:
id: 9c02c3e9e713
- last_write_checksum: sha1:5a2e7ac99b20a1bd2c0f60c9c9ccd913b0b56ea0
- pristine_git_object: 50a8b087976b602ed4f0e2471b23a3ccd274d947
+ last_write_checksum: sha1:e1060439105dd33fb252800955943626b64fcf89
+ pristine_git_object: e79cbee62d436aab019a56caa92d314c720202c4
src/outpost_sdk/models/destinationwebhook.py:
id: 4c4e5b9c334f
- last_write_checksum: sha1:75e64bebfc6096b12cb897957b6512cb406615a8
- pristine_git_object: 836640cbd85f0a92c3c029e11682d484b6dc0f00
+ last_write_checksum: sha1:3f69f39d16294bfed6d0bdd0a115b305dcdcafc1
+ pristine_git_object: e75c1461482650bbad497f171f3e4da5e047ec08
src/outpost_sdk/models/disabletenantdestinationop.py:
id: e0cea60a05fd
last_write_checksum: sha1:f5ac7b2eb23ef872cdf5de80dd904ef25fc65988
@@ -969,32 +995,32 @@ trackedFiles:
pristine_git_object: 8565cfdfe4de81d1893f98ed2db7fa2397c88d31
src/outpost_sdk/models/event.py:
id: d76334f49c72
- last_write_checksum: sha1:70cbf35bffa80e03e4910800670c5de98fcaef8e
- pristine_git_object: 4d7c72e487e9f9d7a663261871b9a957f264f8d3
+ last_write_checksum: sha1:b4552440fb0adc1191dc54c1967e8a62f977f5af
+ pristine_git_object: 7320fd229270a725f89d68ae7d51eaeecb6f3a1b
src/outpost_sdk/models/eventfull.py:
id: 5d4778348e54
- last_write_checksum: sha1:88c662d0682263afe3f7b0e433fb37b7a21b1930
- pristine_git_object: 63e4e64251b0502d2f39c4b846e47b6fcb7be7c6
+ last_write_checksum: sha1:441194efacc87d848068876e9f40c4089ee0f617
+ pristine_git_object: 8db47be89fe946a33b8d4b8e515885d996307b38
src/outpost_sdk/models/eventpaginatedresult.py:
id: d3ac58b45469
- last_write_checksum: sha1:43f922f7bfd531341a9920e04526aa67c6fb8189
- pristine_git_object: c0144dfa13b9ef9d9c7adb7e08b76100b348dcdf
+ last_write_checksum: sha1:cae2c5021c282c68e34b66591fb1cc3a8cadcaac
+ pristine_git_object: c1815a38476eec2c9bd46901195cf999ba1fcc93
src/outpost_sdk/models/eventsummary.py:
id: f3dd5eebc5ac
- last_write_checksum: sha1:9b98de396a60684272f3b4f8691a5eb6c628ac63
- pristine_git_object: 8647a8d279eb341d8a115da7dbcff116eb8708ec
+ last_write_checksum: sha1:10a53bf7c303aff33cd357c85c47372e3a0ff1fb
+ pristine_git_object: 1609f1df2787e04294528d9ee7b154bea3420c27
src/outpost_sdk/models/gcppubsubconfig.py:
id: 5088ceb75781
- last_write_checksum: sha1:bdc4cdce9ff95e9b4a55c173469e7417b86dc02f
- pristine_git_object: 8c8e730db9c2862a37f5911c2339b58343d282fb
+ last_write_checksum: sha1:00ca10c52495f57d6ae4e5429a24a4716bb0a625
+ pristine_git_object: 7a952ba7d161bb3e9f89e5b554e2198a5422a9f7
src/outpost_sdk/models/gcppubsubcredentials.py:
id: abca05169737
last_write_checksum: sha1:dc8390c93bf25ac535e88256a7e4d5b4717055f1
pristine_git_object: 359c1110785eb1541c9db38d18edf145df04bfc6
src/outpost_sdk/models/getattemptop.py:
id: 7782fa767ceb
- last_write_checksum: sha1:66a44a8ad53170fd2afc4e31c8884d5f987e6744
- pristine_git_object: 95593fe7a7c80762c2ecee5946131b7bd9319c66
+ last_write_checksum: sha1:5f643ea8bbf3cc5b1909a27c9805a1f783977e7e
+ pristine_git_object: 2977650be25b0f4cc766c26fdf4c0deb32aed2d0
src/outpost_sdk/models/getdestinationtypeschemaop.py:
id: c2eac8f2bbca
last_write_checksum: sha1:9f1e56affa65b5e7fd8ef4009ab475de68b434e4
@@ -1005,8 +1031,8 @@ trackedFiles:
pristine_git_object: 3359c7636361c151177b86cce9a7f365258431f6
src/outpost_sdk/models/gettenantdestinationattemptop.py:
id: ccf28ac65f39
- last_write_checksum: sha1:0a66810f37640889373ff7ecbda8b1f011da3486
- pristine_git_object: 90f1c4cb9dc1b122cd0439f41bc49dcbb4b3d3fe
+ last_write_checksum: sha1:22bb48ee41df86ae7651e750d160c25e3ac7a204
+ pristine_git_object: 72e267abab1c42cf0f6e659091326981d9b1acc1
src/outpost_sdk/models/gettenantdestinationop.py:
id: 6f1966ca7278
last_write_checksum: sha1:846e419ffc178a7713a0c80f3fc32bcaf2e8ae89
@@ -1017,8 +1043,8 @@ trackedFiles:
pristine_git_object: 9655b9856c65d9d250733d02dc6930744575ece4
src/outpost_sdk/models/gettenantportalurlop.py:
id: 3475f159387a
- last_write_checksum: sha1:ef3097bc989bf4ea51f199fb87fc3e6861eecf83
- pristine_git_object: fbbd4f95019a5b410ee8ce9a9469580b971f607a
+ last_write_checksum: sha1:dc64b913cc988b176964a5cd1a808f83afabb00e
+ pristine_git_object: 71ea2b5bfd104905f26f326bea16236cd0b8e53f
src/outpost_sdk/models/gettenanttokenop.py:
id: 4db19b635abf
last_write_checksum: sha1:787bcacc7d672a577222287fded502eba80d1e82
@@ -1033,40 +1059,40 @@ trackedFiles:
pristine_git_object: 090b478df5d6be4f69b4460766fb4f87411d2d43
src/outpost_sdk/models/listattemptsop.py:
id: 23d568326218
- last_write_checksum: sha1:b8502e33ab563391e81857cca0bd2362e3e020f7
- pristine_git_object: 281606ed45208de302abd22ba910b406ec8f2105
+ last_write_checksum: sha1:bfdb77068a6ab44684377ebcb6b70c12a4d599ad
+ pristine_git_object: 1e29a0ba8c1d4680b3d598b81ea350aa0af72fed
src/outpost_sdk/models/listeventsop.py:
id: 2d1ec5c5d505
- last_write_checksum: sha1:5c31f6f98f1b717dd50f0167fd8412338415cbc6
- pristine_git_object: 79a69384276c4ff170c698387d828c37888be46a
+ last_write_checksum: sha1:237e04b749293b5b3731f216499cbf199b9c4670
+ pristine_git_object: 41b53192d3756bb5439d0318eb84c8391c9f1266
src/outpost_sdk/models/listtenantdestinationattemptsop.py:
id: 1b700f60c32a
- last_write_checksum: sha1:7418b67d2d712575b327bcebf46467487d9622f4
- pristine_git_object: 699a3c3a7393da08b9d3aa5253b1f201c2977615
+ last_write_checksum: sha1:e005d1164e0ecd7d7076c61765bc21aad587f957
+ pristine_git_object: 0a3c888cd22db85096f0c6c4dd423056207e94e0
src/outpost_sdk/models/listtenantdestinationsop.py:
id: 8e9d6032dbe9
- last_write_checksum: sha1:5b627e7d620e1469d43b670a1fadd65d7556c8dc
- pristine_git_object: 0db9ae86045ca64290e2b5a3c91de9ac2c3ccbd2
+ last_write_checksum: sha1:68ce6e93902bdb9c6ec423f1cbeb08768f387995
+ pristine_git_object: dd62647327fa462c021460f7e2d119bf16839c5b
src/outpost_sdk/models/listtenantsop.py:
id: 4f4212a7d66b
- last_write_checksum: sha1:59557b485436dc34790629b618433f716e4559a4
- pristine_git_object: 9feba4c6731401e243814c8d8d3caa2fd96fd417
+ last_write_checksum: sha1:61259c156c44c30bfd6c9670408d0ce3813e3774
+ pristine_git_object: 3ffaf234fbda6f5fd0b915e3f0d4df0d9d073bcd
src/outpost_sdk/models/portalredirect.py:
id: 24df1cb14669
- last_write_checksum: sha1:7ea043843217141238fad319d81660d5ca7da14c
- pristine_git_object: b51b4dccd682e2c9e589b3eaa8fef2c9dee027ad
+ last_write_checksum: sha1:7518f878e6a37489d8ea45bb7d6fb0ce04042db9
+ pristine_git_object: 7618ceb8793735dd3fd86df979648c0d438bad04
src/outpost_sdk/models/publishrequest.py:
id: baf66d2d3cc8
- last_write_checksum: sha1:8c5b00da22b4d335dfde2cd80e4b59d18a362366
- pristine_git_object: de1e9a782d655aba6eb93ec824db2607e57e7dbd
+ last_write_checksum: sha1:e4dd16faf706750c5d1c3122dc8c837311a76c35
+ pristine_git_object: 7b7793f3b4c3db79a1369b9fa49e5d4aae06e883
src/outpost_sdk/models/publishresponse.py:
id: 9654d8ee9d84
last_write_checksum: sha1:1d5a02ed9adc3ebdaba18add62c2c68f83283b06
pristine_git_object: 53ddadcce3510f4e956bc4599eaae888674b5161
src/outpost_sdk/models/rabbitmqconfig.py:
id: 9052e976265f
- last_write_checksum: sha1:f81a2d7f793c82912f4f414844807b7637ccdd78
- pristine_git_object: 1c7495d846a476df251424bc9a076536b6acd461
+ last_write_checksum: sha1:cd36b236694cc00cbe6def2817dfa51089664e29
+ pristine_git_object: e8ce63be458b1afb23cbd1f0739d0a53347f687c
src/outpost_sdk/models/rabbitmqcredentials.py:
id: 4fd25a9a0775
last_write_checksum: sha1:02394a65044b85394a0a1cbdb6f63875f0142c83
@@ -1077,60 +1103,60 @@ trackedFiles:
pristine_git_object: 673103b30229f29722532ca9045f39233485a09f
src/outpost_sdk/models/security.py:
id: e6e012493b56
- last_write_checksum: sha1:8aae13072f396b5308b6e6edb8a696f0e2bd9378
- pristine_git_object: 87542daa8b570c12118da49db1abca7596f3db78
+ last_write_checksum: sha1:e4c60a975323de0788b868a79c92f37354070f1e
+ pristine_git_object: 5125d045e7cb08aff6a7a69d2ac43798abd4e3c1
src/outpost_sdk/models/seekpagination.py:
id: 4cad9794f60a
- last_write_checksum: sha1:43bada743de17c9ff8e0725cebe71730727ad5ab
- pristine_git_object: e26c619782f2df294475216189908316f2eea1bf
+ last_write_checksum: sha1:ece951f4d94243daf72afaf80999b9ccf0ea23b4
+ pristine_git_object: de7167fe0361fead786db1d1e8cdd3e5d6d2f0be
src/outpost_sdk/models/successresponse.py:
id: 8d64048dbebc
- last_write_checksum: sha1:49482bfbdcc3c5c20c60c31d134400b45738ebb7
- pristine_git_object: dc3d0c321bc0686e509752e9f6f8d950fe99c9f6
+ last_write_checksum: sha1:17b0f916c924ecd3532ebf2d36fd216f9ca08daa
+ pristine_git_object: 59b7e6dd464c7f09eae6c9949822651bc637f03b
src/outpost_sdk/models/tenant.py:
id: 9b3af67659ce
- last_write_checksum: sha1:c61fc37f690dad4ab2f137cb50a754e0a5e03ebf
- pristine_git_object: 9f076c682c513e92b0e3dc88d9d738e1de2114b3
+ last_write_checksum: sha1:fbcce9a84825d63478c133eafeb7107b2e439e9f
+ pristine_git_object: c95a0e076c0055ee625009554c3dcf12d3113830
src/outpost_sdk/models/tenantpaginatedresult.py:
id: c8d246f228c8
- last_write_checksum: sha1:ffa76e8175181c5186f72ede73a80bba72f50c59
- pristine_git_object: 387f0c3047fc3b872184c8b70e6c0e6775183221
+ last_write_checksum: sha1:fd4726666d1f019c91f053ef3f26796a4534f350
+ pristine_git_object: 682db32a728c0cbafbba4fdd8a7cb6cf5e905e1c
src/outpost_sdk/models/tenanttoken.py:
id: cc80422b1099
- last_write_checksum: sha1:60674a805301142cff82e3146baaaeb7941c44c0
- pristine_git_object: b11906d8d3fadfa12adddb28e0d80aba632d56a6
+ last_write_checksum: sha1:c7b9f128d4bf74ad10700120fc22763a8b859e3c
+ pristine_git_object: 912f9b4440ee3fcefc5fd387313f76dbd9d07ad8
src/outpost_sdk/models/tenantupsert.py:
id: 7a3647aa74bf
- last_write_checksum: sha1:4ad5494203c0e6602ba0024a8a9e1501a2dda723
- pristine_git_object: 842dbeaaa4bd4585ed47fb902d57b500823547a4
+ last_write_checksum: sha1:24c88fcc7ccdb2f926566aa5bbc3ece9c8906b15
+ pristine_git_object: 80f8c68c1f31b798670421df56ec01ce54e04345
src/outpost_sdk/models/topics_union.py:
id: 5f1555c3c073
last_write_checksum: sha1:a13581e78aed2368e38df7877d3eb01950490eaf
pristine_git_object: 5f812aa065ab1e8409d325052ac9cb77de353722
src/outpost_sdk/models/updatetenantdestinationop.py:
id: a50aeefe37f9
- last_write_checksum: sha1:4eb84a8deb7983f0b27fe96fb7af2098f6b720df
- pristine_git_object: 510b0d4dca15270d8147533ea714bdd037069158
+ last_write_checksum: sha1:e9b141cadb395bd3236c1bc66fa976764faf0753
+ pristine_git_object: c2455679f495555736e65822ecb41f9379e65f47
src/outpost_sdk/models/upserttenantop.py:
id: 70ae30767fa8
- last_write_checksum: sha1:889048374ef6d34e2c85417c35f13dda0e73020b
- pristine_git_object: b8ce1db1201f003decde809392d774dff66774ce
+ last_write_checksum: sha1:15d3bcaec9fa1e5eb72afc1c1c4ff2d665bf4603
+ pristine_git_object: ac15dda68f695595c345b9bd7fedeb6031f7d8ef
src/outpost_sdk/models/webhookconfig.py:
id: fe92488cf40a
- last_write_checksum: sha1:d2b3e43e90f8b573e8bccecf395fe8bc03a331d6
- pristine_git_object: 9da323289ec68b5c083b97c57eb22888f85999d3
+ last_write_checksum: sha1:7ffa7fff12b5533a24029111be499501860f5e58
+ pristine_git_object: e4dae5e849ad61fc221e2eafda8658e3e6b1e9d9
src/outpost_sdk/models/webhookcredentials.py:
id: b7f3472f7eaf
- last_write_checksum: sha1:81acb1fe1fbbcc54313056bca754a54cf9f5e64b
- pristine_git_object: f4b9e2dd1ca23b3bfcb303cbdd91cb68d94b138d
+ last_write_checksum: sha1:15611deb83d704548faecd29a1be7b857a959535
+ pristine_git_object: 1217324366cde0664c1d2321d3673a400f51919d
src/outpost_sdk/models/webhookcredentialsupdate.py:
id: 7d38cc3a7838
- last_write_checksum: sha1:4a12c21f80da8f289e63fd2f0525230811337cde
- pristine_git_object: 89b3e3f4f4c236f9ce541907a665e0e685fd568c
+ last_write_checksum: sha1:361683d2675dee7760af86d012a36f78bbed02ba
+ pristine_git_object: 18ee1833a367e6e1c2b2278481e33b4ef07c0ecd
src/outpost_sdk/publish.py:
id: 9022d8173f51
- last_write_checksum: sha1:d29c685f9093c7ccbc3b3492f90cdc20c43794cb
- pristine_git_object: 09367b82bcb348a017f8c25aadd5684855dda770
+ last_write_checksum: sha1:7573d0313fb00bcec94e6d625a79c9f8798a71c1
+ pristine_git_object: 071965f9d95c9c2201f9cf69d7b1e6afd89affa2
src/outpost_sdk/py.typed:
id: 4f30ed072a58
last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60
@@ -1149,8 +1175,8 @@ trackedFiles:
pristine_git_object: 6a045c19a5a7a033e43debf63d5393d9459d2d32
src/outpost_sdk/tenants.py:
id: 6575cae7064e
- last_write_checksum: sha1:196cc1cd388ae6cacc2d1ea3d3e5446987a7c8d3
- pristine_git_object: 652afc22a39044c5268d6cb00c4bdc26e82b33cd
+ last_write_checksum: sha1:5a5c554f676d5b07f5334dcc0104972fb5ec5586
+ pristine_git_object: 7e2c69ddf99c7f9801f3bbfbee4ea5fbf4a7db2b
src/outpost_sdk/topics_sdk.py:
id: 7e5ee20344bd
last_write_checksum: sha1:4a5f8b212df50f2156dcdfed4679cfdff999ab8c
@@ -1185,8 +1211,8 @@ trackedFiles:
pristine_git_object: 3324e1bc2668c54c4d5f5a1a845675319757a828
src/outpost_sdk/utils/eventstreaming.py:
id: 820142ef32ea
- last_write_checksum: sha1:ffa870a25a7e4e2015bfd7a467ccd3aa1de97f0e
- pristine_git_object: f2052fc22d9fd6c663ba3dce019fe234ca37108b
+ last_write_checksum: sha1:620d78a8b4e3b854e08d136e02e40a01a786bd70
+ pristine_git_object: 3bdcd6d3d4fc772cb7f5fca8685dcdc8c85e13e8
src/outpost_sdk/utils/forms.py:
id: 906e4bc25e36
last_write_checksum: sha1:15fa7e9ab1611e062a9984cf06cb20969713d295
@@ -1680,7 +1706,13 @@ examples:
application/json: {"models": [{"id": "del_123", "status": "success", "time": "2024-01-01T00:00:05Z", "code": "200", "attempt_number": 1, "event_id": "evt_123", "destination_id": "des_456", "event": {"id": "evt_123", "topic": "user.created", "time": "2024-01-01T00:00:00Z", "eligible_for_retry": false, "metadata": {"source": "crm"}}}], "pagination": {"order_by": "time", "dir": "desc", "limit": 100, "next": null, "prev": null}}
examplesVersion: 1.0.2
generatedTests: {}
-releaseNotes: "## Python SDK Changes:\n* `outpost.attempts.list()`: `error` **Changed** (Breaking ⚠️)\n* `outpost.destinations.list_attempts()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `outpost.publish.event()`: `error` **Changed** (Breaking ⚠️)\n* `outpost.destinations.get_attempt()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.tenants.list_tenants()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `outpost.tenants.upsert()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.tenants.get()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.tenants.delete()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.tenants.get_portal_url()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.tenants.get_token()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.events.list()`: \n * `response.models[].successful_at` **Removed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `outpost.events.get()`: \n * `response.successful_at` **Removed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.destinations.disable()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.destinations.enable()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.destinations.update()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `outpost.destinations.list()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.destinations.create()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `outpost.destinations.get()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.attempts.retry()`: `error` **Changed** (Breaking ⚠️)\n* `outpost.destinations.delete()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.schemas.list_destination_types()`: **Added**\n* `outpost.schemas.get_destination_type()`: **Added**\n* `outpost.attempts.get()`: `error` **Changed**\n* `outpost.schemas.get_destination_type_jwt()`: **Removed** (Breaking ⚠️)\n* `outpost.schemas.list_destination_types_jwt()`: **Removed** (Breaking ⚠️)\n* `outpost.topics.list()`: `error.status[401]` **Added**\n"
+releaseNotes: |
+ ## Python SDK Changes:
+ * `outpost.events.list()`: `request` **Changed** (Breaking ⚠️)
+ * `outpost.attempts.list()`: `request` **Changed** (Breaking ⚠️)
+ * `outpost.destinations.list_attempts()`: `request` **Changed** (Breaking ⚠️)
+ * `outpost.tenants.list()`: **Added**
+ * `outpost.tenants.list_tenants()`: **Removed** (Breaking ⚠️)
generatedFiles:
- .gitattributes
- .vscode/settings.json
diff --git a/sdks/outpost-python/.speakeasy/gen.yaml b/sdks/outpost-python/.speakeasy/gen.yaml
index d10b6bc4..0b2639e8 100644
--- a/sdks/outpost-python/.speakeasy/gen.yaml
+++ b/sdks/outpost-python/.speakeasy/gen.yaml
@@ -29,7 +29,7 @@ generation:
generateNewTests: false
skipResponseBodyAssertions: false
python:
- version: 0.7.0
+ version: 0.8.0
additionalDependencies:
dev: {}
main: {}
diff --git a/sdks/outpost-python/README-PYPI.md b/sdks/outpost-python/README-PYPI.md
index 74c49b95..eef54d59 100644
--- a/sdks/outpost-python/README-PYPI.md
+++ b/sdks/outpost-python/README-PYPI.md
@@ -225,7 +225,7 @@ with Outpost(
### [Tenants](https://github.com/hookdeck/outpost/blob/master/sdks/outpost-python/docs/sdks/tenants/README.md)
-* [list_tenants](https://github.com/hookdeck/outpost/blob/master/sdks/outpost-python/docs/sdks/tenants/README.md#list_tenants) - List Tenants
+* [list](https://github.com/hookdeck/outpost/blob/master/sdks/outpost-python/docs/sdks/tenants/README.md#list) - List Tenants
* [upsert](https://github.com/hookdeck/outpost/blob/master/sdks/outpost-python/docs/sdks/tenants/README.md#upsert) - Create or Update Tenant
* [get](https://github.com/hookdeck/outpost/blob/master/sdks/outpost-python/docs/sdks/tenants/README.md#get) - Get Tenant
* [delete](https://github.com/hookdeck/outpost/blob/master/sdks/outpost-python/docs/sdks/tenants/README.md#delete) - Delete Tenant
@@ -248,14 +248,14 @@ return value of `Next` is `None`, then there are no more pages to be fetched.
Here's an example of one such pagination call:
```python
-from outpost_sdk import Outpost, models
+from outpost_sdk import Outpost
with Outpost(
api_key="",
) as outpost:
- res = outpost.tenants.list_tenants(limit=20, dir=models.ListTenantsDir.DESC)
+ res = outpost.tenants.list(request={})
while res is not None:
# Handle items
diff --git a/sdks/outpost-python/README.md b/sdks/outpost-python/README.md
index cd7241a9..586e967d 100644
--- a/sdks/outpost-python/README.md
+++ b/sdks/outpost-python/README.md
@@ -225,7 +225,7 @@ with Outpost(
### [Tenants](docs/sdks/tenants/README.md)
-* [list_tenants](docs/sdks/tenants/README.md#list_tenants) - List Tenants
+* [list](docs/sdks/tenants/README.md#list) - List Tenants
* [upsert](docs/sdks/tenants/README.md#upsert) - Create or Update Tenant
* [get](docs/sdks/tenants/README.md#get) - Get Tenant
* [delete](docs/sdks/tenants/README.md#delete) - Delete Tenant
@@ -248,14 +248,14 @@ return value of `Next` is `None`, then there are no more pages to be fetched.
Here's an example of one such pagination call:
```python
-from outpost_sdk import Outpost, models
+from outpost_sdk import Outpost
with Outpost(
api_key="",
) as outpost:
- res = outpost.tenants.list_tenants(limit=20, dir=models.ListTenantsDir.DESC)
+ res = outpost.tenants.list(request={})
while res is not None:
# Handle items
diff --git a/sdks/outpost-python/RELEASES.md b/sdks/outpost-python/RELEASES.md
index d66d90fb..c3d65d44 100644
--- a/sdks/outpost-python/RELEASES.md
+++ b/sdks/outpost-python/RELEASES.md
@@ -58,4 +58,14 @@ Based on:
### Generated
- [python v0.7.0] sdks/outpost-python
### Releases
-- [PyPI v0.7.0] https://pypi.org/project/outpost_sdk/0.7.0 - sdks/outpost-python
\ No newline at end of file
+- [PyPI v0.7.0] https://pypi.org/project/outpost_sdk/0.7.0 - sdks/outpost-python
+
+## 2026-03-13 12:55:17
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.753.0 (2.862.0) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [python v0.8.0] sdks/outpost-python
+### Releases
+- [PyPI v0.8.0] https://pypi.org/project/outpost_sdk/0.8.0 - sdks/outpost-python
\ No newline at end of file
diff --git a/sdks/outpost-python/docs/models/createtenantdestinationrequest.md b/sdks/outpost-python/docs/models/createtenantdestinationrequest.md
index 61ac6d50..4d58782c 100644
--- a/sdks/outpost-python/docs/models/createtenantdestinationrequest.md
+++ b/sdks/outpost-python/docs/models/createtenantdestinationrequest.md
@@ -6,4 +6,4 @@
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
-| `params` | [models.DestinationCreate](../models/destinationcreate.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `body` | [models.DestinationCreate](../models/destinationcreate.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/sdks/outpost-python/docs/models/destinationid.md b/sdks/outpost-python/docs/models/destinationid.md
new file mode 100644
index 00000000..791cb34a
--- /dev/null
+++ b/sdks/outpost-python/docs/models/destinationid.md
@@ -0,0 +1,19 @@
+# DestinationID
+
+Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`).
+
+
+## Supported Types
+
+### `str`
+
+```python
+value: str = /* values here */
+```
+
+### `List[str]`
+
+```python
+value: List[str] = /* values here */
+```
+
diff --git a/sdks/outpost-python/docs/models/getattemptinclude.md b/sdks/outpost-python/docs/models/getattemptinclude.md
index 131a3616..0f669223 100644
--- a/sdks/outpost-python/docs/models/getattemptinclude.md
+++ b/sdks/outpost-python/docs/models/getattemptinclude.md
@@ -1,6 +1,6 @@
# GetAttemptInclude
-Fields to include in the response. Can be specified multiple times or comma-separated.
+Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
diff --git a/sdks/outpost-python/docs/models/getattemptrequest.md b/sdks/outpost-python/docs/models/getattemptrequest.md
index ee68506d..f37fc707 100644
--- a/sdks/outpost-python/docs/models/getattemptrequest.md
+++ b/sdks/outpost-python/docs/models/getattemptrequest.md
@@ -3,7 +3,7 @@
## Fields
-| Field | Type | Required | Description |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. |
-| `include` | [Optional[models.GetAttemptInclude]](../models/getattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
\ No newline at end of file
+| Field | Type | Required | Description |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. |
+| `include` | [Optional[models.GetAttemptInclude]](../models/getattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
\ No newline at end of file
diff --git a/sdks/outpost-python/docs/models/gettenantdestinationattemptinclude.md b/sdks/outpost-python/docs/models/gettenantdestinationattemptinclude.md
index e1890fa5..4c0d34b4 100644
--- a/sdks/outpost-python/docs/models/gettenantdestinationattemptinclude.md
+++ b/sdks/outpost-python/docs/models/gettenantdestinationattemptinclude.md
@@ -1,6 +1,6 @@
# GetTenantDestinationAttemptInclude
-Fields to include in the response. Can be specified multiple times or comma-separated.
+Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
diff --git a/sdks/outpost-python/docs/models/gettenantdestinationattemptrequest.md b/sdks/outpost-python/docs/models/gettenantdestinationattemptrequest.md
index 1785f2ad..ff3ef651 100644
--- a/sdks/outpost-python/docs/models/gettenantdestinationattemptrequest.md
+++ b/sdks/outpost-python/docs/models/gettenantdestinationattemptrequest.md
@@ -3,9 +3,9 @@
## Fields
-| Field | Type | Required | Description |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
-| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. |
-| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. |
-| `include` | [Optional[models.GetTenantDestinationAttemptInclude]](../models/gettenantdestinationattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
\ No newline at end of file
+| Field | Type | Required | Description |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
+| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. |
+| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. |
+| `include` | [Optional[models.GetTenantDestinationAttemptInclude]](../models/gettenantdestinationattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
\ No newline at end of file
diff --git a/sdks/outpost-python/docs/models/listattemptseventid.md b/sdks/outpost-python/docs/models/listattemptseventid.md
new file mode 100644
index 00000000..35df71f5
--- /dev/null
+++ b/sdks/outpost-python/docs/models/listattemptseventid.md
@@ -0,0 +1,19 @@
+# ListAttemptsEventID
+
+Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`).
+
+
+## Supported Types
+
+### `str`
+
+```python
+value: str = /* values here */
+```
+
+### `List[str]`
+
+```python
+value: List[str] = /* values here */
+```
+
diff --git a/sdks/outpost-python/docs/models/listattemptsinclude.md b/sdks/outpost-python/docs/models/listattemptsinclude.md
index 0596cb1f..b2ca934e 100644
--- a/sdks/outpost-python/docs/models/listattemptsinclude.md
+++ b/sdks/outpost-python/docs/models/listattemptsinclude.md
@@ -1,6 +1,6 @@
# ListAttemptsInclude
-Fields to include in the response. Can be specified multiple times or comma-separated.
+Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
diff --git a/sdks/outpost-python/docs/models/listattemptsrequest.md b/sdks/outpost-python/docs/models/listattemptsrequest.md
index 421cffdc..e1a97afe 100644
--- a/sdks/outpost-python/docs/models/listattemptsrequest.md
+++ b/sdks/outpost-python/docs/models/listattemptsrequest.md
@@ -3,18 +3,20 @@
## Fields
-| Field | Type | Required | Description |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by tenant ID. If not provided, returns attempts from all tenants. |
-| `event_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by event ID. |
-| `destination_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by destination ID. |
-| `status` | [Optional[models.ListAttemptsStatus]](../models/listattemptsstatus.md) | :heavy_minus_sign: | Filter attempts by status. |
-| `topic` | [Optional[models.ListAttemptsTopic]](../models/listattemptstopic.md) | :heavy_minus_sign: | Filter attempts by event topic(s). Can be specified multiple times or comma-separated. |
-| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). |
-| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). |
-| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). |
-| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. |
-| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. |
-| `include` | [Optional[models.ListAttemptsInclude]](../models/listattemptsinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
-| `order_by` | [Optional[models.ListAttemptsOrderBy]](../models/listattemptsorderby.md) | :heavy_minus_sign: | Field to sort by. |
-| `direction` | [Optional[models.ListAttemptsDir]](../models/listattemptsdir.md) | :heavy_minus_sign: | Sort direction. |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `tenant_id` | [Optional[models.ListAttemptsTenantID]](../models/listattemptstenantid.md) | :heavy_minus_sign: | Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
If not provided with API key auth, returns attempts from all tenants.
|
+| `event_id` | [Optional[models.ListAttemptsEventID]](../models/listattemptseventid.md) | :heavy_minus_sign: | Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`). |
+| `destination_id` | [Optional[models.DestinationID]](../models/destinationid.md) | :heavy_minus_sign: | Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`). |
+| `status` | [Optional[models.ListAttemptsStatus]](../models/listattemptsstatus.md) | :heavy_minus_sign: | Filter attempts by status. |
+| `topic` | [Optional[models.ListAttemptsTopic]](../models/listattemptstopic.md) | :heavy_minus_sign: | Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). |
+| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). |
+| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). |
+| `time_gt` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time > value (RFC3339 or YYYY-MM-DD format). |
+| `time_lt` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time < value (RFC3339 or YYYY-MM-DD format). |
+| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). |
+| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. |
+| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. |
+| `include` | [Optional[models.ListAttemptsInclude]](../models/listattemptsinclude.md) | :heavy_minus_sign: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
+| `order_by` | [Optional[models.ListAttemptsOrderBy]](../models/listattemptsorderby.md) | :heavy_minus_sign: | Field to sort by. |
+| `direction` | [Optional[models.ListAttemptsDir]](../models/listattemptsdir.md) | :heavy_minus_sign: | Sort direction. |
\ No newline at end of file
diff --git a/sdks/outpost-python/docs/models/listattemptstenantid.md b/sdks/outpost-python/docs/models/listattemptstenantid.md
new file mode 100644
index 00000000..e5bfdaa6
--- /dev/null
+++ b/sdks/outpost-python/docs/models/listattemptstenantid.md
@@ -0,0 +1,22 @@
+# ListAttemptsTenantID
+
+Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
+When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
+If not provided with API key auth, returns attempts from all tenants.
+
+
+
+## Supported Types
+
+### `str`
+
+```python
+value: str = /* values here */
+```
+
+### `List[str]`
+
+```python
+value: List[str] = /* values here */
+```
+
diff --git a/sdks/outpost-python/docs/models/listattemptstopic.md b/sdks/outpost-python/docs/models/listattemptstopic.md
index 25865989..03f3dc3c 100644
--- a/sdks/outpost-python/docs/models/listattemptstopic.md
+++ b/sdks/outpost-python/docs/models/listattemptstopic.md
@@ -1,6 +1,6 @@
# ListAttemptsTopic
-Filter attempts by event topic(s). Can be specified multiple times or comma-separated.
+Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).
## Supported Types
diff --git a/sdks/outpost-python/docs/models/listeventsid.md b/sdks/outpost-python/docs/models/listeventsid.md
new file mode 100644
index 00000000..8b77946b
--- /dev/null
+++ b/sdks/outpost-python/docs/models/listeventsid.md
@@ -0,0 +1,19 @@
+# ListEventsID
+
+Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`).
+
+
+## Supported Types
+
+### `str`
+
+```python
+value: str = /* values here */
+```
+
+### `List[str]`
+
+```python
+value: List[str] = /* values here */
+```
+
diff --git a/sdks/outpost-python/docs/models/listeventsrequest.md b/sdks/outpost-python/docs/models/listeventsrequest.md
index 4b6a5f27..b4222809 100644
--- a/sdks/outpost-python/docs/models/listeventsrequest.md
+++ b/sdks/outpost-python/docs/models/listeventsrequest.md
@@ -3,14 +3,17 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
-| `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Filter events by tenant ID. If not provided, returns events from all tenants. |
-| `topic` | [Optional[models.ListEventsTopic]](../models/listeventstopic.md) | :heavy_minus_sign: | Filter events by topic(s). Can be specified multiple times or comma-separated. |
-| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time >= value (RFC3339 or YYYY-MM-DD format). |
-| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time <= value (RFC3339 or YYYY-MM-DD format). |
-| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). |
-| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. |
-| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. |
-| `order_by` | [Optional[models.ListEventsOrderBy]](../models/listeventsorderby.md) | :heavy_minus_sign: | Field to sort by. |
-| `direction` | [Optional[models.ListEventsDir]](../models/listeventsdir.md) | :heavy_minus_sign: | Sort direction. |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `id` | [Optional[models.ListEventsID]](../models/listeventsid.md) | :heavy_minus_sign: | Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`). |
+| `tenant_id` | [Optional[models.ListEventsTenantID]](../models/listeventstenantid.md) | :heavy_minus_sign: | Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
If not provided with API key auth, returns events from all tenants.
|
+| `topic` | [Optional[models.ListEventsTopic]](../models/listeventstopic.md) | :heavy_minus_sign: | Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). |
+| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time >= value (RFC3339 or YYYY-MM-DD format). |
+| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time <= value (RFC3339 or YYYY-MM-DD format). |
+| `time_gt` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time > value (RFC3339 or YYYY-MM-DD format). |
+| `time_lt` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time < value (RFC3339 or YYYY-MM-DD format). |
+| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). |
+| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. |
+| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. |
+| `order_by` | [Optional[models.ListEventsOrderBy]](../models/listeventsorderby.md) | :heavy_minus_sign: | Field to sort by. |
+| `direction` | [Optional[models.ListEventsDir]](../models/listeventsdir.md) | :heavy_minus_sign: | Sort direction. |
\ No newline at end of file
diff --git a/sdks/outpost-python/docs/models/listeventstenantid.md b/sdks/outpost-python/docs/models/listeventstenantid.md
new file mode 100644
index 00000000..53245663
--- /dev/null
+++ b/sdks/outpost-python/docs/models/listeventstenantid.md
@@ -0,0 +1,22 @@
+# ListEventsTenantID
+
+Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
+When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
+If not provided with API key auth, returns events from all tenants.
+
+
+
+## Supported Types
+
+### `str`
+
+```python
+value: str = /* values here */
+```
+
+### `List[str]`
+
+```python
+value: List[str] = /* values here */
+```
+
diff --git a/sdks/outpost-python/docs/models/listeventstopic.md b/sdks/outpost-python/docs/models/listeventstopic.md
index f379a1ee..36684aa4 100644
--- a/sdks/outpost-python/docs/models/listeventstopic.md
+++ b/sdks/outpost-python/docs/models/listeventstopic.md
@@ -1,6 +1,6 @@
# ListEventsTopic
-Filter events by topic(s). Can be specified multiple times or comma-separated.
+Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).
## Supported Types
diff --git a/sdks/outpost-python/docs/models/listtenantdestinationattemptseventid.md b/sdks/outpost-python/docs/models/listtenantdestinationattemptseventid.md
new file mode 100644
index 00000000..189021e2
--- /dev/null
+++ b/sdks/outpost-python/docs/models/listtenantdestinationattemptseventid.md
@@ -0,0 +1,19 @@
+# ListTenantDestinationAttemptsEventID
+
+Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`).
+
+
+## Supported Types
+
+### `str`
+
+```python
+value: str = /* values here */
+```
+
+### `List[str]`
+
+```python
+value: List[str] = /* values here */
+```
+
diff --git a/sdks/outpost-python/docs/models/listtenantdestinationattemptsinclude.md b/sdks/outpost-python/docs/models/listtenantdestinationattemptsinclude.md
index 546330ea..15c77158 100644
--- a/sdks/outpost-python/docs/models/listtenantdestinationattemptsinclude.md
+++ b/sdks/outpost-python/docs/models/listtenantdestinationattemptsinclude.md
@@ -1,6 +1,6 @@
# ListTenantDestinationAttemptsInclude
-Fields to include in the response. Can be specified multiple times or comma-separated.
+Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
diff --git a/sdks/outpost-python/docs/models/listtenantdestinationattemptsrequest.md b/sdks/outpost-python/docs/models/listtenantdestinationattemptsrequest.md
index 8bd4f990..38bef260 100644
--- a/sdks/outpost-python/docs/models/listtenantdestinationattemptsrequest.md
+++ b/sdks/outpost-python/docs/models/listtenantdestinationattemptsrequest.md
@@ -3,18 +3,20 @@
## Fields
-| Field | Type | Required | Description |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
-| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. |
-| `event_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by event ID. |
-| `status` | [Optional[models.ListTenantDestinationAttemptsStatus]](../models/listtenantdestinationattemptsstatus.md) | :heavy_minus_sign: | Filter attempts by status. |
-| `topic` | [Optional[models.ListTenantDestinationAttemptsTopic]](../models/listtenantdestinationattemptstopic.md) | :heavy_minus_sign: | Filter attempts by event topic(s). Can be specified multiple times or comma-separated. |
-| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). |
-| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). |
-| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). |
-| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. |
-| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. |
-| `include` | [Optional[models.ListTenantDestinationAttemptsInclude]](../models/listtenantdestinationattemptsinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
-| `order_by` | [Optional[models.ListTenantDestinationAttemptsOrderBy]](../models/listtenantdestinationattemptsorderby.md) | :heavy_minus_sign: | Field to sort by. |
-| `direction` | [Optional[models.ListTenantDestinationAttemptsDir]](../models/listtenantdestinationattemptsdir.md) | :heavy_minus_sign: | Sort direction. |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
+| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. |
+| `event_id` | [Optional[models.ListTenantDestinationAttemptsEventID]](../models/listtenantdestinationattemptseventid.md) | :heavy_minus_sign: | Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`). |
+| `status` | [Optional[models.ListTenantDestinationAttemptsStatus]](../models/listtenantdestinationattemptsstatus.md) | :heavy_minus_sign: | Filter attempts by status. |
+| `topic` | [Optional[models.ListTenantDestinationAttemptsTopic]](../models/listtenantdestinationattemptstopic.md) | :heavy_minus_sign: | Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). |
+| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). |
+| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). |
+| `time_gt` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time > value (RFC3339 or YYYY-MM-DD format). |
+| `time_lt` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time < value (RFC3339 or YYYY-MM-DD format). |
+| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). |
+| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. |
+| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. |
+| `include` | [Optional[models.ListTenantDestinationAttemptsInclude]](../models/listtenantdestinationattemptsinclude.md) | :heavy_minus_sign: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
+| `order_by` | [Optional[models.ListTenantDestinationAttemptsOrderBy]](../models/listtenantdestinationattemptsorderby.md) | :heavy_minus_sign: | Field to sort by. |
+| `direction` | [Optional[models.ListTenantDestinationAttemptsDir]](../models/listtenantdestinationattemptsdir.md) | :heavy_minus_sign: | Sort direction. |
\ No newline at end of file
diff --git a/sdks/outpost-python/docs/models/listtenantdestinationattemptstopic.md b/sdks/outpost-python/docs/models/listtenantdestinationattemptstopic.md
index 17d836d7..10bab1e1 100644
--- a/sdks/outpost-python/docs/models/listtenantdestinationattemptstopic.md
+++ b/sdks/outpost-python/docs/models/listtenantdestinationattemptstopic.md
@@ -1,6 +1,6 @@
# ListTenantDestinationAttemptsTopic
-Filter attempts by event topic(s). Can be specified multiple times or comma-separated.
+Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).
## Supported Types
diff --git a/sdks/outpost-python/docs/models/listtenantdestinationsrequest.md b/sdks/outpost-python/docs/models/listtenantdestinationsrequest.md
index b8acb2a8..5e52c71a 100644
--- a/sdks/outpost-python/docs/models/listtenantdestinationsrequest.md
+++ b/sdks/outpost-python/docs/models/listtenantdestinationsrequest.md
@@ -3,8 +3,8 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
-| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
-| `type` | [Optional[models.ListTenantDestinationsType]](../models/listtenantdestinationstype.md) | :heavy_minus_sign: | Filter destinations by type(s). |
-| `topics` | [Optional[models.ListTenantDestinationsTopics]](../models/listtenantdestinationstopics.md) | :heavy_minus_sign: | Filter destinations by supported topic(s). |
\ No newline at end of file
+| Field | Type | Required | Description |
+| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
+| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
+| `type` | [Optional[models.ListTenantDestinationsType]](../models/listtenantdestinationstype.md) | :heavy_minus_sign: | Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`). |
+| `topics` | [Optional[models.ListTenantDestinationsTopics]](../models/listtenantdestinationstopics.md) | :heavy_minus_sign: | Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`). |
\ No newline at end of file
diff --git a/sdks/outpost-python/docs/models/listtenantdestinationstopics.md b/sdks/outpost-python/docs/models/listtenantdestinationstopics.md
index 4713f106..db46f67e 100644
--- a/sdks/outpost-python/docs/models/listtenantdestinationstopics.md
+++ b/sdks/outpost-python/docs/models/listtenantdestinationstopics.md
@@ -1,6 +1,6 @@
# ListTenantDestinationsTopics
-Filter destinations by supported topic(s).
+Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`).
## Supported Types
diff --git a/sdks/outpost-python/docs/models/listtenantdestinationstype.md b/sdks/outpost-python/docs/models/listtenantdestinationstype.md
index fdf4bf52..87ee4fc4 100644
--- a/sdks/outpost-python/docs/models/listtenantdestinationstype.md
+++ b/sdks/outpost-python/docs/models/listtenantdestinationstype.md
@@ -1,6 +1,6 @@
# ListTenantDestinationsType
-Filter destinations by type(s).
+Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`).
## Supported Types
diff --git a/sdks/outpost-python/docs/models/listtenantsid.md b/sdks/outpost-python/docs/models/listtenantsid.md
new file mode 100644
index 00000000..b96893fc
--- /dev/null
+++ b/sdks/outpost-python/docs/models/listtenantsid.md
@@ -0,0 +1,19 @@
+# ListTenantsID
+
+Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`).
+
+
+## Supported Types
+
+### `str`
+
+```python
+value: str = /* values here */
+```
+
+### `List[str]`
+
+```python
+value: List[str] = /* values here */
+```
+
diff --git a/sdks/outpost-python/docs/models/listtenantsrequest.md b/sdks/outpost-python/docs/models/listtenantsrequest.md
index 09323ccd..14d312b6 100644
--- a/sdks/outpost-python/docs/models/listtenantsrequest.md
+++ b/sdks/outpost-python/docs/models/listtenantsrequest.md
@@ -3,9 +3,10 @@
## Fields
-| Field | Type | Required | Description |
-| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
-| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of tenants to return per page (1-100, default 20). |
-| `dir` | [Optional[models.ListTenantsDir]](../models/listtenantsdir.md) | :heavy_minus_sign: | Sort direction. |
-| `direction` | *Optional[str]* | :heavy_minus_sign: | Cursor for the next page of results. Mutually exclusive with `prev`. |
-| `prev` | *Optional[str]* | :heavy_minus_sign: | Cursor for the previous page of results. Mutually exclusive with `next`. |
\ No newline at end of file
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
+| `id` | [Optional[models.ListTenantsID]](../models/listtenantsid.md) | :heavy_minus_sign: | Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`). |
+| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of tenants to return per page (1-100, default 20). |
+| `direction` | [Optional[models.ListTenantsDir]](../models/listtenantsdir.md) | :heavy_minus_sign: | Sort direction. |
+| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for the next page of results. Mutually exclusive with `prev`. |
+| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for the previous page of results. Mutually exclusive with `next`. |
\ No newline at end of file
diff --git a/sdks/outpost-python/docs/models/updatetenantdestinationrequest.md b/sdks/outpost-python/docs/models/updatetenantdestinationrequest.md
index a0e53b39..bf0ca632 100644
--- a/sdks/outpost-python/docs/models/updatetenantdestinationrequest.md
+++ b/sdks/outpost-python/docs/models/updatetenantdestinationrequest.md
@@ -7,4 +7,4 @@
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. |
-| `params` | [models.DestinationUpdate](../models/destinationupdate.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `body` | [models.DestinationUpdate](../models/destinationupdate.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/sdks/outpost-python/docs/models/upserttenantrequest.md b/sdks/outpost-python/docs/models/upserttenantrequest.md
index 657ca940..9c7f8930 100644
--- a/sdks/outpost-python/docs/models/upserttenantrequest.md
+++ b/sdks/outpost-python/docs/models/upserttenantrequest.md
@@ -6,4 +6,4 @@
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
-| `params` | [Optional[models.TenantUpsert]](../models/tenantupsert.md) | :heavy_minus_sign: | Optional tenant metadata |
\ No newline at end of file
+| `body` | [Optional[models.TenantUpsert]](../models/tenantupsert.md) | :heavy_minus_sign: | Optional tenant metadata |
\ No newline at end of file
diff --git a/sdks/outpost-python/docs/sdks/attempts/README.md b/sdks/outpost-python/docs/sdks/attempts/README.md
index 8883fe39..91534cac 100644
--- a/sdks/outpost-python/docs/sdks/attempts/README.md
+++ b/sdks/outpost-python/docs/sdks/attempts/README.md
@@ -37,14 +37,14 @@ When authenticated with Admin API Key, returns attempts across all tenants. Use
```python
-from outpost_sdk import Outpost, models
+from outpost_sdk import Outpost
with Outpost(
api_key="",
) as outpost:
- res = outpost.attempts.list(limit=100, order_by=models.ListAttemptsOrderBy.TIME, direction=models.ListAttemptsDir.DESC)
+ res = outpost.attempts.list(request={})
while res is not None:
# Handle items
@@ -56,14 +56,14 @@ with Outpost(
```python
-from outpost_sdk import Outpost, models
+from outpost_sdk import Outpost
with Outpost(
api_key="",
) as outpost:
- res = outpost.attempts.list(limit=100, order_by=models.ListAttemptsOrderBy.TIME, direction=models.ListAttemptsDir.DESC)
+ res = outpost.attempts.list(request={})
while res is not None:
# Handle items
@@ -74,22 +74,10 @@ with Outpost(
### Parameters
-| Parameter | Type | Required | Description |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by tenant ID. If not provided, returns attempts from all tenants. |
-| `event_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by event ID. |
-| `destination_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by destination ID. |
-| `status` | [Optional[models.ListAttemptsStatus]](../../models/listattemptsstatus.md) | :heavy_minus_sign: | Filter attempts by status. |
-| `topic` | [Optional[models.ListAttemptsTopic]](../../models/listattemptstopic.md) | :heavy_minus_sign: | Filter attempts by event topic(s). Can be specified multiple times or comma-separated. |
-| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). |
-| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). |
-| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). |
-| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. |
-| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. |
-| `include` | [Optional[models.ListAttemptsInclude]](../../models/listattemptsinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
-| `order_by` | [Optional[models.ListAttemptsOrderBy]](../../models/listattemptsorderby.md) | :heavy_minus_sign: | Field to sort by. |
-| `direction` | [Optional[models.ListAttemptsDir]](../../models/listattemptsdir.md) | :heavy_minus_sign: | Sort direction. |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| Parameter | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `request` | [models.ListAttemptsRequest](../../models/listattemptsrequest.md) | :heavy_check_mark: | The request object to use for the request. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
@@ -148,11 +136,11 @@ with Outpost(
### Parameters
-| Parameter | Type | Required | Description |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. |
-| `include` | [Optional[models.GetAttemptInclude]](../../models/getattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| Parameter | Type | Required | Description |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. |
+| `include` | [Optional[models.GetAttemptInclude]](../../models/getattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
@@ -186,7 +174,10 @@ with Outpost(
api_key="",
) as outpost:
- res = outpost.attempts.retry(event_id="evt_123", destination_id="des_456")
+ res = outpost.attempts.retry(request={
+ "event_id": "evt_123",
+ "destination_id": "des_456",
+ })
# Handle response
print(res)
@@ -195,11 +186,10 @@ with Outpost(
### Parameters
-| Parameter | Type | Required | Description | Example |
-| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
-| `event_id` | *str* | :heavy_check_mark: | The ID of the event to retry. | evt_123 |
-| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination to deliver to. | des_456 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| Parameter | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `request` | [models.RetryRequest](../../models/retryrequest.md) | :heavy_check_mark: | The request object to use for the request. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
diff --git a/sdks/outpost-python/docs/sdks/destinations/README.md b/sdks/outpost-python/docs/sdks/destinations/README.md
index bb7acf6f..3c9960b0 100644
--- a/sdks/outpost-python/docs/sdks/destinations/README.md
+++ b/sdks/outpost-python/docs/sdks/destinations/README.md
@@ -63,12 +63,12 @@ with Outpost(
### Parameters
-| Parameter | Type | Required | Description |
-| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
-| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
-| `type` | [Optional[models.ListTenantDestinationsType]](../../models/listtenantdestinationstype.md) | :heavy_minus_sign: | Filter destinations by type(s). |
-| `topics` | [Optional[models.ListTenantDestinationsTopics]](../../models/listtenantdestinationstopics.md) | :heavy_minus_sign: | Filter destinations by supported topic(s). |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| Parameter | Type | Required | Description |
+| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
+| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
+| `type` | [Optional[models.ListTenantDestinationsType]](../../models/listtenantdestinationstype.md) | :heavy_minus_sign: | Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`). |
+| `topics` | [Optional[models.ListTenantDestinationsTopics]](../../models/listtenantdestinationstopics.md) | :heavy_minus_sign: | Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`). |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
@@ -98,7 +98,7 @@ with Outpost(
api_key="",
) as outpost:
- res = outpost.destinations.create(tenant_id="", params={
+ res = outpost.destinations.create(tenant_id="", body={
"id": "user-provided-id",
"type": models.DestinationCreateRabbitMQType.RABBITMQ,
"topics": models.TopicsEnum.WILDCARD_,
@@ -123,7 +123,7 @@ with Outpost(
| Parameter | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
-| `params` | [models.DestinationCreate](../../models/destinationcreate.md) | :heavy_check_mark: | N/A |
+| `body` | [models.DestinationCreate](../../models/destinationcreate.md) | :heavy_check_mark: | N/A |
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
@@ -198,7 +198,7 @@ with Outpost(
api_key="",
) as outpost:
- res = outpost.destinations.update(tenant_id="", destination_id="", params={
+ res = outpost.destinations.update(tenant_id="", destination_id="", body={
"topics": models.TopicsEnum.WILDCARD_,
"config": {
"server_url": "localhost:5672",
@@ -222,7 +222,7 @@ with Outpost(
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. |
-| `params` | [models.DestinationUpdate](../../models/destinationupdate.md) | :heavy_check_mark: | N/A |
+| `body` | [models.DestinationUpdate](../../models/destinationupdate.md) | :heavy_check_mark: | N/A |
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
@@ -376,14 +376,17 @@ Retrieves a paginated list of attempts scoped to a specific destination.
```python
-from outpost_sdk import Outpost, models
+from outpost_sdk import Outpost
with Outpost(
api_key="",
) as outpost:
- res = outpost.destinations.list_attempts(tenant_id="", destination_id="", limit=100, order_by=models.ListTenantDestinationAttemptsOrderBy.TIME, direction=models.ListTenantDestinationAttemptsDir.DESC)
+ res = outpost.destinations.list_attempts(request={
+ "tenant_id": "",
+ "destination_id": "",
+ })
while res is not None:
# Handle items
@@ -394,22 +397,10 @@ with Outpost(
### Parameters
-| Parameter | Type | Required | Description |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
-| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. |
-| `event_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by event ID. |
-| `status` | [Optional[models.ListTenantDestinationAttemptsStatus]](../../models/listtenantdestinationattemptsstatus.md) | :heavy_minus_sign: | Filter attempts by status. |
-| `topic` | [Optional[models.ListTenantDestinationAttemptsTopic]](../../models/listtenantdestinationattemptstopic.md) | :heavy_minus_sign: | Filter attempts by event topic(s). Can be specified multiple times or comma-separated. |
-| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). |
-| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). |
-| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). |
-| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. |
-| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. |
-| `include` | [Optional[models.ListTenantDestinationAttemptsInclude]](../../models/listtenantdestinationattemptsinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
-| `order_by` | [Optional[models.ListTenantDestinationAttemptsOrderBy]](../../models/listtenantdestinationattemptsorderby.md) | :heavy_minus_sign: | Field to sort by. |
-| `direction` | [Optional[models.ListTenantDestinationAttemptsDir]](../../models/listtenantdestinationattemptsdir.md) | :heavy_minus_sign: | Sort direction. |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| Parameter | Type | Required | Description |
+| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
+| `request` | [models.ListTenantDestinationAttemptsRequest](../../models/listtenantdestinationattemptsrequest.md) | :heavy_check_mark: | The request object to use for the request. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
@@ -448,13 +439,13 @@ with Outpost(
### Parameters
-| Parameter | Type | Required | Description |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
-| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. |
-| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. |
-| `include` | [Optional[models.GetTenantDestinationAttemptInclude]](../../models/gettenantdestinationattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| Parameter | Type | Required | Description |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
+| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. |
+| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. |
+| `include` | [Optional[models.GetTenantDestinationAttemptInclude]](../../models/gettenantdestinationattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
|
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
diff --git a/sdks/outpost-python/docs/sdks/events/README.md b/sdks/outpost-python/docs/sdks/events/README.md
index d0df90e0..0e8208f7 100644
--- a/sdks/outpost-python/docs/sdks/events/README.md
+++ b/sdks/outpost-python/docs/sdks/events/README.md
@@ -21,14 +21,14 @@ When authenticated with Admin API Key, returns events across all tenants. Use `t
```python
-from outpost_sdk import Outpost, models
+from outpost_sdk import Outpost
with Outpost(
api_key="",
) as outpost:
- res = outpost.events.list(limit=100, order_by=models.ListEventsOrderBy.TIME, direction=models.ListEventsDir.DESC)
+ res = outpost.events.list(request={})
while res is not None:
# Handle items
@@ -39,18 +39,10 @@ with Outpost(
### Parameters
-| Parameter | Type | Required | Description |
-| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
-| `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Filter events by tenant ID. If not provided, returns events from all tenants. |
-| `topic` | [Optional[models.ListEventsTopic]](../../models/listeventstopic.md) | :heavy_minus_sign: | Filter events by topic(s). Can be specified multiple times or comma-separated. |
-| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time >= value (RFC3339 or YYYY-MM-DD format). |
-| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time <= value (RFC3339 or YYYY-MM-DD format). |
-| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). |
-| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. |
-| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. |
-| `order_by` | [Optional[models.ListEventsOrderBy]](../../models/listeventsorderby.md) | :heavy_minus_sign: | Field to sort by. |
-| `direction` | [Optional[models.ListEventsDir]](../../models/listeventsdir.md) | :heavy_minus_sign: | Sort direction. |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| Parameter | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `request` | [models.ListEventsRequest](../../models/listeventsrequest.md) | :heavy_check_mark: | The request object to use for the request. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
diff --git a/sdks/outpost-python/docs/sdks/publish/README.md b/sdks/outpost-python/docs/sdks/publish/README.md
index c3a0e2d4..def08cf2 100644
--- a/sdks/outpost-python/docs/sdks/publish/README.md
+++ b/sdks/outpost-python/docs/sdks/publish/README.md
@@ -24,11 +24,19 @@ with Outpost(
api_key="",
) as outpost:
- res = outpost.publish.event(data={
- "user_id": "userid",
- "status": "active",
- }, id="evt_custom_123", tenant_id="", destination_id="", topic="topic.name", time=parse_datetime("2024-01-15T10:30:00Z"), metadata={
- "source": "crm",
+ res = outpost.publish.event(request={
+ "id": "evt_custom_123",
+ "tenant_id": "",
+ "destination_id": "",
+ "topic": "topic.name",
+ "time": parse_datetime("2024-01-15T10:30:00Z"),
+ "metadata": {
+ "source": "crm",
+ },
+ "data": {
+ "user_id": "userid",
+ "status": "active",
+ },
})
# Handle response
@@ -38,17 +46,10 @@ with Outpost(
### Parameters
-| Parameter | Type | Required | Description | Example |
-| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
-| `data` | Dict[str, *Any*] | :heavy_check_mark: | Any JSON payload for the event data. | {
"user_id": "userid",
"status": "active"
} |
-| `id` | *Optional[str]* | :heavy_minus_sign: | Optional. A unique identifier for the event. If not provided, a UUID will be generated. | evt_custom_123 |
-| `tenant_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the tenant to publish for. | |
-| `destination_id` | *Optional[str]* | :heavy_minus_sign: | Optional. Route event to a specific destination. | |
-| `topic` | *Optional[str]* | :heavy_minus_sign: | Topic name for the event. Required if Outpost has been configured with topics. | topic.name |
-| `eligible_for_retry` | *Optional[bool]* | :heavy_minus_sign: | Should event delivery be retried on failure. | |
-| `time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Optional. Custom timestamp for the event. If not provided, defaults to the current time. | 2024-01-15T10:30:00Z |
-| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Any key-value string pairs for metadata. | {
"source": "crm"
} |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| Parameter | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `request` | [models.PublishRequest](../../models/publishrequest.md) | :heavy_check_mark: | The request object to use for the request. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
diff --git a/sdks/outpost-python/docs/sdks/tenants/README.md b/sdks/outpost-python/docs/sdks/tenants/README.md
index efe7bd19..0199c80d 100644
--- a/sdks/outpost-python/docs/sdks/tenants/README.md
+++ b/sdks/outpost-python/docs/sdks/tenants/README.md
@@ -9,14 +9,14 @@ If your system is not multi-tenant, create a single tenant with a hard-code tena
### Available Operations
-* [list_tenants](#list_tenants) - List Tenants
+* [list](#list) - List Tenants
* [upsert](#upsert) - Create or Update Tenant
* [get](#get) - Get Tenant
* [delete](#delete) - Delete Tenant
* [get_portal_url](#get_portal_url) - Get Portal Redirect URL
* [get_token](#get_token) - Get Tenant JWT Token
-## list_tenants
+## list
List all tenants with cursor-based pagination.
@@ -30,14 +30,14 @@ When authenticated with a Tenant JWT, returns only the authenticated tenant. Pag
```python
-from outpost_sdk import Outpost, models
+from outpost_sdk import Outpost
with Outpost(
api_key="",
) as outpost:
- res = outpost.tenants.list_tenants(limit=20, dir=models.ListTenantsDir.DESC)
+ res = outpost.tenants.list(request={})
while res is not None:
# Handle items
@@ -48,13 +48,10 @@ with Outpost(
### Parameters
-| Parameter | Type | Required | Description |
-| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
-| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of tenants to return per page (1-100, default 20). |
-| `dir` | [Optional[models.ListTenantsDir]](../../models/listtenantsdir.md) | :heavy_minus_sign: | Sort direction. |
-| `direction` | *Optional[str]* | :heavy_minus_sign: | Cursor for the next page of results. Mutually exclusive with `prev`. |
-| `prev` | *Optional[str]* | :heavy_minus_sign: | Cursor for the previous page of results. Mutually exclusive with `next`. |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| Parameter | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `request` | [models.ListTenantsRequest](../../models/listtenantsrequest.md) | :heavy_check_mark: | The request object to use for the request. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
@@ -97,7 +94,7 @@ with Outpost(
| Parameter | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. |
-| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Optional metadata to store with the tenant. |
+| `body` | [Optional[models.TenantUpsert]](../../models/tenantupsert.md) | :heavy_minus_sign: | Optional tenant metadata |
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
diff --git a/sdks/outpost-python/pyproject.toml b/sdks/outpost-python/pyproject.toml
index d16b457b..f06cb423 100644
--- a/sdks/outpost-python/pyproject.toml
+++ b/sdks/outpost-python/pyproject.toml
@@ -1,7 +1,7 @@
[project]
name = "outpost_sdk"
-version = "0.7.0"
+version = "0.8.0"
description = "Python Client SDK Generated by Speakeasy."
authors = [{ name = "Speakeasy" },]
readme = "README-PYPI.md"
diff --git a/sdks/outpost-python/src/outpost_sdk/_version.py b/sdks/outpost-python/src/outpost_sdk/_version.py
index 9bde0b83..f7d6cd50 100644
--- a/sdks/outpost-python/src/outpost_sdk/_version.py
+++ b/sdks/outpost-python/src/outpost_sdk/_version.py
@@ -3,10 +3,10 @@
import importlib.metadata
__title__: str = "outpost_sdk"
-__version__: str = "0.7.0"
+__version__: str = "0.8.0"
__openapi_doc_version__: str = "0.0.1"
-__gen_version__: str = "2.849.10"
-__user_agent__: str = "speakeasy-sdk/python 0.7.0 2.849.10 0.0.1 outpost_sdk"
+__gen_version__: str = "2.862.0"
+__user_agent__: str = "speakeasy-sdk/python 0.8.0 2.862.0 0.0.1 outpost_sdk"
try:
if __package__ is not None:
diff --git a/sdks/outpost-python/src/outpost_sdk/attempts.py b/sdks/outpost-python/src/outpost_sdk/attempts.py
index 6ba66377..06c122ea 100644
--- a/sdks/outpost-python/src/outpost_sdk/attempts.py
+++ b/sdks/outpost-python/src/outpost_sdk/attempts.py
@@ -1,13 +1,12 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from .basesdk import BaseSDK
-from datetime import datetime
from jsonpath import JSONPath
from outpost_sdk import errors, models, utils
from outpost_sdk._hooks import HookContext
-from outpost_sdk.types import OptionalNullable, UNSET
+from outpost_sdk.types import BaseModel, OptionalNullable, UNSET
from outpost_sdk.utils.unmarshal_json_response import unmarshal_json_response
-from typing import Any, Dict, List, Mapping, Optional, Union
+from typing import Any, Dict, List, Mapping, Optional, Union, cast
class Attempts(BaseSDK):
@@ -32,25 +31,7 @@ class Attempts(BaseSDK):
def list(
self,
*,
- tenant_id: Optional[str] = None,
- event_id: Optional[str] = None,
- destination_id: Optional[str] = None,
- status: Optional[models.ListAttemptsStatus] = None,
- topic: Optional[
- Union[models.ListAttemptsTopic, models.ListAttemptsTopicTypedDict]
- ] = None,
- time_gte: Optional[datetime] = None,
- time_lte: Optional[datetime] = None,
- limit: Optional[int] = 100,
- next_cursor: Optional[str] = None,
- prev_cursor: Optional[str] = None,
- include: Optional[
- Union[models.ListAttemptsInclude, models.ListAttemptsIncludeTypedDict]
- ] = None,
- order_by: Optional[
- models.ListAttemptsOrderBy
- ] = models.ListAttemptsOrderBy.TIME,
- direction: Optional[models.ListAttemptsDir] = models.ListAttemptsDir.DESC,
+ request: Union[models.ListAttemptsRequest, models.ListAttemptsRequestTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -64,23 +45,7 @@ def list(
When authenticated with Admin API Key, returns attempts across all tenants. Use `tenant_id` query parameter to filter by tenant.
- :param tenant_id: Filter attempts by tenant ID. If not provided, returns attempts from all tenants.
- :param event_id: Filter attempts by event ID.
- :param destination_id: Filter attempts by destination ID.
- :param status: Filter attempts by status.
- :param topic: Filter attempts by event topic(s). Can be specified multiple times or comma-separated.
- :param time_gte: Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format).
- :param time_lte: Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format).
- :param limit: Number of items per page (default 100, max 1000).
- :param next_cursor: Cursor for next page of results.
- :param prev_cursor: Cursor for previous page of results.
- :param include: Fields to include in the response. Can be specified multiple times or comma-separated.
- - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- - `event.data`: Include full event with payload data
- - `response_data`: Include response body and headers
-
- :param order_by: Field to sort by.
- :param direction: Sort direction.
+ :param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -96,21 +61,9 @@ def list(
else:
base_url = self._get_url(base_url, url_variables)
- request = models.ListAttemptsRequest(
- tenant_id=tenant_id,
- event_id=event_id,
- destination_id=destination_id,
- status=status,
- topic=topic,
- time_gte=time_gte,
- time_lte=time_lte,
- limit=limit,
- next_cursor=next_cursor,
- prev_cursor=prev_cursor,
- include=include,
- order_by=order_by,
- direction=direction,
- )
+ if not isinstance(request, BaseModel):
+ request = utils.unmarshal(request, models.ListAttemptsRequest)
+ request = cast(models.ListAttemptsRequest, request)
req = self._build_request(
method="GET",
@@ -168,19 +121,23 @@ def next_func() -> Optional[models.ListAttemptsResponse]:
return None
return self.list(
- tenant_id=tenant_id,
- event_id=event_id,
- destination_id=destination_id,
- status=status,
- topic=topic,
- time_gte=time_gte,
- time_lte=time_lte,
- limit=limit,
- next_cursor=next_cursor,
- prev_cursor=prev_cursor,
- include=include,
- order_by=order_by,
- direction=direction,
+ request=models.ListAttemptsRequest(
+ tenant_id=request.tenant_id,
+ event_id=request.event_id,
+ destination_id=request.destination_id,
+ status=request.status,
+ topic=request.topic,
+ time_gte=request.time_gte,
+ time_lte=request.time_lte,
+ time_gt=request.time_gt,
+ time_lt=request.time_lt,
+ limit=request.limit,
+ next_cursor=request.next_cursor,
+ prev_cursor=request.prev_cursor,
+ include=request.include,
+ order_by=request.order_by,
+ direction=request.direction,
+ ),
retries=retries,
)
@@ -212,25 +169,7 @@ def next_func() -> Optional[models.ListAttemptsResponse]:
async def list_async(
self,
*,
- tenant_id: Optional[str] = None,
- event_id: Optional[str] = None,
- destination_id: Optional[str] = None,
- status: Optional[models.ListAttemptsStatus] = None,
- topic: Optional[
- Union[models.ListAttemptsTopic, models.ListAttemptsTopicTypedDict]
- ] = None,
- time_gte: Optional[datetime] = None,
- time_lte: Optional[datetime] = None,
- limit: Optional[int] = 100,
- next_cursor: Optional[str] = None,
- prev_cursor: Optional[str] = None,
- include: Optional[
- Union[models.ListAttemptsInclude, models.ListAttemptsIncludeTypedDict]
- ] = None,
- order_by: Optional[
- models.ListAttemptsOrderBy
- ] = models.ListAttemptsOrderBy.TIME,
- direction: Optional[models.ListAttemptsDir] = models.ListAttemptsDir.DESC,
+ request: Union[models.ListAttemptsRequest, models.ListAttemptsRequestTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -244,23 +183,7 @@ async def list_async(
When authenticated with Admin API Key, returns attempts across all tenants. Use `tenant_id` query parameter to filter by tenant.
- :param tenant_id: Filter attempts by tenant ID. If not provided, returns attempts from all tenants.
- :param event_id: Filter attempts by event ID.
- :param destination_id: Filter attempts by destination ID.
- :param status: Filter attempts by status.
- :param topic: Filter attempts by event topic(s). Can be specified multiple times or comma-separated.
- :param time_gte: Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format).
- :param time_lte: Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format).
- :param limit: Number of items per page (default 100, max 1000).
- :param next_cursor: Cursor for next page of results.
- :param prev_cursor: Cursor for previous page of results.
- :param include: Fields to include in the response. Can be specified multiple times or comma-separated.
- - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- - `event.data`: Include full event with payload data
- - `response_data`: Include response body and headers
-
- :param order_by: Field to sort by.
- :param direction: Sort direction.
+ :param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -276,21 +199,9 @@ async def list_async(
else:
base_url = self._get_url(base_url, url_variables)
- request = models.ListAttemptsRequest(
- tenant_id=tenant_id,
- event_id=event_id,
- destination_id=destination_id,
- status=status,
- topic=topic,
- time_gte=time_gte,
- time_lte=time_lte,
- limit=limit,
- next_cursor=next_cursor,
- prev_cursor=prev_cursor,
- include=include,
- order_by=order_by,
- direction=direction,
- )
+ if not isinstance(request, BaseModel):
+ request = utils.unmarshal(request, models.ListAttemptsRequest)
+ request = cast(models.ListAttemptsRequest, request)
req = self._build_request_async(
method="GET",
@@ -348,19 +259,23 @@ def next_func() -> Optional[models.ListAttemptsResponse]:
return None
return self.list(
- tenant_id=tenant_id,
- event_id=event_id,
- destination_id=destination_id,
- status=status,
- topic=topic,
- time_gte=time_gte,
- time_lte=time_lte,
- limit=limit,
- next_cursor=next_cursor,
- prev_cursor=prev_cursor,
- include=include,
- order_by=order_by,
- direction=direction,
+ request=models.ListAttemptsRequest(
+ tenant_id=request.tenant_id,
+ event_id=request.event_id,
+ destination_id=request.destination_id,
+ status=request.status,
+ topic=request.topic,
+ time_gte=request.time_gte,
+ time_lte=request.time_lte,
+ time_gt=request.time_gt,
+ time_lt=request.time_lt,
+ limit=request.limit,
+ next_cursor=request.next_cursor,
+ prev_cursor=request.prev_cursor,
+ include=request.include,
+ order_by=request.order_by,
+ direction=request.direction,
+ ),
retries=retries,
)
@@ -410,7 +325,7 @@ def get(
:param attempt_id: The ID of the attempt.
- :param include: Fields to include in the response. Can be specified multiple times or comma-separated.
+ :param include: Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -519,7 +434,7 @@ async def get_async(
:param attempt_id: The ID of the attempt.
- :param include: Fields to include in the response. Can be specified multiple times or comma-separated.
+ :param include: Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -610,8 +525,7 @@ async def get_async(
def retry(
self,
*,
- event_id: str,
- destination_id: str,
+ request: Union[models.RetryRequest, models.RetryRequestTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -625,8 +539,7 @@ def retry(
When authenticated with Admin API Key, events from any tenant can be retried.
- :param event_id: The ID of the event to retry.
- :param destination_id: The ID of the destination to deliver to.
+ :param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -642,10 +555,9 @@ def retry(
else:
base_url = self._get_url(base_url, url_variables)
- request = models.RetryRequest(
- event_id=event_id,
- destination_id=destination_id,
- )
+ if not isinstance(request, BaseModel):
+ request = utils.unmarshal(request, models.RetryRequest)
+ request = cast(models.RetryRequest, request)
req = self._build_request(
method="POST",
@@ -716,8 +628,7 @@ def retry(
async def retry_async(
self,
*,
- event_id: str,
- destination_id: str,
+ request: Union[models.RetryRequest, models.RetryRequestTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -731,8 +642,7 @@ async def retry_async(
When authenticated with Admin API Key, events from any tenant can be retried.
- :param event_id: The ID of the event to retry.
- :param destination_id: The ID of the destination to deliver to.
+ :param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -748,10 +658,9 @@ async def retry_async(
else:
base_url = self._get_url(base_url, url_variables)
- request = models.RetryRequest(
- event_id=event_id,
- destination_id=destination_id,
- )
+ if not isinstance(request, BaseModel):
+ request = utils.unmarshal(request, models.RetryRequest)
+ request = cast(models.RetryRequest, request)
req = self._build_request_async(
method="POST",
diff --git a/sdks/outpost-python/src/outpost_sdk/destinations.py b/sdks/outpost-python/src/outpost_sdk/destinations.py
index cac34b75..d95d2dc5 100644
--- a/sdks/outpost-python/src/outpost_sdk/destinations.py
+++ b/sdks/outpost-python/src/outpost_sdk/destinations.py
@@ -1,13 +1,12 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from .basesdk import BaseSDK
-from datetime import datetime
from jsonpath import JSONPath
from outpost_sdk import errors, models, utils
from outpost_sdk._hooks import HookContext
-from outpost_sdk.types import OptionalNullable, UNSET
+from outpost_sdk.types import BaseModel, OptionalNullable, UNSET
from outpost_sdk.utils.unmarshal_json_response import unmarshal_json_response
-from typing import Any, Dict, List, Mapping, Optional, Union
+from typing import Any, Dict, List, Mapping, Optional, Union, cast
class Destinations(BaseSDK):
@@ -63,8 +62,8 @@ def list(
Return a list of the destinations for the tenant. The endpoint is not paged.
:param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication.
- :param type: Filter destinations by type(s).
- :param topics: Filter destinations by supported topic(s).
+ :param type: Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`).
+ :param topics: Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`).
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -175,8 +174,8 @@ async def list_async(
Return a list of the destinations for the tenant. The endpoint is not paged.
:param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication.
- :param type: Filter destinations by type(s).
- :param topics: Filter destinations by supported topic(s).
+ :param type: Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`).
+ :param topics: Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`).
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -265,7 +264,7 @@ def create(
self,
*,
tenant_id: str,
- params: Union[models.DestinationCreate, models.DestinationCreateTypedDict],
+ body: Union[models.DestinationCreate, models.DestinationCreateTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -276,7 +275,7 @@ def create(
Creates a new destination for the tenant. The request body structure depends on the `type`.
:param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication.
- :param params:
+ :param body:
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -294,7 +293,7 @@ def create(
request = models.CreateTenantDestinationRequest(
tenant_id=tenant_id,
- params=utils.get_pydantic_model(params, models.DestinationCreate),
+ body=utils.get_pydantic_model(body, models.DestinationCreate),
)
req = self._build_request(
@@ -311,7 +310,7 @@ def create(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.params, False, False, "json", models.DestinationCreate
+ request.body, False, False, "json", models.DestinationCreate
),
allow_empty_value=None,
timeout_ms=timeout_ms,
@@ -372,7 +371,7 @@ async def create_async(
self,
*,
tenant_id: str,
- params: Union[models.DestinationCreate, models.DestinationCreateTypedDict],
+ body: Union[models.DestinationCreate, models.DestinationCreateTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -383,7 +382,7 @@ async def create_async(
Creates a new destination for the tenant. The request body structure depends on the `type`.
:param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication.
- :param params:
+ :param body:
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -401,7 +400,7 @@ async def create_async(
request = models.CreateTenantDestinationRequest(
tenant_id=tenant_id,
- params=utils.get_pydantic_model(params, models.DestinationCreate),
+ body=utils.get_pydantic_model(body, models.DestinationCreate),
)
req = self._build_request_async(
@@ -418,7 +417,7 @@ async def create_async(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.params, False, False, "json", models.DestinationCreate
+ request.body, False, False, "json", models.DestinationCreate
),
allow_empty_value=None,
timeout_ms=timeout_ms,
@@ -678,7 +677,7 @@ def update(
*,
tenant_id: str,
destination_id: str,
- params: Union[models.DestinationUpdate, models.DestinationUpdateTypedDict],
+ body: Union[models.DestinationUpdate, models.DestinationUpdateTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -690,7 +689,7 @@ def update(
:param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication.
:param destination_id: The ID of the destination.
- :param params:
+ :param body:
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -709,7 +708,7 @@ def update(
request = models.UpdateTenantDestinationRequest(
tenant_id=tenant_id,
destination_id=destination_id,
- params=utils.get_pydantic_model(params, models.DestinationUpdate),
+ body=utils.get_pydantic_model(body, models.DestinationUpdate),
)
req = self._build_request(
@@ -726,7 +725,7 @@ def update(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.params, False, False, "json", models.DestinationUpdate
+ request.body, False, False, "json", models.DestinationUpdate
),
allow_empty_value=None,
timeout_ms=timeout_ms,
@@ -790,7 +789,7 @@ async def update_async(
*,
tenant_id: str,
destination_id: str,
- params: Union[models.DestinationUpdate, models.DestinationUpdateTypedDict],
+ body: Union[models.DestinationUpdate, models.DestinationUpdateTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -802,7 +801,7 @@ async def update_async(
:param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication.
:param destination_id: The ID of the destination.
- :param params:
+ :param body:
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -821,7 +820,7 @@ async def update_async(
request = models.UpdateTenantDestinationRequest(
tenant_id=tenant_id,
destination_id=destination_id,
- params=utils.get_pydantic_model(params, models.DestinationUpdate),
+ body=utils.get_pydantic_model(body, models.DestinationUpdate),
)
req = self._build_request_async(
@@ -838,7 +837,7 @@ async def update_async(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.params, False, False, "json", models.DestinationUpdate
+ request.body, False, False, "json", models.DestinationUpdate
),
allow_empty_value=None,
timeout_ms=timeout_ms,
@@ -1494,33 +1493,10 @@ async def disable_async(
def list_attempts(
self,
*,
- tenant_id: str,
- destination_id: str,
- event_id: Optional[str] = None,
- status: Optional[models.ListTenantDestinationAttemptsStatus] = None,
- topic: Optional[
- Union[
- models.ListTenantDestinationAttemptsTopic,
- models.ListTenantDestinationAttemptsTopicTypedDict,
- ]
- ] = None,
- time_gte: Optional[datetime] = None,
- time_lte: Optional[datetime] = None,
- limit: Optional[int] = 100,
- next_cursor: Optional[str] = None,
- prev_cursor: Optional[str] = None,
- include: Optional[
- Union[
- models.ListTenantDestinationAttemptsInclude,
- models.ListTenantDestinationAttemptsIncludeTypedDict,
- ]
- ] = None,
- order_by: Optional[
- models.ListTenantDestinationAttemptsOrderBy
- ] = models.ListTenantDestinationAttemptsOrderBy.TIME,
- direction: Optional[
- models.ListTenantDestinationAttemptsDir
- ] = models.ListTenantDestinationAttemptsDir.DESC,
+ request: Union[
+ models.ListTenantDestinationAttemptsRequest,
+ models.ListTenantDestinationAttemptsRequestTypedDict,
+ ],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -1530,23 +1506,7 @@ def list_attempts(
Retrieves a paginated list of attempts scoped to a specific destination.
- :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication.
- :param destination_id: The ID of the destination.
- :param event_id: Filter attempts by event ID.
- :param status: Filter attempts by status.
- :param topic: Filter attempts by event topic(s). Can be specified multiple times or comma-separated.
- :param time_gte: Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format).
- :param time_lte: Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format).
- :param limit: Number of items per page (default 100, max 1000).
- :param next_cursor: Cursor for next page of results.
- :param prev_cursor: Cursor for previous page of results.
- :param include: Fields to include in the response. Can be specified multiple times or comma-separated.
- - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- - `event.data`: Include full event with payload data
- - `response_data`: Include response body and headers
-
- :param order_by: Field to sort by.
- :param direction: Sort direction.
+ :param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1562,21 +1522,11 @@ def list_attempts(
else:
base_url = self._get_url(base_url, url_variables)
- request = models.ListTenantDestinationAttemptsRequest(
- tenant_id=tenant_id,
- destination_id=destination_id,
- event_id=event_id,
- status=status,
- topic=topic,
- time_gte=time_gte,
- time_lte=time_lte,
- limit=limit,
- next_cursor=next_cursor,
- prev_cursor=prev_cursor,
- include=include,
- order_by=order_by,
- direction=direction,
- )
+ if not isinstance(request, BaseModel):
+ request = utils.unmarshal(
+ request, models.ListTenantDestinationAttemptsRequest
+ )
+ request = cast(models.ListTenantDestinationAttemptsRequest, request)
req = self._build_request(
method="GET",
@@ -1634,19 +1584,23 @@ def next_func() -> Optional[models.ListTenantDestinationAttemptsResponse]:
return None
return self.list_attempts(
- tenant_id=tenant_id,
- destination_id=destination_id,
- event_id=event_id,
- status=status,
- topic=topic,
- time_gte=time_gte,
- time_lte=time_lte,
- limit=limit,
- next_cursor=next_cursor,
- prev_cursor=prev_cursor,
- include=include,
- order_by=order_by,
- direction=direction,
+ request=models.ListTenantDestinationAttemptsRequest(
+ tenant_id=request.tenant_id,
+ destination_id=request.destination_id,
+ event_id=request.event_id,
+ status=request.status,
+ topic=request.topic,
+ time_gte=request.time_gte,
+ time_lte=request.time_lte,
+ time_gt=request.time_gt,
+ time_lt=request.time_lt,
+ limit=request.limit,
+ next_cursor=request.next_cursor,
+ prev_cursor=request.prev_cursor,
+ include=request.include,
+ order_by=request.order_by,
+ direction=request.direction,
+ ),
retries=retries,
)
@@ -1681,33 +1635,10 @@ def next_func() -> Optional[models.ListTenantDestinationAttemptsResponse]:
async def list_attempts_async(
self,
*,
- tenant_id: str,
- destination_id: str,
- event_id: Optional[str] = None,
- status: Optional[models.ListTenantDestinationAttemptsStatus] = None,
- topic: Optional[
- Union[
- models.ListTenantDestinationAttemptsTopic,
- models.ListTenantDestinationAttemptsTopicTypedDict,
- ]
- ] = None,
- time_gte: Optional[datetime] = None,
- time_lte: Optional[datetime] = None,
- limit: Optional[int] = 100,
- next_cursor: Optional[str] = None,
- prev_cursor: Optional[str] = None,
- include: Optional[
- Union[
- models.ListTenantDestinationAttemptsInclude,
- models.ListTenantDestinationAttemptsIncludeTypedDict,
- ]
- ] = None,
- order_by: Optional[
- models.ListTenantDestinationAttemptsOrderBy
- ] = models.ListTenantDestinationAttemptsOrderBy.TIME,
- direction: Optional[
- models.ListTenantDestinationAttemptsDir
- ] = models.ListTenantDestinationAttemptsDir.DESC,
+ request: Union[
+ models.ListTenantDestinationAttemptsRequest,
+ models.ListTenantDestinationAttemptsRequestTypedDict,
+ ],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -1717,23 +1648,7 @@ async def list_attempts_async(
Retrieves a paginated list of attempts scoped to a specific destination.
- :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication.
- :param destination_id: The ID of the destination.
- :param event_id: Filter attempts by event ID.
- :param status: Filter attempts by status.
- :param topic: Filter attempts by event topic(s). Can be specified multiple times or comma-separated.
- :param time_gte: Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format).
- :param time_lte: Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format).
- :param limit: Number of items per page (default 100, max 1000).
- :param next_cursor: Cursor for next page of results.
- :param prev_cursor: Cursor for previous page of results.
- :param include: Fields to include in the response. Can be specified multiple times or comma-separated.
- - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- - `event.data`: Include full event with payload data
- - `response_data`: Include response body and headers
-
- :param order_by: Field to sort by.
- :param direction: Sort direction.
+ :param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1749,21 +1664,11 @@ async def list_attempts_async(
else:
base_url = self._get_url(base_url, url_variables)
- request = models.ListTenantDestinationAttemptsRequest(
- tenant_id=tenant_id,
- destination_id=destination_id,
- event_id=event_id,
- status=status,
- topic=topic,
- time_gte=time_gte,
- time_lte=time_lte,
- limit=limit,
- next_cursor=next_cursor,
- prev_cursor=prev_cursor,
- include=include,
- order_by=order_by,
- direction=direction,
- )
+ if not isinstance(request, BaseModel):
+ request = utils.unmarshal(
+ request, models.ListTenantDestinationAttemptsRequest
+ )
+ request = cast(models.ListTenantDestinationAttemptsRequest, request)
req = self._build_request_async(
method="GET",
@@ -1821,19 +1726,23 @@ def next_func() -> Optional[models.ListTenantDestinationAttemptsResponse]:
return None
return self.list_attempts(
- tenant_id=tenant_id,
- destination_id=destination_id,
- event_id=event_id,
- status=status,
- topic=topic,
- time_gte=time_gte,
- time_lte=time_lte,
- limit=limit,
- next_cursor=next_cursor,
- prev_cursor=prev_cursor,
- include=include,
- order_by=order_by,
- direction=direction,
+ request=models.ListTenantDestinationAttemptsRequest(
+ tenant_id=request.tenant_id,
+ destination_id=request.destination_id,
+ event_id=request.event_id,
+ status=request.status,
+ topic=request.topic,
+ time_gte=request.time_gte,
+ time_lte=request.time_lte,
+ time_gt=request.time_gt,
+ time_lt=request.time_lt,
+ limit=request.limit,
+ next_cursor=request.next_cursor,
+ prev_cursor=request.prev_cursor,
+ include=request.include,
+ order_by=request.order_by,
+ direction=request.direction,
+ ),
retries=retries,
)
@@ -1889,7 +1798,7 @@ def get_attempt(
:param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication.
:param destination_id: The ID of the destination.
:param attempt_id: The ID of the attempt.
- :param include: Fields to include in the response. Can be specified multiple times or comma-separated.
+ :param include: Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -2003,7 +1912,7 @@ async def get_attempt_async(
:param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication.
:param destination_id: The ID of the destination.
:param attempt_id: The ID of the attempt.
- :param include: Fields to include in the response. Can be specified multiple times or comma-separated.
+ :param include: Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
diff --git a/sdks/outpost-python/src/outpost_sdk/events.py b/sdks/outpost-python/src/outpost_sdk/events.py
index bcc4388b..27ac6549 100644
--- a/sdks/outpost-python/src/outpost_sdk/events.py
+++ b/sdks/outpost-python/src/outpost_sdk/events.py
@@ -1,13 +1,12 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from .basesdk import BaseSDK
-from datetime import datetime
from jsonpath import JSONPath
from outpost_sdk import errors, models, utils
from outpost_sdk._hooks import HookContext
-from outpost_sdk.types import OptionalNullable, UNSET
+from outpost_sdk.types import BaseModel, OptionalNullable, UNSET
from outpost_sdk.utils.unmarshal_json_response import unmarshal_json_response
-from typing import Any, Dict, List, Mapping, Optional, Union
+from typing import Any, Dict, List, Mapping, Optional, Union, cast
class Events(BaseSDK):
@@ -16,17 +15,7 @@ class Events(BaseSDK):
def list(
self,
*,
- tenant_id: Optional[str] = None,
- topic: Optional[
- Union[models.ListEventsTopic, models.ListEventsTopicTypedDict]
- ] = None,
- time_gte: Optional[datetime] = None,
- time_lte: Optional[datetime] = None,
- limit: Optional[int] = 100,
- next_cursor: Optional[str] = None,
- prev_cursor: Optional[str] = None,
- order_by: Optional[models.ListEventsOrderBy] = models.ListEventsOrderBy.TIME,
- direction: Optional[models.ListEventsDir] = models.ListEventsDir.DESC,
+ request: Union[models.ListEventsRequest, models.ListEventsRequestTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -40,15 +29,7 @@ def list(
When authenticated with Admin API Key, returns events across all tenants. Use `tenant_id` query parameter to filter by tenant.
- :param tenant_id: Filter events by tenant ID. If not provided, returns events from all tenants.
- :param topic: Filter events by topic(s). Can be specified multiple times or comma-separated.
- :param time_gte: Filter events with time >= value (RFC3339 or YYYY-MM-DD format).
- :param time_lte: Filter events with time <= value (RFC3339 or YYYY-MM-DD format).
- :param limit: Number of items per page (default 100, max 1000).
- :param next_cursor: Cursor for next page of results.
- :param prev_cursor: Cursor for previous page of results.
- :param order_by: Field to sort by.
- :param direction: Sort direction.
+ :param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -64,17 +45,9 @@ def list(
else:
base_url = self._get_url(base_url, url_variables)
- request = models.ListEventsRequest(
- tenant_id=tenant_id,
- topic=topic,
- time_gte=time_gte,
- time_lte=time_lte,
- limit=limit,
- next_cursor=next_cursor,
- prev_cursor=prev_cursor,
- order_by=order_by,
- direction=direction,
- )
+ if not isinstance(request, BaseModel):
+ request = utils.unmarshal(request, models.ListEventsRequest)
+ request = cast(models.ListEventsRequest, request)
req = self._build_request(
method="GET",
@@ -132,15 +105,20 @@ def next_func() -> Optional[models.ListEventsResponse]:
return None
return self.list(
- tenant_id=tenant_id,
- topic=topic,
- time_gte=time_gte,
- time_lte=time_lte,
- limit=limit,
- next_cursor=next_cursor,
- prev_cursor=prev_cursor,
- order_by=order_by,
- direction=direction,
+ request=models.ListEventsRequest(
+ id=request.id,
+ tenant_id=request.tenant_id,
+ topic=request.topic,
+ time_gte=request.time_gte,
+ time_lte=request.time_lte,
+ time_gt=request.time_gt,
+ time_lt=request.time_lt,
+ limit=request.limit,
+ next_cursor=request.next_cursor,
+ prev_cursor=request.prev_cursor,
+ order_by=request.order_by,
+ direction=request.direction,
+ ),
retries=retries,
)
@@ -172,17 +150,7 @@ def next_func() -> Optional[models.ListEventsResponse]:
async def list_async(
self,
*,
- tenant_id: Optional[str] = None,
- topic: Optional[
- Union[models.ListEventsTopic, models.ListEventsTopicTypedDict]
- ] = None,
- time_gte: Optional[datetime] = None,
- time_lte: Optional[datetime] = None,
- limit: Optional[int] = 100,
- next_cursor: Optional[str] = None,
- prev_cursor: Optional[str] = None,
- order_by: Optional[models.ListEventsOrderBy] = models.ListEventsOrderBy.TIME,
- direction: Optional[models.ListEventsDir] = models.ListEventsDir.DESC,
+ request: Union[models.ListEventsRequest, models.ListEventsRequestTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -196,15 +164,7 @@ async def list_async(
When authenticated with Admin API Key, returns events across all tenants. Use `tenant_id` query parameter to filter by tenant.
- :param tenant_id: Filter events by tenant ID. If not provided, returns events from all tenants.
- :param topic: Filter events by topic(s). Can be specified multiple times or comma-separated.
- :param time_gte: Filter events with time >= value (RFC3339 or YYYY-MM-DD format).
- :param time_lte: Filter events with time <= value (RFC3339 or YYYY-MM-DD format).
- :param limit: Number of items per page (default 100, max 1000).
- :param next_cursor: Cursor for next page of results.
- :param prev_cursor: Cursor for previous page of results.
- :param order_by: Field to sort by.
- :param direction: Sort direction.
+ :param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -220,17 +180,9 @@ async def list_async(
else:
base_url = self._get_url(base_url, url_variables)
- request = models.ListEventsRequest(
- tenant_id=tenant_id,
- topic=topic,
- time_gte=time_gte,
- time_lte=time_lte,
- limit=limit,
- next_cursor=next_cursor,
- prev_cursor=prev_cursor,
- order_by=order_by,
- direction=direction,
- )
+ if not isinstance(request, BaseModel):
+ request = utils.unmarshal(request, models.ListEventsRequest)
+ request = cast(models.ListEventsRequest, request)
req = self._build_request_async(
method="GET",
@@ -288,15 +240,20 @@ def next_func() -> Optional[models.ListEventsResponse]:
return None
return self.list(
- tenant_id=tenant_id,
- topic=topic,
- time_gte=time_gte,
- time_lte=time_lte,
- limit=limit,
- next_cursor=next_cursor,
- prev_cursor=prev_cursor,
- order_by=order_by,
- direction=direction,
+ request=models.ListEventsRequest(
+ id=request.id,
+ tenant_id=request.tenant_id,
+ topic=request.topic,
+ time_gte=request.time_gte,
+ time_lte=request.time_lte,
+ time_gt=request.time_gt,
+ time_lt=request.time_lt,
+ limit=request.limit,
+ next_cursor=request.next_cursor,
+ prev_cursor=request.prev_cursor,
+ order_by=request.order_by,
+ direction=request.direction,
+ ),
retries=retries,
)
diff --git a/sdks/outpost-python/src/outpost_sdk/models/__init__.py b/sdks/outpost-python/src/outpost_sdk/models/__init__.py
index 89b0bb1a..23477ccc 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/__init__.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/__init__.py
@@ -226,7 +226,11 @@
)
from .hookdeckcredentials import HookdeckCredentials, HookdeckCredentialsTypedDict
from .listattemptsop import (
+ DestinationID,
+ DestinationIDTypedDict,
ListAttemptsDir,
+ ListAttemptsEventID,
+ ListAttemptsEventIDTypedDict,
ListAttemptsInclude,
ListAttemptsIncludeTypedDict,
ListAttemptsOrderBy,
@@ -235,21 +239,29 @@
ListAttemptsResponse,
ListAttemptsResponseTypedDict,
ListAttemptsStatus,
+ ListAttemptsTenantID,
+ ListAttemptsTenantIDTypedDict,
ListAttemptsTopic,
ListAttemptsTopicTypedDict,
)
from .listeventsop import (
ListEventsDir,
+ ListEventsID,
+ ListEventsIDTypedDict,
ListEventsOrderBy,
ListEventsRequest,
ListEventsRequestTypedDict,
ListEventsResponse,
ListEventsResponseTypedDict,
+ ListEventsTenantID,
+ ListEventsTenantIDTypedDict,
ListEventsTopic,
ListEventsTopicTypedDict,
)
from .listtenantdestinationattemptsop import (
ListTenantDestinationAttemptsDir,
+ ListTenantDestinationAttemptsEventID,
+ ListTenantDestinationAttemptsEventIDTypedDict,
ListTenantDestinationAttemptsInclude,
ListTenantDestinationAttemptsIncludeTypedDict,
ListTenantDestinationAttemptsOrderBy,
@@ -271,6 +283,8 @@
)
from .listtenantsop import (
ListTenantsDir,
+ ListTenantsID,
+ ListTenantsIDTypedDict,
ListTenantsRequest,
ListTenantsRequestTypedDict,
ListTenantsResponse,
@@ -379,6 +393,8 @@
"DestinationHookdeck",
"DestinationHookdeckType",
"DestinationHookdeckTypedDict",
+ "DestinationID",
+ "DestinationIDTypedDict",
"DestinationRabbitMQ",
"DestinationRabbitMQType",
"DestinationRabbitMQTypedDict",
@@ -457,6 +473,8 @@
"HookdeckCredentials",
"HookdeckCredentialsTypedDict",
"ListAttemptsDir",
+ "ListAttemptsEventID",
+ "ListAttemptsEventIDTypedDict",
"ListAttemptsInclude",
"ListAttemptsIncludeTypedDict",
"ListAttemptsOrderBy",
@@ -465,17 +483,25 @@
"ListAttemptsResponse",
"ListAttemptsResponseTypedDict",
"ListAttemptsStatus",
+ "ListAttemptsTenantID",
+ "ListAttemptsTenantIDTypedDict",
"ListAttemptsTopic",
"ListAttemptsTopicTypedDict",
"ListEventsDir",
+ "ListEventsID",
+ "ListEventsIDTypedDict",
"ListEventsOrderBy",
"ListEventsRequest",
"ListEventsRequestTypedDict",
"ListEventsResponse",
"ListEventsResponseTypedDict",
+ "ListEventsTenantID",
+ "ListEventsTenantIDTypedDict",
"ListEventsTopic",
"ListEventsTopicTypedDict",
"ListTenantDestinationAttemptsDir",
+ "ListTenantDestinationAttemptsEventID",
+ "ListTenantDestinationAttemptsEventIDTypedDict",
"ListTenantDestinationAttemptsInclude",
"ListTenantDestinationAttemptsIncludeTypedDict",
"ListTenantDestinationAttemptsOrderBy",
@@ -493,6 +519,8 @@
"ListTenantDestinationsType",
"ListTenantDestinationsTypeTypedDict",
"ListTenantsDir",
+ "ListTenantsID",
+ "ListTenantsIDTypedDict",
"ListTenantsRequest",
"ListTenantsRequestTypedDict",
"ListTenantsResponse",
@@ -697,7 +725,11 @@
"WorkersTypedDict": ".healthcheckop",
"HookdeckCredentials": ".hookdeckcredentials",
"HookdeckCredentialsTypedDict": ".hookdeckcredentials",
+ "DestinationID": ".listattemptsop",
+ "DestinationIDTypedDict": ".listattemptsop",
"ListAttemptsDir": ".listattemptsop",
+ "ListAttemptsEventID": ".listattemptsop",
+ "ListAttemptsEventIDTypedDict": ".listattemptsop",
"ListAttemptsInclude": ".listattemptsop",
"ListAttemptsIncludeTypedDict": ".listattemptsop",
"ListAttemptsOrderBy": ".listattemptsop",
@@ -706,17 +738,25 @@
"ListAttemptsResponse": ".listattemptsop",
"ListAttemptsResponseTypedDict": ".listattemptsop",
"ListAttemptsStatus": ".listattemptsop",
+ "ListAttemptsTenantID": ".listattemptsop",
+ "ListAttemptsTenantIDTypedDict": ".listattemptsop",
"ListAttemptsTopic": ".listattemptsop",
"ListAttemptsTopicTypedDict": ".listattemptsop",
"ListEventsDir": ".listeventsop",
+ "ListEventsID": ".listeventsop",
+ "ListEventsIDTypedDict": ".listeventsop",
"ListEventsOrderBy": ".listeventsop",
"ListEventsRequest": ".listeventsop",
"ListEventsRequestTypedDict": ".listeventsop",
"ListEventsResponse": ".listeventsop",
"ListEventsResponseTypedDict": ".listeventsop",
+ "ListEventsTenantID": ".listeventsop",
+ "ListEventsTenantIDTypedDict": ".listeventsop",
"ListEventsTopic": ".listeventsop",
"ListEventsTopicTypedDict": ".listeventsop",
"ListTenantDestinationAttemptsDir": ".listtenantdestinationattemptsop",
+ "ListTenantDestinationAttemptsEventID": ".listtenantdestinationattemptsop",
+ "ListTenantDestinationAttemptsEventIDTypedDict": ".listtenantdestinationattemptsop",
"ListTenantDestinationAttemptsInclude": ".listtenantdestinationattemptsop",
"ListTenantDestinationAttemptsIncludeTypedDict": ".listtenantdestinationattemptsop",
"ListTenantDestinationAttemptsOrderBy": ".listtenantdestinationattemptsop",
@@ -734,6 +774,8 @@
"ListTenantDestinationsType": ".listtenantdestinationsop",
"ListTenantDestinationsTypeTypedDict": ".listtenantdestinationsop",
"ListTenantsDir": ".listtenantsop",
+ "ListTenantsID": ".listtenantsop",
+ "ListTenantsIDTypedDict": ".listtenantsop",
"ListTenantsRequest": ".listtenantsop",
"ListTenantsRequestTypedDict": ".listtenantsop",
"ListTenantsResponse": ".listtenantsop",
diff --git a/sdks/outpost-python/src/outpost_sdk/models/attempt.py b/sdks/outpost-python/src/outpost_sdk/models/attempt.py
index 41e7af65..c13f6251 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/attempt.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/attempt.py
@@ -113,7 +113,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/attemptpaginatedresult.py b/sdks/outpost-python/src/outpost_sdk/models/attemptpaginatedresult.py
index be2def76..15c8d8b9 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/attemptpaginatedresult.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/attemptpaginatedresult.py
@@ -35,7 +35,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/awskinesisconfig.py b/sdks/outpost-python/src/outpost_sdk/models/awskinesisconfig.py
index e4d4c6e0..0df6bfba 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/awskinesisconfig.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/awskinesisconfig.py
@@ -39,7 +39,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/awskinesiscredentials.py b/sdks/outpost-python/src/outpost_sdk/models/awskinesiscredentials.py
index fd20ba04..eff5f62c 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/awskinesiscredentials.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/awskinesiscredentials.py
@@ -34,7 +34,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/awss3config.py b/sdks/outpost-python/src/outpost_sdk/models/awss3config.py
index 22d37583..2dccd8c4 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/awss3config.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/awss3config.py
@@ -39,7 +39,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/awss3credentials.py b/sdks/outpost-python/src/outpost_sdk/models/awss3credentials.py
index 9a145cd9..7d36bb72 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/awss3credentials.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/awss3credentials.py
@@ -34,7 +34,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/awssqsconfig.py b/sdks/outpost-python/src/outpost_sdk/models/awssqsconfig.py
index 4de8ead7..46d05210 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/awssqsconfig.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/awssqsconfig.py
@@ -29,7 +29,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/awssqscredentials.py b/sdks/outpost-python/src/outpost_sdk/models/awssqscredentials.py
index 56f871ee..ea84c37e 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/awssqscredentials.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/awssqscredentials.py
@@ -34,7 +34,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/createtenantdestinationop.py b/sdks/outpost-python/src/outpost_sdk/models/createtenantdestinationop.py
index c8935d55..023ef2ca 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/createtenantdestinationop.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/createtenantdestinationop.py
@@ -10,7 +10,7 @@
class CreateTenantDestinationRequestTypedDict(TypedDict):
tenant_id: str
r"""The ID of the tenant. Required when using AdminApiKey authentication."""
- params: DestinationCreateTypedDict
+ body: DestinationCreateTypedDict
class CreateTenantDestinationRequest(BaseModel):
@@ -19,7 +19,7 @@ class CreateTenantDestinationRequest(BaseModel):
]
r"""The ID of the tenant. Required when using AdminApiKey authentication."""
- params: Annotated[
+ body: Annotated[
DestinationCreate,
FieldMetadata(request=RequestMetadata(media_type="application/json")),
]
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationawskinesis.py b/sdks/outpost-python/src/outpost_sdk/models/destinationawskinesis.py
index 60b39ff4..ea044a52 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationawskinesis.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationawskinesis.py
@@ -115,7 +115,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationawss3.py b/sdks/outpost-python/src/outpost_sdk/models/destinationawss3.py
index 87c5843d..21dea6c0 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationawss3.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationawss3.py
@@ -115,7 +115,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationawssqs.py b/sdks/outpost-python/src/outpost_sdk/models/destinationawssqs.py
index db172415..22eb4172 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationawssqs.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationawssqs.py
@@ -115,7 +115,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationazureservicebus.py b/sdks/outpost-python/src/outpost_sdk/models/destinationazureservicebus.py
index 66aa7579..0867f221 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationazureservicebus.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationazureservicebus.py
@@ -125,7 +125,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawskinesis.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawskinesis.py
index d69c8b92..c47a54b7 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawskinesis.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawskinesis.py
@@ -85,7 +85,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawss3.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawss3.py
index 1c7e3125..f905ab28 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawss3.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawss3.py
@@ -85,7 +85,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawssqs.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawssqs.py
index d8b02006..3cef8972 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawssqs.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawssqs.py
@@ -85,7 +85,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateazureservicebus.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateazureservicebus.py
index 2ecc1ff5..8e6807b1 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateazureservicebus.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateazureservicebus.py
@@ -88,7 +88,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreategcppubsub.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreategcppubsub.py
index 9aa8bd40..9efd0c74 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreategcppubsub.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreategcppubsub.py
@@ -85,7 +85,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreatehookdeck.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreatehookdeck.py
index cb68fe07..34188753 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreatehookdeck.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreatehookdeck.py
@@ -86,7 +86,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreaterabbitmq.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreaterabbitmq.py
index ddc99534..0eee5133 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreaterabbitmq.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreaterabbitmq.py
@@ -85,7 +85,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreatewebhook.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreatewebhook.py
index 67578334..cb64ebb4 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreatewebhook.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreatewebhook.py
@@ -87,7 +87,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationgcppubsub.py b/sdks/outpost-python/src/outpost_sdk/models/destinationgcppubsub.py
index 7384c655..6f214924 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationgcppubsub.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationgcppubsub.py
@@ -115,7 +115,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationhookdeck.py b/sdks/outpost-python/src/outpost_sdk/models/destinationhookdeck.py
index 3a236065..7497b4bb 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationhookdeck.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationhookdeck.py
@@ -122,7 +122,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationrabbitmq.py b/sdks/outpost-python/src/outpost_sdk/models/destinationrabbitmq.py
index 49431385..9535cfec 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationrabbitmq.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationrabbitmq.py
@@ -115,7 +115,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationschemafield.py b/sdks/outpost-python/src/outpost_sdk/models/destinationschemafield.py
index 87273896..00ea7fb1 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationschemafield.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationschemafield.py
@@ -72,7 +72,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationtypeschema.py b/sdks/outpost-python/src/outpost_sdk/models/destinationtypeschema.py
index d6ac3382..e422d62e 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationtypeschema.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationtypeschema.py
@@ -72,7 +72,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawskinesis.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawskinesis.py
index 5e32703c..924e6a57 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawskinesis.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawskinesis.py
@@ -77,7 +77,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawss3.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawss3.py
index 6c181b77..9d9541f1 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawss3.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawss3.py
@@ -77,7 +77,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawssqs.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawssqs.py
index 6bb0ec78..b30d690d 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawssqs.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawssqs.py
@@ -77,7 +77,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateazureservicebus.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateazureservicebus.py
index ab9fdb36..c06379b0 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateazureservicebus.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateazureservicebus.py
@@ -80,7 +80,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdategcppubsub.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdategcppubsub.py
index 89008066..f0a9bb4d 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdategcppubsub.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdategcppubsub.py
@@ -77,7 +77,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdatehookdeck.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdatehookdeck.py
index 912f5554..43336d80 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdatehookdeck.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdatehookdeck.py
@@ -76,7 +76,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdaterabbitmq.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdaterabbitmq.py
index b127791a..9f953d80 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdaterabbitmq.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdaterabbitmq.py
@@ -77,7 +77,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdatewebhook.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdatewebhook.py
index 50a8b087..e79cbee6 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdatewebhook.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdatewebhook.py
@@ -80,7 +80,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationwebhook.py b/sdks/outpost-python/src/outpost_sdk/models/destinationwebhook.py
index 836640cb..e75c1461 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/destinationwebhook.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/destinationwebhook.py
@@ -115,7 +115,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/event.py b/sdks/outpost-python/src/outpost_sdk/models/event.py
index 4d7c72e4..7320fd22 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/event.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/event.py
@@ -58,7 +58,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/eventfull.py b/sdks/outpost-python/src/outpost_sdk/models/eventfull.py
index 63e4e642..8db47be8 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/eventfull.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/eventfull.py
@@ -76,7 +76,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/eventpaginatedresult.py b/sdks/outpost-python/src/outpost_sdk/models/eventpaginatedresult.py
index c0144dfa..c1815a38 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/eventpaginatedresult.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/eventpaginatedresult.py
@@ -35,7 +35,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/eventsummary.py b/sdks/outpost-python/src/outpost_sdk/models/eventsummary.py
index 8647a8d2..1609f1df 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/eventsummary.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/eventsummary.py
@@ -70,7 +70,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/gcppubsubconfig.py b/sdks/outpost-python/src/outpost_sdk/models/gcppubsubconfig.py
index 8c8e730d..7a952ba7 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/gcppubsubconfig.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/gcppubsubconfig.py
@@ -34,7 +34,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/getattemptop.py b/sdks/outpost-python/src/outpost_sdk/models/getattemptop.py
index 95593fe7..2977650b 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/getattemptop.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/getattemptop.py
@@ -11,7 +11,7 @@
GetAttemptIncludeTypedDict = TypeAliasType(
"GetAttemptIncludeTypedDict", Union[str, List[str]]
)
-r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -20,7 +20,7 @@
GetAttemptInclude = TypeAliasType("GetAttemptInclude", Union[str, List[str]])
-r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -32,7 +32,7 @@ class GetAttemptRequestTypedDict(TypedDict):
attempt_id: str
r"""The ID of the attempt."""
include: NotRequired[GetAttemptIncludeTypedDict]
- r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+ r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -50,7 +50,7 @@ class GetAttemptRequest(BaseModel):
Optional[GetAttemptInclude],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+ r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -65,7 +65,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/gettenantdestinationattemptop.py b/sdks/outpost-python/src/outpost_sdk/models/gettenantdestinationattemptop.py
index 90f1c4cb..72e267ab 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/gettenantdestinationattemptop.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/gettenantdestinationattemptop.py
@@ -11,7 +11,7 @@
GetTenantDestinationAttemptIncludeTypedDict = TypeAliasType(
"GetTenantDestinationAttemptIncludeTypedDict", Union[str, List[str]]
)
-r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -22,7 +22,7 @@
GetTenantDestinationAttemptInclude = TypeAliasType(
"GetTenantDestinationAttemptInclude", Union[str, List[str]]
)
-r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -38,7 +38,7 @@ class GetTenantDestinationAttemptRequestTypedDict(TypedDict):
attempt_id: str
r"""The ID of the attempt."""
include: NotRequired[GetTenantDestinationAttemptIncludeTypedDict]
- r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+ r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -66,7 +66,7 @@ class GetTenantDestinationAttemptRequest(BaseModel):
Optional[GetTenantDestinationAttemptInclude],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+ r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -81,7 +81,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/gettenantportalurlop.py b/sdks/outpost-python/src/outpost_sdk/models/gettenantportalurlop.py
index fbbd4f95..71ea2b5b 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/gettenantportalurlop.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/gettenantportalurlop.py
@@ -43,7 +43,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/listattemptsop.py b/sdks/outpost-python/src/outpost_sdk/models/listattemptsop.py
index 281606ed..1e29a0ba 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/listattemptsop.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/listattemptsop.py
@@ -15,6 +15,42 @@
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
+ListAttemptsTenantIDTypedDict = TypeAliasType(
+ "ListAttemptsTenantIDTypedDict", Union[str, List[str]]
+)
+r"""Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
+When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
+If not provided with API key auth, returns attempts from all tenants.
+
+"""
+
+
+ListAttemptsTenantID = TypeAliasType("ListAttemptsTenantID", Union[str, List[str]])
+r"""Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
+When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
+If not provided with API key auth, returns attempts from all tenants.
+
+"""
+
+
+ListAttemptsEventIDTypedDict = TypeAliasType(
+ "ListAttemptsEventIDTypedDict", Union[str, List[str]]
+)
+r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`)."""
+
+
+ListAttemptsEventID = TypeAliasType("ListAttemptsEventID", Union[str, List[str]])
+r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`)."""
+
+
+DestinationIDTypedDict = TypeAliasType("DestinationIDTypedDict", Union[str, List[str]])
+r"""Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`)."""
+
+
+DestinationID = TypeAliasType("DestinationID", Union[str, List[str]])
+r"""Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`)."""
+
+
class ListAttemptsStatus(str, Enum):
r"""Filter attempts by status."""
@@ -25,17 +61,17 @@ class ListAttemptsStatus(str, Enum):
ListAttemptsTopicTypedDict = TypeAliasType(
"ListAttemptsTopicTypedDict", Union[str, List[str]]
)
-r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated."""
+r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`)."""
ListAttemptsTopic = TypeAliasType("ListAttemptsTopic", Union[str, List[str]])
-r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated."""
+r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`)."""
ListAttemptsIncludeTypedDict = TypeAliasType(
"ListAttemptsIncludeTypedDict", Union[str, List[str]]
)
-r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -44,7 +80,7 @@ class ListAttemptsStatus(str, Enum):
ListAttemptsInclude = TypeAliasType("ListAttemptsInclude", Union[str, List[str]])
-r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -66,20 +102,28 @@ class ListAttemptsDir(str, Enum):
class ListAttemptsRequestTypedDict(TypedDict):
- tenant_id: NotRequired[str]
- r"""Filter attempts by tenant ID. If not provided, returns attempts from all tenants."""
- event_id: NotRequired[str]
- r"""Filter attempts by event ID."""
- destination_id: NotRequired[str]
- r"""Filter attempts by destination ID."""
+ tenant_id: NotRequired[ListAttemptsTenantIDTypedDict]
+ r"""Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
+ When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
+ If not provided with API key auth, returns attempts from all tenants.
+
+ """
+ event_id: NotRequired[ListAttemptsEventIDTypedDict]
+ r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`)."""
+ destination_id: NotRequired[DestinationIDTypedDict]
+ r"""Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`)."""
status: NotRequired[ListAttemptsStatus]
r"""Filter attempts by status."""
topic: NotRequired[ListAttemptsTopicTypedDict]
- r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated."""
+ r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`)."""
time_gte: NotRequired[datetime]
r"""Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format)."""
time_lte: NotRequired[datetime]
r"""Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format)."""
+ time_gt: NotRequired[datetime]
+ r"""Filter attempts by event time > value (RFC3339 or YYYY-MM-DD format)."""
+ time_lt: NotRequired[datetime]
+ r"""Filter attempts by event time < value (RFC3339 or YYYY-MM-DD format)."""
limit: NotRequired[int]
r"""Number of items per page (default 100, max 1000)."""
next_cursor: NotRequired[str]
@@ -87,7 +131,7 @@ class ListAttemptsRequestTypedDict(TypedDict):
prev_cursor: NotRequired[str]
r"""Cursor for previous page of results."""
include: NotRequired[ListAttemptsIncludeTypedDict]
- r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+ r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -101,22 +145,26 @@ class ListAttemptsRequestTypedDict(TypedDict):
class ListAttemptsRequest(BaseModel):
tenant_id: Annotated[
- Optional[str],
+ Optional[ListAttemptsTenantID],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Filter attempts by tenant ID. If not provided, returns attempts from all tenants."""
+ r"""Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
+ When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
+ If not provided with API key auth, returns attempts from all tenants.
+
+ """
event_id: Annotated[
- Optional[str],
+ Optional[ListAttemptsEventID],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Filter attempts by event ID."""
+ r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`)."""
destination_id: Annotated[
- Optional[str],
+ Optional[DestinationID],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Filter attempts by destination ID."""
+ r"""Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`)."""
status: Annotated[
Optional[ListAttemptsStatus],
@@ -128,7 +176,7 @@ class ListAttemptsRequest(BaseModel):
Optional[ListAttemptsTopic],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated."""
+ r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`)."""
time_gte: Annotated[
Optional[datetime],
@@ -144,6 +192,20 @@ class ListAttemptsRequest(BaseModel):
] = None
r"""Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format)."""
+ time_gt: Annotated[
+ Optional[datetime],
+ pydantic.Field(alias="time[gt]"),
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
+ ] = None
+ r"""Filter attempts by event time > value (RFC3339 or YYYY-MM-DD format)."""
+
+ time_lt: Annotated[
+ Optional[datetime],
+ pydantic.Field(alias="time[lt]"),
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
+ ] = None
+ r"""Filter attempts by event time < value (RFC3339 or YYYY-MM-DD format)."""
+
limit: Annotated[
Optional[int],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -168,7 +230,7 @@ class ListAttemptsRequest(BaseModel):
Optional[ListAttemptsInclude],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+ r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -199,6 +261,8 @@ def serialize_model(self, handler):
"topic",
"time[gte]",
"time[lte]",
+ "time[gt]",
+ "time[lt]",
"limit",
"next_cursor",
"prev_cursor",
@@ -212,7 +276,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/listeventsop.py b/sdks/outpost-python/src/outpost_sdk/models/listeventsop.py
index 79a69384..41b53192 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/listeventsop.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/listeventsop.py
@@ -12,14 +12,40 @@
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
+ListEventsIDTypedDict = TypeAliasType("ListEventsIDTypedDict", Union[str, List[str]])
+r"""Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`)."""
+
+
+ListEventsID = TypeAliasType("ListEventsID", Union[str, List[str]])
+r"""Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`)."""
+
+
+ListEventsTenantIDTypedDict = TypeAliasType(
+ "ListEventsTenantIDTypedDict", Union[str, List[str]]
+)
+r"""Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
+When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
+If not provided with API key auth, returns events from all tenants.
+
+"""
+
+
+ListEventsTenantID = TypeAliasType("ListEventsTenantID", Union[str, List[str]])
+r"""Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
+When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
+If not provided with API key auth, returns events from all tenants.
+
+"""
+
+
ListEventsTopicTypedDict = TypeAliasType(
"ListEventsTopicTypedDict", Union[str, List[str]]
)
-r"""Filter events by topic(s). Can be specified multiple times or comma-separated."""
+r"""Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`)."""
ListEventsTopic = TypeAliasType("ListEventsTopic", Union[str, List[str]])
-r"""Filter events by topic(s). Can be specified multiple times or comma-separated."""
+r"""Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`)."""
class ListEventsOrderBy(str, Enum):
@@ -36,14 +62,24 @@ class ListEventsDir(str, Enum):
class ListEventsRequestTypedDict(TypedDict):
- tenant_id: NotRequired[str]
- r"""Filter events by tenant ID. If not provided, returns events from all tenants."""
+ id: NotRequired[ListEventsIDTypedDict]
+ r"""Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`)."""
+ tenant_id: NotRequired[ListEventsTenantIDTypedDict]
+ r"""Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
+ When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
+ If not provided with API key auth, returns events from all tenants.
+
+ """
topic: NotRequired[ListEventsTopicTypedDict]
- r"""Filter events by topic(s). Can be specified multiple times or comma-separated."""
+ r"""Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`)."""
time_gte: NotRequired[datetime]
r"""Filter events with time >= value (RFC3339 or YYYY-MM-DD format)."""
time_lte: NotRequired[datetime]
r"""Filter events with time <= value (RFC3339 or YYYY-MM-DD format)."""
+ time_gt: NotRequired[datetime]
+ r"""Filter events with time > value (RFC3339 or YYYY-MM-DD format)."""
+ time_lt: NotRequired[datetime]
+ r"""Filter events with time < value (RFC3339 or YYYY-MM-DD format)."""
limit: NotRequired[int]
r"""Number of items per page (default 100, max 1000)."""
next_cursor: NotRequired[str]
@@ -57,17 +93,27 @@ class ListEventsRequestTypedDict(TypedDict):
class ListEventsRequest(BaseModel):
+ id: Annotated[
+ Optional[ListEventsID],
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
+ ] = None
+ r"""Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`)."""
+
tenant_id: Annotated[
- Optional[str],
+ Optional[ListEventsTenantID],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Filter events by tenant ID. If not provided, returns events from all tenants."""
+ r"""Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
+ When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
+ If not provided with API key auth, returns events from all tenants.
+
+ """
topic: Annotated[
Optional[ListEventsTopic],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Filter events by topic(s). Can be specified multiple times or comma-separated."""
+ r"""Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`)."""
time_gte: Annotated[
Optional[datetime],
@@ -83,6 +129,20 @@ class ListEventsRequest(BaseModel):
] = None
r"""Filter events with time <= value (RFC3339 or YYYY-MM-DD format)."""
+ time_gt: Annotated[
+ Optional[datetime],
+ pydantic.Field(alias="time[gt]"),
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
+ ] = None
+ r"""Filter events with time > value (RFC3339 or YYYY-MM-DD format)."""
+
+ time_lt: Annotated[
+ Optional[datetime],
+ pydantic.Field(alias="time[lt]"),
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
+ ] = None
+ r"""Filter events with time < value (RFC3339 or YYYY-MM-DD format)."""
+
limit: Annotated[
Optional[int],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -120,10 +180,13 @@ class ListEventsRequest(BaseModel):
def serialize_model(self, handler):
optional_fields = set(
[
+ "id",
"tenant_id",
"topic",
"time[gte]",
"time[lte]",
+ "time[gt]",
+ "time[lt]",
"limit",
"next_cursor",
"prev_cursor",
@@ -136,7 +199,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationattemptsop.py b/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationattemptsop.py
index 699a3c3a..0a3c888c 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationattemptsop.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationattemptsop.py
@@ -15,6 +15,18 @@
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
+ListTenantDestinationAttemptsEventIDTypedDict = TypeAliasType(
+ "ListTenantDestinationAttemptsEventIDTypedDict", Union[str, List[str]]
+)
+r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`)."""
+
+
+ListTenantDestinationAttemptsEventID = TypeAliasType(
+ "ListTenantDestinationAttemptsEventID", Union[str, List[str]]
+)
+r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`)."""
+
+
class ListTenantDestinationAttemptsStatus(str, Enum):
r"""Filter attempts by status."""
@@ -25,19 +37,19 @@ class ListTenantDestinationAttemptsStatus(str, Enum):
ListTenantDestinationAttemptsTopicTypedDict = TypeAliasType(
"ListTenantDestinationAttemptsTopicTypedDict", Union[str, List[str]]
)
-r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated."""
+r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`)."""
ListTenantDestinationAttemptsTopic = TypeAliasType(
"ListTenantDestinationAttemptsTopic", Union[str, List[str]]
)
-r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated."""
+r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`)."""
ListTenantDestinationAttemptsIncludeTypedDict = TypeAliasType(
"ListTenantDestinationAttemptsIncludeTypedDict", Union[str, List[str]]
)
-r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -48,7 +60,7 @@ class ListTenantDestinationAttemptsStatus(str, Enum):
ListTenantDestinationAttemptsInclude = TypeAliasType(
"ListTenantDestinationAttemptsInclude", Union[str, List[str]]
)
-r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -74,16 +86,20 @@ class ListTenantDestinationAttemptsRequestTypedDict(TypedDict):
r"""The ID of the tenant. Required when using AdminApiKey authentication."""
destination_id: str
r"""The ID of the destination."""
- event_id: NotRequired[str]
- r"""Filter attempts by event ID."""
+ event_id: NotRequired[ListTenantDestinationAttemptsEventIDTypedDict]
+ r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`)."""
status: NotRequired[ListTenantDestinationAttemptsStatus]
r"""Filter attempts by status."""
topic: NotRequired[ListTenantDestinationAttemptsTopicTypedDict]
- r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated."""
+ r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`)."""
time_gte: NotRequired[datetime]
r"""Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format)."""
time_lte: NotRequired[datetime]
r"""Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format)."""
+ time_gt: NotRequired[datetime]
+ r"""Filter attempts by event time > value (RFC3339 or YYYY-MM-DD format)."""
+ time_lt: NotRequired[datetime]
+ r"""Filter attempts by event time < value (RFC3339 or YYYY-MM-DD format)."""
limit: NotRequired[int]
r"""Number of items per page (default 100, max 1000)."""
next_cursor: NotRequired[str]
@@ -91,7 +107,7 @@ class ListTenantDestinationAttemptsRequestTypedDict(TypedDict):
prev_cursor: NotRequired[str]
r"""Cursor for previous page of results."""
include: NotRequired[ListTenantDestinationAttemptsIncludeTypedDict]
- r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+ r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -115,10 +131,10 @@ class ListTenantDestinationAttemptsRequest(BaseModel):
r"""The ID of the destination."""
event_id: Annotated[
- Optional[str],
+ Optional[ListTenantDestinationAttemptsEventID],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Filter attempts by event ID."""
+ r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`)."""
status: Annotated[
Optional[ListTenantDestinationAttemptsStatus],
@@ -130,7 +146,7 @@ class ListTenantDestinationAttemptsRequest(BaseModel):
Optional[ListTenantDestinationAttemptsTopic],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated."""
+ r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`)."""
time_gte: Annotated[
Optional[datetime],
@@ -146,6 +162,20 @@ class ListTenantDestinationAttemptsRequest(BaseModel):
] = None
r"""Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format)."""
+ time_gt: Annotated[
+ Optional[datetime],
+ pydantic.Field(alias="time[gt]"),
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
+ ] = None
+ r"""Filter attempts by event time > value (RFC3339 or YYYY-MM-DD format)."""
+
+ time_lt: Annotated[
+ Optional[datetime],
+ pydantic.Field(alias="time[lt]"),
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
+ ] = None
+ r"""Filter attempts by event time < value (RFC3339 or YYYY-MM-DD format)."""
+
limit: Annotated[
Optional[int],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -170,7 +200,7 @@ class ListTenantDestinationAttemptsRequest(BaseModel):
Optional[ListTenantDestinationAttemptsInclude],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Fields to include in the response. Can be specified multiple times or comma-separated.
+ r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
@@ -199,6 +229,8 @@ def serialize_model(self, handler):
"topic",
"time[gte]",
"time[lte]",
+ "time[gt]",
+ "time[lt]",
"limit",
"next_cursor",
"prev_cursor",
@@ -212,7 +244,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationsop.py b/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationsop.py
index 0db9ae86..dd626473 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationsop.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationsop.py
@@ -12,34 +12,34 @@
ListTenantDestinationsTypeTypedDict = TypeAliasType(
"ListTenantDestinationsTypeTypedDict", Union[DestinationType, List[DestinationType]]
)
-r"""Filter destinations by type(s)."""
+r"""Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`)."""
ListTenantDestinationsType = TypeAliasType(
"ListTenantDestinationsType", Union[DestinationType, List[DestinationType]]
)
-r"""Filter destinations by type(s)."""
+r"""Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`)."""
ListTenantDestinationsTopicsTypedDict = TypeAliasType(
"ListTenantDestinationsTopicsTypedDict", Union[str, List[str]]
)
-r"""Filter destinations by supported topic(s)."""
+r"""Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`)."""
ListTenantDestinationsTopics = TypeAliasType(
"ListTenantDestinationsTopics", Union[str, List[str]]
)
-r"""Filter destinations by supported topic(s)."""
+r"""Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`)."""
class ListTenantDestinationsRequestTypedDict(TypedDict):
tenant_id: str
r"""The ID of the tenant. Required when using AdminApiKey authentication."""
type: NotRequired[ListTenantDestinationsTypeTypedDict]
- r"""Filter destinations by type(s)."""
+ r"""Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`)."""
topics: NotRequired[ListTenantDestinationsTopicsTypedDict]
- r"""Filter destinations by supported topic(s)."""
+ r"""Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`)."""
class ListTenantDestinationsRequest(BaseModel):
@@ -52,13 +52,13 @@ class ListTenantDestinationsRequest(BaseModel):
Optional[ListTenantDestinationsType],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Filter destinations by type(s)."""
+ r"""Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`)."""
topics: Annotated[
Optional[ListTenantDestinationsTopics],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
- r"""Filter destinations by supported topic(s)."""
+ r"""Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`)."""
@model_serializer(mode="wrap")
def serialize_model(self, handler):
@@ -68,7 +68,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/listtenantsop.py b/sdks/outpost-python/src/outpost_sdk/models/listtenantsop.py
index 9feba4c6..3ffaf234 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/listtenantsop.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/listtenantsop.py
@@ -7,8 +7,16 @@
from outpost_sdk.utils import FieldMetadata, QueryParamMetadata
import pydantic
from pydantic import model_serializer
-from typing import Callable, Optional
-from typing_extensions import Annotated, NotRequired, TypedDict
+from typing import Callable, List, Optional, Union
+from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
+
+
+ListTenantsIDTypedDict = TypeAliasType("ListTenantsIDTypedDict", Union[str, List[str]])
+r"""Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`)."""
+
+
+ListTenantsID = TypeAliasType("ListTenantsID", Union[str, List[str]])
+r"""Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`)."""
class ListTenantsDir(str, Enum):
@@ -19,51 +27,63 @@ class ListTenantsDir(str, Enum):
class ListTenantsRequestTypedDict(TypedDict):
+ id: NotRequired[ListTenantsIDTypedDict]
+ r"""Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`)."""
limit: NotRequired[int]
r"""Number of tenants to return per page (1-100, default 20)."""
- dir: NotRequired[ListTenantsDir]
+ direction: NotRequired[ListTenantsDir]
r"""Sort direction."""
- direction: NotRequired[str]
+ next_cursor: NotRequired[str]
r"""Cursor for the next page of results. Mutually exclusive with `prev`."""
- prev: NotRequired[str]
+ prev_cursor: NotRequired[str]
r"""Cursor for the previous page of results. Mutually exclusive with `next`."""
class ListTenantsRequest(BaseModel):
+ id: Annotated[
+ Optional[ListTenantsID],
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
+ ] = None
+ r"""Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`)."""
+
limit: Annotated[
Optional[int],
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = 20
r"""Number of tenants to return per page (1-100, default 20)."""
- dir: Annotated[
+ direction: Annotated[
Optional[ListTenantsDir],
+ pydantic.Field(alias="dir"),
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = ListTenantsDir.DESC
r"""Sort direction."""
- direction: Annotated[
+ next_cursor: Annotated[
Optional[str],
pydantic.Field(alias="next"),
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
r"""Cursor for the next page of results. Mutually exclusive with `prev`."""
- prev: Annotated[
+ prev_cursor: Annotated[
Optional[str],
+ pydantic.Field(alias="prev"),
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
r"""Cursor for the previous page of results. Mutually exclusive with `next`."""
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = set(["limit", "dir", "direction", "prev"])
+ optional_fields = set(
+ ["id", "limit", "direction", "next_cursor", "prev_cursor"]
+ )
serialized = handler(self)
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/portalredirect.py b/sdks/outpost-python/src/outpost_sdk/models/portalredirect.py
index b51b4dcc..7618ceb8 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/portalredirect.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/portalredirect.py
@@ -29,7 +29,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/publishrequest.py b/sdks/outpost-python/src/outpost_sdk/models/publishrequest.py
index de1e9a78..7b7793f3 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/publishrequest.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/publishrequest.py
@@ -70,7 +70,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/rabbitmqconfig.py b/sdks/outpost-python/src/outpost_sdk/models/rabbitmqconfig.py
index 1c7495d8..e8ce63be 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/rabbitmqconfig.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/rabbitmqconfig.py
@@ -42,7 +42,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/security.py b/sdks/outpost-python/src/outpost_sdk/models/security.py
index 87542daa..5125d045 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/security.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/security.py
@@ -33,7 +33,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/seekpagination.py b/sdks/outpost-python/src/outpost_sdk/models/seekpagination.py
index e26c6197..de7167fe 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/seekpagination.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/seekpagination.py
@@ -66,7 +66,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/successresponse.py b/sdks/outpost-python/src/outpost_sdk/models/successresponse.py
index dc3d0c32..59b7e6dd 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/successresponse.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/successresponse.py
@@ -22,7 +22,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/tenant.py b/sdks/outpost-python/src/outpost_sdk/models/tenant.py
index 9f076c68..c95a0e07 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/tenant.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/tenant.py
@@ -66,7 +66,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/tenantpaginatedresult.py b/sdks/outpost-python/src/outpost_sdk/models/tenantpaginatedresult.py
index 387f0c30..682db32a 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/tenantpaginatedresult.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/tenantpaginatedresult.py
@@ -40,7 +40,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/tenanttoken.py b/sdks/outpost-python/src/outpost_sdk/models/tenanttoken.py
index b11906d8..912f9b44 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/tenanttoken.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/tenanttoken.py
@@ -29,7 +29,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/tenantupsert.py b/sdks/outpost-python/src/outpost_sdk/models/tenantupsert.py
index 842dbeaa..80f8c68c 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/tenantupsert.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/tenantupsert.py
@@ -31,7 +31,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
is_nullable_and_explicitly_set = (
k in nullable_fields
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
diff --git a/sdks/outpost-python/src/outpost_sdk/models/updatetenantdestinationop.py b/sdks/outpost-python/src/outpost_sdk/models/updatetenantdestinationop.py
index 510b0d4d..c2455679 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/updatetenantdestinationop.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/updatetenantdestinationop.py
@@ -13,7 +13,7 @@ class UpdateTenantDestinationRequestTypedDict(TypedDict):
r"""The ID of the tenant. Required when using AdminApiKey authentication."""
destination_id: str
r"""The ID of the destination."""
- params: DestinationUpdateTypedDict
+ body: DestinationUpdateTypedDict
class UpdateTenantDestinationRequest(BaseModel):
@@ -27,7 +27,7 @@ class UpdateTenantDestinationRequest(BaseModel):
]
r"""The ID of the destination."""
- params: Annotated[
+ body: Annotated[
DestinationUpdate,
FieldMetadata(request=RequestMetadata(media_type="application/json")),
]
diff --git a/sdks/outpost-python/src/outpost_sdk/models/upserttenantop.py b/sdks/outpost-python/src/outpost_sdk/models/upserttenantop.py
index b8ce1db1..ac15dda6 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/upserttenantop.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/upserttenantop.py
@@ -12,7 +12,7 @@
class UpsertTenantRequestTypedDict(TypedDict):
tenant_id: str
r"""The ID of the tenant. Required when using AdminApiKey authentication."""
- params: NotRequired[TenantUpsertTypedDict]
+ body: NotRequired[TenantUpsertTypedDict]
r"""Optional tenant metadata"""
@@ -22,7 +22,7 @@ class UpsertTenantRequest(BaseModel):
]
r"""The ID of the tenant. Required when using AdminApiKey authentication."""
- params: Annotated[
+ body: Annotated[
Optional[TenantUpsert],
FieldMetadata(request=RequestMetadata(media_type="application/json")),
] = None
@@ -30,13 +30,13 @@ class UpsertTenantRequest(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = set(["params"])
+ optional_fields = set(["body"])
serialized = handler(self)
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/webhookconfig.py b/sdks/outpost-python/src/outpost_sdk/models/webhookconfig.py
index 9da32328..e4dae5e8 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/webhookconfig.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/webhookconfig.py
@@ -29,7 +29,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/webhookcredentials.py b/sdks/outpost-python/src/outpost_sdk/models/webhookcredentials.py
index f4b9e2dd..12173243 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/webhookcredentials.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/webhookcredentials.py
@@ -37,7 +37,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/models/webhookcredentialsupdate.py b/sdks/outpost-python/src/outpost_sdk/models/webhookcredentialsupdate.py
index 89b3e3f4..18ee1833 100644
--- a/sdks/outpost-python/src/outpost_sdk/models/webhookcredentialsupdate.py
+++ b/sdks/outpost-python/src/outpost_sdk/models/webhookcredentialsupdate.py
@@ -42,7 +42,7 @@ def serialize_model(self, handler):
for n, f in type(self).model_fields.items():
k = f.alias or n
- val = serialized.get(k)
+ val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
if val is not None or k not in optional_fields:
diff --git a/sdks/outpost-python/src/outpost_sdk/publish.py b/sdks/outpost-python/src/outpost_sdk/publish.py
index 09367b82..071965f9 100644
--- a/sdks/outpost-python/src/outpost_sdk/publish.py
+++ b/sdks/outpost-python/src/outpost_sdk/publish.py
@@ -1,12 +1,11 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from .basesdk import BaseSDK
-from datetime import datetime
from outpost_sdk import errors, models, utils
from outpost_sdk._hooks import HookContext
-from outpost_sdk.types import OptionalNullable, UNSET
+from outpost_sdk.types import BaseModel, OptionalNullable, UNSET
from outpost_sdk.utils.unmarshal_json_response import unmarshal_json_response
-from typing import Any, Dict, Mapping, Optional
+from typing import Any, Mapping, Optional, Union, cast
class Publish(BaseSDK):
@@ -15,14 +14,7 @@ class Publish(BaseSDK):
def event(
self,
*,
- data: Dict[str, Any],
- id: Optional[str] = None,
- tenant_id: Optional[str] = None,
- destination_id: Optional[str] = None,
- topic: Optional[str] = None,
- eligible_for_retry: Optional[bool] = None,
- time: Optional[datetime] = None,
- metadata: Optional[Dict[str, str]] = None,
+ request: Union[models.PublishRequest, models.PublishRequestTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -32,14 +24,7 @@ def event(
Publishes an event to the specified topic, potentially routed to a specific destination. Requires Admin API Key.
- :param data: Any JSON payload for the event data.
- :param id: Optional. A unique identifier for the event. If not provided, a UUID will be generated.
- :param tenant_id: The ID of the tenant to publish for.
- :param destination_id: Optional. Route event to a specific destination.
- :param topic: Topic name for the event. Required if Outpost has been configured with topics.
- :param eligible_for_retry: Should event delivery be retried on failure.
- :param time: Optional. Custom timestamp for the event. If not provided, defaults to the current time.
- :param metadata: Any key-value string pairs for metadata.
+ :param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -55,16 +40,9 @@ def event(
else:
base_url = self._get_url(base_url, url_variables)
- request = models.PublishRequest(
- id=id,
- tenant_id=tenant_id,
- destination_id=destination_id,
- topic=topic,
- eligible_for_retry=eligible_for_retry,
- time=time,
- metadata=metadata,
- data=data,
- )
+ if not isinstance(request, BaseModel):
+ request = utils.unmarshal(request, models.PublishRequest)
+ request = cast(models.PublishRequest, request)
req = self._build_request(
method="POST",
@@ -194,14 +172,7 @@ def event(
async def event_async(
self,
*,
- data: Dict[str, Any],
- id: Optional[str] = None,
- tenant_id: Optional[str] = None,
- destination_id: Optional[str] = None,
- topic: Optional[str] = None,
- eligible_for_retry: Optional[bool] = None,
- time: Optional[datetime] = None,
- metadata: Optional[Dict[str, str]] = None,
+ request: Union[models.PublishRequest, models.PublishRequestTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -211,14 +182,7 @@ async def event_async(
Publishes an event to the specified topic, potentially routed to a specific destination. Requires Admin API Key.
- :param data: Any JSON payload for the event data.
- :param id: Optional. A unique identifier for the event. If not provided, a UUID will be generated.
- :param tenant_id: The ID of the tenant to publish for.
- :param destination_id: Optional. Route event to a specific destination.
- :param topic: Topic name for the event. Required if Outpost has been configured with topics.
- :param eligible_for_retry: Should event delivery be retried on failure.
- :param time: Optional. Custom timestamp for the event. If not provided, defaults to the current time.
- :param metadata: Any key-value string pairs for metadata.
+ :param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -234,16 +198,9 @@ async def event_async(
else:
base_url = self._get_url(base_url, url_variables)
- request = models.PublishRequest(
- id=id,
- tenant_id=tenant_id,
- destination_id=destination_id,
- topic=topic,
- eligible_for_retry=eligible_for_retry,
- time=time,
- metadata=metadata,
- data=data,
- )
+ if not isinstance(request, BaseModel):
+ request = utils.unmarshal(request, models.PublishRequest)
+ request = cast(models.PublishRequest, request)
req = self._build_request_async(
method="POST",
diff --git a/sdks/outpost-python/src/outpost_sdk/tenants.py b/sdks/outpost-python/src/outpost_sdk/tenants.py
index 652afc22..7e2c69dd 100644
--- a/sdks/outpost-python/src/outpost_sdk/tenants.py
+++ b/sdks/outpost-python/src/outpost_sdk/tenants.py
@@ -4,9 +4,9 @@
from jsonpath import JSONPath
from outpost_sdk import errors, models, utils
from outpost_sdk._hooks import HookContext
-from outpost_sdk.types import OptionalNullable, UNSET
+from outpost_sdk.types import BaseModel, OptionalNullable, UNSET
from outpost_sdk.utils.unmarshal_json_response import unmarshal_json_response
-from typing import Any, Dict, List, Mapping, Optional, Union
+from typing import Any, Dict, List, Mapping, Optional, Union, cast
class Tenants(BaseSDK):
@@ -16,13 +16,10 @@ class Tenants(BaseSDK):
"""
- def list_tenants(
+ def list(
self,
*,
- limit: Optional[int] = 20,
- dir: Optional[models.ListTenantsDir] = models.ListTenantsDir.DESC,
- direction: Optional[str] = None,
- prev: Optional[str] = None,
+ request: Union[models.ListTenantsRequest, models.ListTenantsRequestTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -38,10 +35,7 @@ def list_tenants(
When authenticated with a Tenant JWT, returns only the authenticated tenant. Pagination is not used in this case.
- :param limit: Number of tenants to return per page (1-100, default 20).
- :param dir: Sort direction.
- :param direction: Cursor for the next page of results. Mutually exclusive with `prev`.
- :param prev: Cursor for the previous page of results. Mutually exclusive with `next`.
+ :param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -57,12 +51,9 @@ def list_tenants(
else:
base_url = self._get_url(base_url, url_variables)
- request = models.ListTenantsRequest(
- limit=limit,
- dir=dir,
- direction=direction,
- prev=prev,
- )
+ if not isinstance(request, BaseModel):
+ request = utils.unmarshal(request, models.ListTenantsRequest)
+ request = cast(models.ListTenantsRequest, request)
req = self._build_request(
method="GET",
@@ -119,11 +110,14 @@ def next_func() -> Optional[models.ListTenantsResponse]:
if len(results[0]) < limit:
return None
- return self.list_tenants(
- limit=limit,
- dir=dir,
- direction=direction,
- prev=prev,
+ return self.list(
+ request=models.ListTenantsRequest(
+ id=request.id,
+ limit=request.limit,
+ direction=request.direction,
+ next_cursor=request.next_cursor,
+ prev_cursor=request.prev_cursor,
+ ),
retries=retries,
)
@@ -162,13 +156,10 @@ def next_func() -> Optional[models.ListTenantsResponse]:
raise errors.APIError("Unexpected response received", http_res)
- async def list_tenants_async(
+ async def list_async(
self,
*,
- limit: Optional[int] = 20,
- dir: Optional[models.ListTenantsDir] = models.ListTenantsDir.DESC,
- direction: Optional[str] = None,
- prev: Optional[str] = None,
+ request: Union[models.ListTenantsRequest, models.ListTenantsRequestTypedDict],
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -184,10 +175,7 @@ async def list_tenants_async(
When authenticated with a Tenant JWT, returns only the authenticated tenant. Pagination is not used in this case.
- :param limit: Number of tenants to return per page (1-100, default 20).
- :param dir: Sort direction.
- :param direction: Cursor for the next page of results. Mutually exclusive with `prev`.
- :param prev: Cursor for the previous page of results. Mutually exclusive with `next`.
+ :param request: The request object to send.
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -203,12 +191,9 @@ async def list_tenants_async(
else:
base_url = self._get_url(base_url, url_variables)
- request = models.ListTenantsRequest(
- limit=limit,
- dir=dir,
- direction=direction,
- prev=prev,
- )
+ if not isinstance(request, BaseModel):
+ request = utils.unmarshal(request, models.ListTenantsRequest)
+ request = cast(models.ListTenantsRequest, request)
req = self._build_request_async(
method="GET",
@@ -265,11 +250,14 @@ def next_func() -> Optional[models.ListTenantsResponse]:
if len(results[0]) < limit:
return None
- return self.list_tenants(
- limit=limit,
- dir=dir,
- direction=direction,
- prev=prev,
+ return self.list(
+ request=models.ListTenantsRequest(
+ id=request.id,
+ limit=request.limit,
+ direction=request.direction,
+ next_cursor=request.next_cursor,
+ prev_cursor=request.prev_cursor,
+ ),
retries=retries,
)
@@ -312,7 +300,7 @@ def upsert(
self,
*,
tenant_id: str,
- metadata: OptionalNullable[Dict[str, str]] = UNSET,
+ body: Optional[Union[models.TenantUpsert, models.TenantUpsertTypedDict]] = None,
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -323,7 +311,7 @@ def upsert(
Idempotently creates or updates a tenant. Required before associating destinations.
:param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication.
- :param metadata: Optional metadata to store with the tenant.
+ :param body: Optional tenant metadata
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -341,9 +329,7 @@ def upsert(
request = models.UpsertTenantRequest(
tenant_id=tenant_id,
- params=models.TenantUpsert(
- metadata=metadata,
- ),
+ body=utils.get_pydantic_model(body, Optional[models.TenantUpsert]),
)
req = self._build_request(
@@ -360,7 +346,7 @@ def upsert(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.params if request is not None else None,
+ request.body if request is not None else None,
False,
True,
"json",
@@ -422,7 +408,7 @@ async def upsert_async(
self,
*,
tenant_id: str,
- metadata: OptionalNullable[Dict[str, str]] = UNSET,
+ body: Optional[Union[models.TenantUpsert, models.TenantUpsertTypedDict]] = None,
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
@@ -433,7 +419,7 @@ async def upsert_async(
Idempotently creates or updates a tenant. Required before associating destinations.
:param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication.
- :param metadata: Optional metadata to store with the tenant.
+ :param body: Optional tenant metadata
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -451,9 +437,7 @@ async def upsert_async(
request = models.UpsertTenantRequest(
tenant_id=tenant_id,
- params=models.TenantUpsert(
- metadata=metadata,
- ),
+ body=utils.get_pydantic_model(body, Optional[models.TenantUpsert]),
)
req = self._build_request_async(
@@ -470,7 +454,7 @@ async def upsert_async(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.params if request is not None else None,
+ request.body if request is not None else None,
False,
True,
"json",
diff --git a/sdks/outpost-python/src/outpost_sdk/utils/eventstreaming.py b/sdks/outpost-python/src/outpost_sdk/utils/eventstreaming.py
index f2052fc2..3bdcd6d3 100644
--- a/sdks/outpost-python/src/outpost_sdk/utils/eventstreaming.py
+++ b/sdks/outpost-python/src/outpost_sdk/utils/eventstreaming.py
@@ -32,9 +32,12 @@ def __init__(
decoder: Callable[[str], T],
sentinel: Optional[str] = None,
client_ref: Optional[object] = None,
+ data_required: bool = True,
):
self.response = response
- self.generator = stream_events(response, decoder, sentinel)
+ self.generator = stream_events(
+ response, decoder, sentinel, data_required=data_required
+ )
self.client_ref = client_ref
self._closed = False
@@ -68,9 +71,12 @@ def __init__(
decoder: Callable[[str], T],
sentinel: Optional[str] = None,
client_ref: Optional[object] = None,
+ data_required: bool = True,
):
self.response = response
- self.generator = stream_events_async(response, decoder, sentinel)
+ self.generator = stream_events_async(
+ response, decoder, sentinel, data_required=data_required
+ )
self.client_ref = client_ref
self._closed = False
@@ -116,6 +122,7 @@ async def stream_events_async(
response: httpx.Response,
decoder: Callable[[str], T],
sentinel: Optional[str] = None,
+ data_required: bool = True,
) -> AsyncGenerator[T, None]:
buffer = bytearray()
position = 0
@@ -138,7 +145,11 @@ async def stream_events_async(
block = buffer[position:i]
position = i + len(seq)
event, discard, event_id = _parse_event(
- raw=block, decoder=decoder, sentinel=sentinel, event_id=event_id
+ raw=block,
+ decoder=decoder,
+ sentinel=sentinel,
+ event_id=event_id,
+ data_required=data_required,
)
if event is not None:
yield event
@@ -151,7 +162,11 @@ async def stream_events_async(
position = 0
event, discard, _ = _parse_event(
- raw=buffer, decoder=decoder, sentinel=sentinel, event_id=event_id
+ raw=buffer,
+ decoder=decoder,
+ sentinel=sentinel,
+ event_id=event_id,
+ data_required=data_required,
)
if event is not None:
yield event
@@ -161,6 +176,7 @@ def stream_events(
response: httpx.Response,
decoder: Callable[[str], T],
sentinel: Optional[str] = None,
+ data_required: bool = True,
) -> Generator[T, None, None]:
buffer = bytearray()
position = 0
@@ -183,7 +199,11 @@ def stream_events(
block = buffer[position:i]
position = i + len(seq)
event, discard, event_id = _parse_event(
- raw=block, decoder=decoder, sentinel=sentinel, event_id=event_id
+ raw=block,
+ decoder=decoder,
+ sentinel=sentinel,
+ event_id=event_id,
+ data_required=data_required,
)
if event is not None:
yield event
@@ -196,7 +216,11 @@ def stream_events(
position = 0
event, discard, _ = _parse_event(
- raw=buffer, decoder=decoder, sentinel=sentinel, event_id=event_id
+ raw=buffer,
+ decoder=decoder,
+ sentinel=sentinel,
+ event_id=event_id,
+ data_required=data_required,
)
if event is not None:
yield event
@@ -208,6 +232,7 @@ def _parse_event(
decoder: Callable[[str], T],
sentinel: Optional[str] = None,
event_id: Optional[str] = None,
+ data_required: bool = True,
) -> Tuple[Optional[T], bool, Optional[str]]:
block = raw.decode()
lines = re.split(r"\r?\n|\r", block)
@@ -250,6 +275,10 @@ def _parse_event(
if sentinel and data == f"{sentinel}\n":
return None, True, event_id
+ # Skip data-less events when data is required
+ if not data and publish and data_required:
+ return None, False, event_id
+
if data:
data = data[:-1]
try: