airbyte-agent-zendesk-support 0.18.42__tar.gz → 0.18.47__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/CHANGELOG.md +25 -0
  2. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/PKG-INFO +4 -4
  3. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/README.md +3 -3
  4. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/REFERENCE.md +46 -44
  5. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/connector_model_loader.py +3 -2
  6. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/executor/local_executor.py +8 -0
  7. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/schema/base.py +4 -1
  8. airbyte_agent_zendesk_support-0.18.47/airbyte_agent_zendesk_support/_vendored/connector_sdk/schema/extensions.py +230 -0
  9. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/connector.py +2 -1
  10. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/connector_model.py +3 -3
  11. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/models.py +1 -0
  12. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/types.py +1 -0
  13. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/pyproject.toml +1 -1
  14. airbyte_agent_zendesk_support-0.18.42/airbyte_agent_zendesk_support/_vendored/connector_sdk/schema/extensions.py +0 -109
  15. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/.gitignore +0 -0
  16. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/__init__.py +0 -0
  17. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/__init__.py +0 -0
  18. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/__init__.py +0 -0
  19. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/auth_strategies.py +0 -0
  20. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/auth_template.py +0 -0
  21. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/cloud_utils/__init__.py +0 -0
  22. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/cloud_utils/client.py +0 -0
  23. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/constants.py +0 -0
  24. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/exceptions.py +0 -0
  25. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/executor/__init__.py +0 -0
  26. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/executor/hosted_executor.py +0 -0
  27. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/executor/models.py +0 -0
  28. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/extensions.py +0 -0
  29. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/http/__init__.py +0 -0
  30. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/http/adapters/__init__.py +0 -0
  31. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/http/adapters/httpx_adapter.py +0 -0
  32. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/http/config.py +0 -0
  33. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/http/exceptions.py +0 -0
  34. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/http/protocols.py +0 -0
  35. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/http/response.py +0 -0
  36. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/http_client.py +0 -0
  37. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/introspection.py +0 -0
  38. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/logging/__init__.py +0 -0
  39. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/logging/logger.py +0 -0
  40. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/logging/types.py +0 -0
  41. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/observability/__init__.py +0 -0
  42. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/observability/config.py +0 -0
  43. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/observability/models.py +0 -0
  44. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/observability/redactor.py +0 -0
  45. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/observability/session.py +0 -0
  46. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/performance/__init__.py +0 -0
  47. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/performance/instrumentation.py +0 -0
  48. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/performance/metrics.py +0 -0
  49. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/schema/__init__.py +0 -0
  50. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/schema/components.py +0 -0
  51. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/schema/connector.py +0 -0
  52. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/schema/operations.py +0 -0
  53. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/schema/security.py +0 -0
  54. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/secrets.py +0 -0
  55. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/telemetry/__init__.py +0 -0
  56. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/telemetry/config.py +0 -0
  57. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/telemetry/events.py +0 -0
  58. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/telemetry/tracker.py +0 -0
  59. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/types.py +0 -0
  60. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/utils.py +0 -0
  61. {airbyte_agent_zendesk_support-0.18.42 → airbyte_agent_zendesk_support-0.18.47}/airbyte_agent_zendesk_support/_vendored/connector_sdk/validation.py +0 -0
@@ -1,5 +1,30 @@
1
1
  # Zendesk Support changelog
2
2
 
3
+ ## [0.18.47] - 2026-01-16
4
+ - Updated connector definition (YAML version 0.1.5)
5
+ - Source commit: ca5acdda
6
+ - SDK version: 0.1.0
7
+
8
+ ## [0.18.46] - 2026-01-15
9
+ - Updated connector definition (YAML version 0.1.5)
10
+ - Source commit: fa9a3b02
11
+ - SDK version: 0.1.0
12
+
13
+ ## [0.18.45] - 2026-01-15
14
+ - Updated connector definition (YAML version 0.1.5)
15
+ - Source commit: 61a2e822
16
+ - SDK version: 0.1.0
17
+
18
+ ## [0.18.44] - 2026-01-15
19
+ - Updated connector definition (YAML version 0.1.5)
20
+ - Source commit: 236c9a8a
21
+ - SDK version: 0.1.0
22
+
23
+ ## [0.18.43] - 2026-01-15
24
+ - Updated connector definition (YAML version 0.1.4)
25
+ - Source commit: 35211193
26
+ - SDK version: 0.1.0
27
+
3
28
  ## [0.18.42] - 2026-01-15
4
29
  - Updated connector definition (YAML version 0.1.4)
5
30
  - Source commit: 20b3afd9
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airbyte-agent-zendesk-support
3
- Version: 0.18.42
3
+ Version: 0.18.47
4
4
  Summary: Airbyte Zendesk-Support Connector for AI platforms
5
5
  Project-URL: Homepage, https://github.com/airbytehq/airbyte-agent-connectors
6
6
  Project-URL: Documentation, https://docs.airbyte.com/ai-agents/
@@ -140,6 +140,6 @@ For the service's official API docs, see the [Zendesk-Support API reference](htt
140
140
 
141
141
  ## Version information
142
142
 
143
- - **Package version:** 0.18.42
144
- - **Connector version:** 0.1.4
145
- - **Generated with Connector SDK commit SHA:** 20b3afd9215174bb084af41e3174b78f114d86b5
143
+ - **Package version:** 0.18.47
144
+ - **Connector version:** 0.1.5
145
+ - **Generated with Connector SDK commit SHA:** ca5acdda8030d8292c059c82f498a95b2227c106
@@ -107,6 +107,6 @@ For the service's official API docs, see the [Zendesk-Support API reference](htt
107
107
 
108
108
  ## Version information
109
109
 
110
- - **Package version:** 0.18.42
111
- - **Connector version:** 0.1.4
112
- - **Generated with Connector SDK commit SHA:** 20b3afd9215174bb084af41e3174b78f114d86b5
110
+ - **Package version:** 0.18.47
111
+ - **Connector version:** 0.1.5
112
+ - **Generated with Connector SDK commit SHA:** ca5acdda8030d8292c059c82f498a95b2227c106
@@ -46,7 +46,7 @@ await zendesk_support.tickets.list()
46
46
  **API**
47
47
 
48
48
  ```bash
49
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
49
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
50
50
  --header 'Content-Type: application/json' \
51
51
  --header 'Authorization: Bearer {your_auth_token}' \
52
52
  --data '{
@@ -138,7 +138,7 @@ await zendesk_support.tickets.get(
138
138
  **API**
139
139
 
140
140
  ```bash
141
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
141
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
142
142
  --header 'Content-Type: application/json' \
143
143
  --header 'Authorization: Bearer {your_auth_token}' \
144
144
  --data '{
@@ -223,7 +223,7 @@ await zendesk_support.users.list()
223
223
  **API**
224
224
 
225
225
  ```bash
226
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
226
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
227
227
  --header 'Content-Type: application/json' \
228
228
  --header 'Authorization: Bearer {your_auth_token}' \
229
229
  --data '{
@@ -314,7 +314,7 @@ await zendesk_support.users.get(
314
314
  **API**
315
315
 
316
316
  ```bash
317
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
317
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
318
318
  --header 'Content-Type: application/json' \
319
319
  --header 'Authorization: Bearer {your_auth_token}' \
320
320
  --data '{
@@ -398,7 +398,7 @@ await zendesk_support.organizations.list()
398
398
  **API**
399
399
 
400
400
  ```bash
401
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
401
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
402
402
  --header 'Content-Type: application/json' \
403
403
  --header 'Authorization: Bearer {your_auth_token}' \
404
404
  --data '{
@@ -463,7 +463,7 @@ await zendesk_support.organizations.get(
463
463
  **API**
464
464
 
465
465
  ```bash
466
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
466
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
467
467
  --header 'Content-Type: application/json' \
468
468
  --header 'Authorization: Bearer {your_auth_token}' \
469
469
  --data '{
@@ -523,7 +523,7 @@ await zendesk_support.groups.list()
523
523
  **API**
524
524
 
525
525
  ```bash
526
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
526
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
527
527
  --header 'Content-Type: application/json' \
528
528
  --header 'Authorization: Bearer {your_auth_token}' \
529
529
  --data '{
@@ -584,7 +584,7 @@ await zendesk_support.groups.get(
584
584
  **API**
585
585
 
586
586
  ```bash
587
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
587
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
588
588
  --header 'Content-Type: application/json' \
589
589
  --header 'Authorization: Bearer {your_auth_token}' \
590
590
  --data '{
@@ -641,7 +641,7 @@ await zendesk_support.ticket_comments.list(
641
641
  **API**
642
642
 
643
643
  ```bash
644
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
644
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
645
645
  --header 'Content-Type: application/json' \
646
646
  --header 'Authorization: Bearer {your_auth_token}' \
647
647
  --data '{
@@ -712,7 +712,7 @@ await zendesk_support.attachments.get(
712
712
  **API**
713
713
 
714
714
  ```bash
715
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
715
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
716
716
  --header 'Content-Type: application/json' \
717
717
  --header 'Authorization: Bearer {your_auth_token}' \
718
718
  --data '{
@@ -773,7 +773,7 @@ async for chunk in zendesk_support.attachments.download( attachment_id=0):# P
773
773
  **API**
774
774
 
775
775
  ```bash
776
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
776
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
777
777
  --header 'Content-Type: application/json' \
778
778
  --header 'Authorization: Bearer {your_auth_token}' \
779
779
  --data '{
@@ -809,7 +809,7 @@ await zendesk_support.ticket_audits.list()
809
809
  **API**
810
810
 
811
811
  ```bash
812
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
812
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
813
813
  --header 'Content-Type: application/json' \
814
814
  --header 'Authorization: Bearer {your_auth_token}' \
815
815
  --data '{
@@ -867,7 +867,7 @@ await zendesk_support.ticket_audits.list(
867
867
  **API**
868
868
 
869
869
  ```bash
870
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
870
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
871
871
  --header 'Content-Type: application/json' \
872
872
  --header 'Authorization: Bearer {your_auth_token}' \
873
873
  --data '{
@@ -929,7 +929,7 @@ await zendesk_support.ticket_metrics.list()
929
929
  **API**
930
930
 
931
931
  ```bash
932
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
932
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
933
933
  --header 'Content-Type: application/json' \
934
934
  --header 'Authorization: Bearer {your_auth_token}' \
935
935
  --data '{
@@ -1002,7 +1002,7 @@ await zendesk_support.ticket_fields.list()
1002
1002
  **API**
1003
1003
 
1004
1004
  ```bash
1005
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1005
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1006
1006
  --header 'Content-Type: application/json' \
1007
1007
  --header 'Authorization: Bearer {your_auth_token}' \
1008
1008
  --data '{
@@ -1079,7 +1079,7 @@ await zendesk_support.ticket_fields.get(
1079
1079
  **API**
1080
1080
 
1081
1081
  ```bash
1082
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1082
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1083
1083
  --header 'Content-Type: application/json' \
1084
1084
  --header 'Authorization: Bearer {your_auth_token}' \
1085
1085
  --data '{
@@ -1150,7 +1150,7 @@ await zendesk_support.brands.list()
1150
1150
  **API**
1151
1151
 
1152
1152
  ```bash
1153
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1153
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1154
1154
  --header 'Content-Type: application/json' \
1155
1155
  --header 'Authorization: Bearer {your_auth_token}' \
1156
1156
  --data '{
@@ -1217,7 +1217,7 @@ await zendesk_support.brands.get(
1217
1217
  **API**
1218
1218
 
1219
1219
  ```bash
1220
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1220
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1221
1221
  --header 'Content-Type: application/json' \
1222
1222
  --header 'Authorization: Bearer {your_auth_token}' \
1223
1223
  --data '{
@@ -1279,7 +1279,7 @@ await zendesk_support.views.list()
1279
1279
  **API**
1280
1280
 
1281
1281
  ```bash
1282
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1282
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1283
1283
  --header 'Content-Type: application/json' \
1284
1284
  --header 'Authorization: Bearer {your_auth_token}' \
1285
1285
  --data '{
@@ -1347,7 +1347,7 @@ await zendesk_support.views.get(
1347
1347
  **API**
1348
1348
 
1349
1349
  ```bash
1350
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1350
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1351
1351
  --header 'Content-Type: application/json' \
1352
1352
  --header 'Authorization: Bearer {your_auth_token}' \
1353
1353
  --data '{
@@ -1405,7 +1405,7 @@ await zendesk_support.macros.list()
1405
1405
  **API**
1406
1406
 
1407
1407
  ```bash
1408
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1408
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1409
1409
  --header 'Content-Type: application/json' \
1410
1410
  --header 'Authorization: Bearer {your_auth_token}' \
1411
1411
  --data '{
@@ -1474,7 +1474,7 @@ await zendesk_support.macros.get(
1474
1474
  **API**
1475
1475
 
1476
1476
  ```bash
1477
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1477
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1478
1478
  --header 'Content-Type: application/json' \
1479
1479
  --header 'Authorization: Bearer {your_auth_token}' \
1480
1480
  --data '{
@@ -1531,7 +1531,7 @@ await zendesk_support.triggers.list()
1531
1531
  **API**
1532
1532
 
1533
1533
  ```bash
1534
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1534
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1535
1535
  --header 'Content-Type: application/json' \
1536
1536
  --header 'Authorization: Bearer {your_auth_token}' \
1537
1537
  --data '{
@@ -1597,7 +1597,7 @@ await zendesk_support.triggers.get(
1597
1597
  **API**
1598
1598
 
1599
1599
  ```bash
1600
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1600
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1601
1601
  --header 'Content-Type: application/json' \
1602
1602
  --header 'Authorization: Bearer {your_auth_token}' \
1603
1603
  --data '{
@@ -1655,7 +1655,7 @@ await zendesk_support.automations.list()
1655
1655
  **API**
1656
1656
 
1657
1657
  ```bash
1658
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1658
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1659
1659
  --header 'Content-Type: application/json' \
1660
1660
  --header 'Authorization: Bearer {your_auth_token}' \
1661
1661
  --data '{
@@ -1718,7 +1718,7 @@ await zendesk_support.automations.get(
1718
1718
  **API**
1719
1719
 
1720
1720
  ```bash
1721
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1721
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1722
1722
  --header 'Content-Type: application/json' \
1723
1723
  --header 'Authorization: Bearer {your_auth_token}' \
1724
1724
  --data '{
@@ -1774,7 +1774,7 @@ await zendesk_support.tags.list()
1774
1774
  **API**
1775
1775
 
1776
1776
  ```bash
1777
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1777
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1778
1778
  --header 'Content-Type: application/json' \
1779
1779
  --header 'Authorization: Bearer {your_auth_token}' \
1780
1780
  --data '{
@@ -1827,7 +1827,7 @@ await zendesk_support.satisfaction_ratings.list()
1827
1827
  **API**
1828
1828
 
1829
1829
  ```bash
1830
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1830
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1831
1831
  --header 'Content-Type: application/json' \
1832
1832
  --header 'Authorization: Bearer {your_auth_token}' \
1833
1833
  --data '{
@@ -1894,7 +1894,7 @@ await zendesk_support.satisfaction_ratings.get(
1894
1894
  **API**
1895
1895
 
1896
1896
  ```bash
1897
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1897
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1898
1898
  --header 'Content-Type: application/json' \
1899
1899
  --header 'Authorization: Bearer {your_auth_token}' \
1900
1900
  --data '{
@@ -1953,7 +1953,7 @@ await zendesk_support.group_memberships.list()
1953
1953
  **API**
1954
1954
 
1955
1955
  ```bash
1956
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
1956
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
1957
1957
  --header 'Content-Type: application/json' \
1958
1958
  --header 'Authorization: Bearer {your_auth_token}' \
1959
1959
  --data '{
@@ -2011,7 +2011,7 @@ await zendesk_support.organization_memberships.list()
2011
2011
  **API**
2012
2012
 
2013
2013
  ```bash
2014
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
2014
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
2015
2015
  --header 'Content-Type: application/json' \
2016
2016
  --header 'Authorization: Bearer {your_auth_token}' \
2017
2017
  --data '{
@@ -2071,7 +2071,7 @@ await zendesk_support.sla_policies.list()
2071
2071
  **API**
2072
2072
 
2073
2073
  ```bash
2074
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
2074
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
2075
2075
  --header 'Content-Type: application/json' \
2076
2076
  --header 'Authorization: Bearer {your_auth_token}' \
2077
2077
  --data '{
@@ -2131,7 +2131,7 @@ await zendesk_support.sla_policies.get(
2131
2131
  **API**
2132
2132
 
2133
2133
  ```bash
2134
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
2134
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
2135
2135
  --header 'Content-Type: application/json' \
2136
2136
  --header 'Authorization: Bearer {your_auth_token}' \
2137
2137
  --data '{
@@ -2186,7 +2186,7 @@ await zendesk_support.ticket_forms.list()
2186
2186
  **API**
2187
2187
 
2188
2188
  ```bash
2189
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
2189
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
2190
2190
  --header 'Content-Type: application/json' \
2191
2191
  --header 'Authorization: Bearer {your_auth_token}' \
2192
2192
  --data '{
@@ -2256,7 +2256,7 @@ await zendesk_support.ticket_forms.get(
2256
2256
  **API**
2257
2257
 
2258
2258
  ```bash
2259
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
2259
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
2260
2260
  --header 'Content-Type: application/json' \
2261
2261
  --header 'Authorization: Bearer {your_auth_token}' \
2262
2262
  --data '{
@@ -2319,7 +2319,7 @@ await zendesk_support.articles.list()
2319
2319
  **API**
2320
2320
 
2321
2321
  ```bash
2322
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
2322
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
2323
2323
  --header 'Content-Type: application/json' \
2324
2324
  --header 'Authorization: Bearer {your_auth_token}' \
2325
2325
  --data '{
@@ -2388,7 +2388,7 @@ await zendesk_support.articles.get(
2388
2388
  **API**
2389
2389
 
2390
2390
  ```bash
2391
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
2391
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
2392
2392
  --header 'Content-Type: application/json' \
2393
2393
  --header 'Authorization: Bearer {your_auth_token}' \
2394
2394
  --data '{
@@ -2452,7 +2452,7 @@ await zendesk_support.article_attachments.list(
2452
2452
  **API**
2453
2453
 
2454
2454
  ```bash
2455
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
2455
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
2456
2456
  --header 'Content-Type: application/json' \
2457
2457
  --header 'Authorization: Bearer {your_auth_token}' \
2458
2458
  --data '{
@@ -2518,7 +2518,7 @@ await zendesk_support.article_attachments.get(
2518
2518
  **API**
2519
2519
 
2520
2520
  ```bash
2521
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
2521
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
2522
2522
  --header 'Content-Type: application/json' \
2523
2523
  --header 'Authorization: Bearer {your_auth_token}' \
2524
2524
  --data '{
@@ -2577,7 +2577,7 @@ async for chunk in zendesk_support.article_attachments.download( article_id=0
2577
2577
  **API**
2578
2578
 
2579
2579
  ```bash
2580
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \
2580
+ curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
2581
2581
  --header 'Content-Type: application/json' \
2582
2582
  --header 'Authorization: Bearer {your_auth_token}' \
2583
2583
  --data '{
@@ -2639,11 +2639,12 @@ ZendeskSupportConnector(
2639
2639
  **API**
2640
2640
 
2641
2641
  ```bash
2642
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \
2642
+ curl --location 'https://api.airbyte.ai/api/v1/integrations/sources' \
2643
2643
  --header 'Content-Type: application/json' \
2644
2644
  --header 'Authorization: Bearer {your_auth_token}' \
2645
2645
  --data '{
2646
- "connector_definition_id": "79c1aa37-dae3-42ae-b333-d1c105477715",
2646
+ "workspace_id": "{your_workspace_id}",
2647
+ "source_template_id": "{source_template_id}",
2647
2648
  "auth_config": {
2648
2649
  "access_token": "<OAuth 2.0 access token>",
2649
2650
  "refresh_token": "<OAuth 2.0 refresh token (optional)>"
@@ -2676,11 +2677,12 @@ ZendeskSupportConnector(
2676
2677
  **API**
2677
2678
 
2678
2679
  ```bash
2679
- curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \
2680
+ curl --location 'https://api.airbyte.ai/api/v1/integrations/sources' \
2680
2681
  --header 'Content-Type: application/json' \
2681
2682
  --header 'Authorization: Bearer {your_auth_token}' \
2682
2683
  --data '{
2683
- "connector_definition_id": "79c1aa37-dae3-42ae-b333-d1c105477715",
2684
+ "workspace_id": "{your_workspace_id}",
2685
+ "source_template_id": "{source_template_id}",
2684
2686
  "auth_config": {
2685
2687
  "email": "<Your Zendesk account email address>",
2686
2688
  "api_token": "<Your Zendesk API token from Admin Center>"
@@ -519,13 +519,14 @@ def _parse_oauth2_config(scheme: Any) -> dict[str, str]:
519
519
  config["refresh_url"] = refresh_url
520
520
 
521
521
  # Extract custom refresh configuration from x-airbyte-token-refresh extension
522
+ # Note: x_token_refresh is a Dict[str, Any], not a Pydantic model, so use .get()
522
523
  x_token_refresh = getattr(scheme, "x_token_refresh", None)
523
524
  if x_token_refresh:
524
- auth_style = getattr(x_token_refresh, "auth_style", None)
525
+ auth_style = x_token_refresh.get("auth_style")
525
526
  if auth_style:
526
527
  config["auth_style"] = auth_style
527
528
 
528
- body_format = getattr(x_token_refresh, "body_format", None)
529
+ body_format = x_token_refresh.get("body_format")
529
530
  if body_format:
530
531
  config["body_format"] = body_format
531
532
 
@@ -495,6 +495,14 @@ class LocalExecutor:
495
495
  print(result.data)
496
496
  """
497
497
  try:
498
+ # Check for hosted-only actions before converting to Action enum
499
+ if config.action == "search":
500
+ raise NotImplementedError(
501
+ "search is only available in hosted execution mode. "
502
+ "Initialize the connector with external_user_id, airbyte_client_id, "
503
+ "and airbyte_client_secret to use this feature."
504
+ )
505
+
498
506
  # Convert config to internal format
499
507
  action = Action(config.action) if isinstance(config.action, str) else config.action
500
508
  params = config.params or {}
@@ -13,7 +13,7 @@ from uuid import UUID
13
13
  from pydantic import BaseModel, ConfigDict, Field, field_validator
14
14
  from pydantic_core import Url
15
15
 
16
- from .extensions import RetryConfig
16
+ from .extensions import CacheConfig, RetryConfig
17
17
 
18
18
 
19
19
  class ExampleQuestions(BaseModel):
@@ -105,6 +105,7 @@ class Info(BaseModel):
105
105
  - x-airbyte-external-documentation-urls: List of external documentation URLs (Airbyte extension)
106
106
  - x-airbyte-retry-config: Retry configuration for transient errors (Airbyte extension)
107
107
  - x-airbyte-example-questions: Example questions for AI connector README (Airbyte extension)
108
+ - x-airbyte-cache: Cache configuration for field mapping between API and cache schemas (Airbyte extension)
108
109
  """
109
110
 
110
111
  model_config = ConfigDict(populate_by_name=True, extra="forbid")
@@ -122,6 +123,7 @@ class Info(BaseModel):
122
123
  x_airbyte_external_documentation_urls: list[DocUrl] = Field(..., alias="x-airbyte-external-documentation-urls")
123
124
  x_airbyte_retry_config: RetryConfig | None = Field(None, alias="x-airbyte-retry-config")
124
125
  x_airbyte_example_questions: ExampleQuestions | None = Field(None, alias="x-airbyte-example-questions")
126
+ x_airbyte_cache: CacheConfig | None = Field(None, alias="x-airbyte-cache")
125
127
 
126
128
 
127
129
  class ServerVariable(BaseModel):
@@ -150,6 +152,7 @@ class Server(BaseModel):
150
152
  url: str
151
153
  description: str | None = None
152
154
  variables: Dict[str, ServerVariable] = Field(default_factory=dict)
155
+ x_airbyte_replication_user_config_mapping: Dict[str, str] | None = Field(default=None, alias="x-airbyte-replication-user-config-mapping")
153
156
 
154
157
  @field_validator("url")
155
158
  @classmethod
@@ -0,0 +1,230 @@
1
+ """
2
+ Extension models for future features.
3
+
4
+ These models are defined but NOT yet added to the main schema models.
5
+ They serve as:
6
+ 1. Type hints for future use
7
+ 2. Documentation of planned extensions
8
+ 3. Ready-to-use structures when features are implemented
9
+
10
+ NOTE: These are not currently active in the schema. They will be added
11
+ to Operation, Schema, or other models when their respective features
12
+ are implemented.
13
+ """
14
+
15
+ from typing import Literal
16
+
17
+ from pydantic import BaseModel, ConfigDict, Field
18
+
19
+
20
+ class PaginationConfig(BaseModel):
21
+ """
22
+ Configuration for pagination support.
23
+
24
+ NOT YET USED - Defined for future implementation.
25
+
26
+ When active, will be added to Operation model as:
27
+ x_pagination: Optional[PaginationConfig] = Field(None, alias="x-pagination")
28
+ """
29
+
30
+ model_config = ConfigDict(populate_by_name=True, extra="forbid")
31
+
32
+ style: Literal["cursor", "offset", "page", "link"]
33
+ limit_param: str = "limit"
34
+
35
+ # Cursor-based pagination
36
+ cursor_param: str | None = None
37
+ cursor_source: Literal["body", "headers"] | None = "body"
38
+ cursor_path: str | None = None
39
+
40
+ # Offset-based pagination
41
+ offset_param: str | None = None
42
+
43
+ # Page-based pagination
44
+ page_param: str | None = None
45
+
46
+ # Response parsing
47
+ data_path: str = "data"
48
+ has_more_path: str | None = None
49
+
50
+ # Limits
51
+ max_page_size: int | None = None
52
+ default_page_size: int = 100
53
+
54
+
55
+ class RateLimitConfig(BaseModel):
56
+ """
57
+ Configuration for rate limiting.
58
+
59
+ NOT YET USED - Defined for future implementation.
60
+
61
+ When active, might be added to Server or root OpenAPIConnector as:
62
+ x_rate_limit: Optional[RateLimitConfig] = Field(None, alias="x-rate-limit")
63
+ """
64
+
65
+ model_config = ConfigDict(populate_by_name=True, extra="forbid")
66
+
67
+ max_requests: int
68
+ time_window_seconds: int
69
+ retry_after_header: str | None = "Retry-After"
70
+ respect_retry_after: bool = True
71
+
72
+
73
+ class RetryConfig(BaseModel):
74
+ """
75
+ Configuration for retry strategy with exponential backoff.
76
+
77
+ Used to configure automatic retries for transient errors (429, 5xx, timeouts, network errors).
78
+ Can be specified at the connector level via x-airbyte-retry-config in the OpenAPI spec's info section.
79
+
80
+ By default, retries are enabled with max_attempts=3. To disable retries, set max_attempts=1
81
+ in your connector's x-airbyte-retry-config.
82
+
83
+ Example YAML usage:
84
+ info:
85
+ title: My API
86
+ x-airbyte-retry-config:
87
+ max_attempts: 5
88
+ initial_delay_seconds: 2.0
89
+ retry_after_header: "X-RateLimit-Reset"
90
+ retry_after_format: "unix_timestamp"
91
+ """
92
+
93
+ model_config = ConfigDict(populate_by_name=True, extra="forbid")
94
+
95
+ # Core retry settings (max_attempts=3 enables retries by default)
96
+ max_attempts: int = 3
97
+ initial_delay_seconds: float = 1.0
98
+ max_delay_seconds: float = 60.0
99
+ exponential_base: float = 2.0
100
+ jitter: bool = True
101
+
102
+ # Which errors to retry
103
+ retry_on_status_codes: list[int] = [429, 500, 502, 503, 504]
104
+ retry_on_timeout: bool = True
105
+ retry_on_network_error: bool = True
106
+
107
+ # Header-based delay extraction
108
+ retry_after_header: str = "Retry-After"
109
+ retry_after_format: Literal["seconds", "milliseconds", "unix_timestamp"] = "seconds"
110
+
111
+
112
+ class CacheFieldProperty(BaseModel):
113
+ """
114
+ Nested property definition for object-type cache fields.
115
+
116
+ Supports recursive nesting to represent complex nested schemas in cache field definitions.
117
+ Used when a cache field has type 'object' and needs to define its internal structure.
118
+
119
+ Example YAML usage:
120
+ - name: collaboration
121
+ type: ['null', 'object']
122
+ description: "Collaboration data"
123
+ properties:
124
+ brief:
125
+ type: ['null', 'string']
126
+ comments:
127
+ type: ['null', 'array']
128
+ """
129
+
130
+ model_config = ConfigDict(populate_by_name=True, extra="forbid")
131
+
132
+ type: str | list[str]
133
+ properties: dict[str, "CacheFieldProperty"] | None = None
134
+
135
+
136
+ class CacheFieldConfig(BaseModel):
137
+ """
138
+ Field configuration for cache mapping.
139
+
140
+ Defines a single field in a cache entity, with optional name aliasing
141
+ to map between user-facing field names and cache storage names.
142
+
143
+ For object-type fields, supports nested properties to define the internal structure
144
+ of complex nested schemas.
145
+
146
+ Used in x-airbyte-cache extension for api_search operations.
147
+ """
148
+
149
+ model_config = ConfigDict(populate_by_name=True, extra="forbid")
150
+
151
+ name: str
152
+ x_airbyte_name: str | None = Field(default=None, alias="x-airbyte-name")
153
+ type: str | list[str]
154
+ description: str
155
+ properties: dict[str, CacheFieldProperty] | None = None
156
+
157
+ @property
158
+ def cache_name(self) -> str:
159
+ """Return cache name, falling back to name if alias not specified."""
160
+ return self.x_airbyte_name or self.name
161
+
162
+
163
+ class CacheEntityConfig(BaseModel):
164
+ """
165
+ Entity configuration for cache mapping.
166
+
167
+ Defines a cache-enabled entity with its fields and optional name aliasing
168
+ to map between user-facing entity names and cache storage names.
169
+
170
+ Used in x-airbyte-cache extension for api_search operations.
171
+ """
172
+
173
+ model_config = ConfigDict(populate_by_name=True, extra="forbid")
174
+
175
+ entity: str
176
+ x_airbyte_name: str | None = Field(default=None, alias="x-airbyte-name")
177
+ fields: list[CacheFieldConfig]
178
+
179
+ @property
180
+ def cache_name(self) -> str:
181
+ """Return cache entity name, falling back to entity if alias not specified."""
182
+ return self.x_airbyte_name or self.entity
183
+
184
+
185
+ class CacheConfig(BaseModel):
186
+ """
187
+ Cache configuration extension (x-airbyte-cache).
188
+
189
+ Defines cache-enabled entities and their field mappings for api_search operations.
190
+ Supports optional name aliasing via x-airbyte-name for both entities and fields,
191
+ enabling bidirectional mapping between user-facing names and cache storage names.
192
+
193
+ This extension is added to the Info model and provides field-level mapping for
194
+ search operations that use cached data.
195
+
196
+ Example YAML usage:
197
+ info:
198
+ title: Stripe API
199
+ x-airbyte-cache:
200
+ entities:
201
+ - entity: customers
202
+ stream: customers
203
+ fields:
204
+ - name: email
205
+ type: ["null", "string"]
206
+ description: "Customer email address"
207
+ - name: customer_name
208
+ x-airbyte-name: name
209
+ type: ["null", "string"]
210
+ description: "Customer full name"
211
+ """
212
+
213
+ model_config = ConfigDict(populate_by_name=True, extra="forbid")
214
+
215
+ entities: list[CacheEntityConfig]
216
+
217
+ def get_entity_mapping(self, user_entity: str) -> CacheEntityConfig | None:
218
+ """
219
+ Get entity config by user-facing name.
220
+
221
+ Args:
222
+ user_entity: User-facing entity name to look up
223
+
224
+ Returns:
225
+ CacheEntityConfig if found, None otherwise
226
+ """
227
+ for entity in self.entities:
228
+ if entity.entity == user_entity:
229
+ return entity
230
+ return None
@@ -112,6 +112,7 @@ from .models import (
112
112
  _F = TypeVar("_F", bound=Callable[..., Any])
113
113
 
114
114
 
115
+
115
116
  class ZendeskSupportConnector:
116
117
  """
117
118
  Type-safe Zendesk-Support API connector.
@@ -120,7 +121,7 @@ class ZendeskSupportConnector:
120
121
  """
121
122
 
122
123
  connector_name = "zendesk-support"
123
- connector_version = "0.1.4"
124
+ connector_version = "0.1.5"
124
125
  vendored_sdk_version = "0.1.0" # Version of vendored connector-sdk
125
126
 
126
127
  # Map of (entity, action) -> needs_envelope for envelope wrapping decision
@@ -30,7 +30,7 @@ from uuid import (
30
30
  ZendeskSupportConnectorModel: ConnectorModel = ConnectorModel(
31
31
  id=UUID('79c1aa37-dae3-42ae-b333-d1c105477715'),
32
32
  name='zendesk-support',
33
- version='0.1.4',
33
+ version='0.1.5',
34
34
  base_url='https://{subdomain}.zendesk.com/api/v2',
35
35
  auth=AuthConfig(
36
36
  options=[
@@ -60,7 +60,7 @@ ZendeskSupportConnectorModel: ConnectorModel = ConnectorModel(
60
60
  ),
61
61
  },
62
62
  auth_mapping={'access_token': '${access_token}', 'refresh_token': '${refresh_token}'},
63
- replication_auth_key_mapping={'access_token': 'access_token'},
63
+ replication_auth_key_mapping={'credentials.access_token': 'access_token'},
64
64
  ),
65
65
  ),
66
66
  AuthOption(
@@ -84,7 +84,7 @@ ZendeskSupportConnectorModel: ConnectorModel = ConnectorModel(
84
84
  ),
85
85
  },
86
86
  auth_mapping={'username': '${email}/token', 'password': '${api_token}'},
87
- replication_auth_key_mapping={'email': 'email', 'api_token': 'api_token'},
87
+ replication_auth_key_mapping={'credentials.email': 'email', 'credentials.api_token': 'api_token'},
88
88
  ),
89
89
  ),
90
90
  ],
@@ -669,6 +669,7 @@ class ZendeskSupportExecuteResultWithMeta(ZendeskSupportExecuteResult[T], Generi
669
669
  """Metadata about the response (e.g., pagination cursors, record counts)."""
670
670
 
671
671
 
672
+
672
673
  # ===== OPERATION RESULT TYPE ALIASES =====
673
674
 
674
675
  # Concrete type aliases for each operation result.
@@ -214,3 +214,4 @@ class ArticleAttachmentsDownloadParams(TypedDict):
214
214
  article_id: str
215
215
  attachment_id: str
216
216
  range_header: NotRequired[str]
217
+
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "airbyte-agent-zendesk-support"
3
- version = "0.18.42"
3
+ version = "0.18.47"
4
4
  description = "Airbyte Zendesk-Support Connector for AI platforms"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -1,109 +0,0 @@
1
- """
2
- Extension models for future features.
3
-
4
- These models are defined but NOT yet added to the main schema models.
5
- They serve as:
6
- 1. Type hints for future use
7
- 2. Documentation of planned extensions
8
- 3. Ready-to-use structures when features are implemented
9
-
10
- NOTE: These are not currently active in the schema. They will be added
11
- to Operation, Schema, or other models when their respective features
12
- are implemented.
13
- """
14
-
15
- from typing import Literal
16
-
17
- from pydantic import BaseModel, ConfigDict
18
-
19
-
20
- class PaginationConfig(BaseModel):
21
- """
22
- Configuration for pagination support.
23
-
24
- NOT YET USED - Defined for future implementation.
25
-
26
- When active, will be added to Operation model as:
27
- x_pagination: Optional[PaginationConfig] = Field(None, alias="x-pagination")
28
- """
29
-
30
- model_config = ConfigDict(populate_by_name=True, extra="forbid")
31
-
32
- style: Literal["cursor", "offset", "page", "link"]
33
- limit_param: str = "limit"
34
-
35
- # Cursor-based pagination
36
- cursor_param: str | None = None
37
- cursor_source: Literal["body", "headers"] | None = "body"
38
- cursor_path: str | None = None
39
-
40
- # Offset-based pagination
41
- offset_param: str | None = None
42
-
43
- # Page-based pagination
44
- page_param: str | None = None
45
-
46
- # Response parsing
47
- data_path: str = "data"
48
- has_more_path: str | None = None
49
-
50
- # Limits
51
- max_page_size: int | None = None
52
- default_page_size: int = 100
53
-
54
-
55
- class RateLimitConfig(BaseModel):
56
- """
57
- Configuration for rate limiting.
58
-
59
- NOT YET USED - Defined for future implementation.
60
-
61
- When active, might be added to Server or root OpenAPIConnector as:
62
- x_rate_limit: Optional[RateLimitConfig] = Field(None, alias="x-rate-limit")
63
- """
64
-
65
- model_config = ConfigDict(populate_by_name=True, extra="forbid")
66
-
67
- max_requests: int
68
- time_window_seconds: int
69
- retry_after_header: str | None = "Retry-After"
70
- respect_retry_after: bool = True
71
-
72
-
73
- class RetryConfig(BaseModel):
74
- """
75
- Configuration for retry strategy with exponential backoff.
76
-
77
- Used to configure automatic retries for transient errors (429, 5xx, timeouts, network errors).
78
- Can be specified at the connector level via x-airbyte-retry-config in the OpenAPI spec's info section.
79
-
80
- By default, retries are enabled with max_attempts=3. To disable retries, set max_attempts=1
81
- in your connector's x-airbyte-retry-config.
82
-
83
- Example YAML usage:
84
- info:
85
- title: My API
86
- x-airbyte-retry-config:
87
- max_attempts: 5
88
- initial_delay_seconds: 2.0
89
- retry_after_header: "X-RateLimit-Reset"
90
- retry_after_format: "unix_timestamp"
91
- """
92
-
93
- model_config = ConfigDict(populate_by_name=True, extra="forbid")
94
-
95
- # Core retry settings (max_attempts=3 enables retries by default)
96
- max_attempts: int = 3
97
- initial_delay_seconds: float = 1.0
98
- max_delay_seconds: float = 60.0
99
- exponential_base: float = 2.0
100
- jitter: bool = True
101
-
102
- # Which errors to retry
103
- retry_on_status_codes: list[int] = [429, 500, 502, 503, 504]
104
- retry_on_timeout: bool = True
105
- retry_on_network_error: bool = True
106
-
107
- # Header-based delay extraction
108
- retry_after_header: str = "Retry-After"
109
- retry_after_format: Literal["seconds", "milliseconds", "unix_timestamp"] = "seconds"