diff --git a/.markdownlintignore b/.markdownlintignore new file mode 100644 index 00000000000..61d825ad239 --- /dev/null +++ b/.markdownlintignore @@ -0,0 +1,3 @@ +# Ignore auto-generated connector documentation files synced from airbyte-agent-connectors repo +# These files are generated and have formatting that doesn't conform to markdownlint rules +docs/ai-agents/connectors/** diff --git a/docs/ai-agents/README.md b/docs/ai-agents/README.md index 501de5df8eb..83c033d3af3 100644 --- a/docs/ai-agents/README.md +++ b/docs/ai-agents/README.md @@ -1,6 +1,16 @@ -import Taxonomy from "@site/static/_taxonomy_of_data_movement.md"; +--- +sidebar_position: 1 +--- -# Agent engine +# AI agents + +Airbyte provides a set of tools to help you automate, understand, move, and work with your data in coordination with AI agents. Some of these tools are standalone open source solutions, and others are paid solutions built on top of Airbyte Cloud. + +- **Agent connectors**: Use Airbyte's AI-optimized, type-safe connectors to power your own AI agents, or use them with Airbyte's Connector MCP server. [View the GitHub repo](https://github.com/airbytehq/airbyte-agent-connectors) or [try the tutorial](quickstarts). You can set up your own agent and explore your data in 15 minutes or less. + +- **Airbyte Embedded**: Add hundreds of integrations into your product instantly. Your end-users can authenticate into their data sources and begin syncing data to your product. You no longer need to spend engineering cycles on data movement. Focus on what makes your product great, rather than maintaining data integrations. + + diff --git a/docs/ai-agents/connectors/asana/CHANGELOG.md b/docs/ai-agents/connectors/asana/CHANGELOG.md new file mode 100644 index 00000000000..40f6396bab1 --- /dev/null +++ b/docs/ai-agents/connectors/asana/CHANGELOG.md @@ -0,0 +1,146 @@ +# Changelog + +## [0.19.10] - 2025-12-13 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 1ab72bd8 +- SDK version: 0.1.0 + +## [0.19.9] - 2025-12-12 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 4d366cb5 +- SDK version: 0.1.0 + +## [0.19.8] - 2025-12-12 +- Updated connector definition (YAML version 0.1.0) +- Source commit: dc79dc8b +- SDK version: 0.1.0 + +## [0.19.7] - 2025-12-12 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 9f7f8a98 +- SDK version: 0.1.0 + +## [0.19.6] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 8c06aa10 +- SDK version: 0.1.0 + +## [0.19.5] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 11427ac3 +- SDK version: 0.1.0 + +## [0.19.4] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: bdd5df6d +- SDK version: 0.1.0 + +## [0.19.3] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: f2497f71 +- SDK version: 0.1.0 + +## [0.19.2] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 7d738be5 +- SDK version: 0.1.0 + +## [0.19.1] - 2025-12-10 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 76636830 +- SDK version: 0.1.0 + +## [0.19.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: f2ad5029 +- SDK version: 0.1.0 + +## [0.18.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 139b0b0d +- SDK version: 0.1.0 + +## [0.17.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: e96bed3d +- SDK version: 0.1.0 + +## [0.16.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: ed697b90 +- SDK version: 0.1.0 + +## [0.15.0] - 2025-12-05 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 20618410 +- SDK version: 0.1.0 + +## [0.14.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 4a01e446 +- SDK version: 0.1.0 + +## [0.13.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 5ec76dde +- SDK version: 0.1.0 + +## [0.12.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: df32a458 +- SDK version: 0.1.0 + +## [0.11.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: a506b369 +- SDK version: 0.1.0 + +## [0.10.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 92a39ab5 +- SDK version: 0.1.0 + +## [0.9.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 0ce38253 +- SDK version: 0.1.0 + +## [0.8.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: c8e326d9 +- SDK version: 0.1.0 + +## [0.7.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: ad0b961b +- SDK version: 0.1.0 + +## [0.6.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 7153780a +- SDK version: 0.1.0 + +## [0.5.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 01f71cad +- SDK version: 0.1.0 + +## [0.4.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 4c17f060 +- SDK version: 0.1.0 + +## [0.3.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 430a4e68 +- SDK version: 0.1.0 + +## [0.2.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: cd499acd +- SDK version: 0.1.0 + +## [0.1.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: b261c3a2 +- SDK version: 0.1.0 diff --git a/docs/ai-agents/connectors/asana/README.md b/docs/ai-agents/connectors/asana/README.md new file mode 100644 index 00000000000..526fde66a96 --- /dev/null +++ b/docs/ai-agents/connectors/asana/README.md @@ -0,0 +1,82 @@ +# Airbyte Asana AI Connector + +Asana is a work management platform that helps teams organize, track, and manage +projects and tasks. This connector provides access to tasks, projects, workspaces, +teams, and users for project tracking, workload analysis, and productivity insights. + + +## Example Questions + +- What tasks are assigned to me this week? +- List all projects in my workspace +- Summarize my team's workload and task completion rates +- Show me the tasks for the [ProjectName] project +- Who are the team members in my [TeamName] team? +- Find all tasks related to [ClientName] across my workspaces +- Analyze the most active projects in my workspace last month +- Compare task completion rates between my different teams +- Identify overdue tasks across all my projects +- Show me details of my current workspace and its users + +## Unsupported Questions + +- Create a new task for [TeamMember] +- Update the priority of this task +- Delete the project [ProjectName] +- Schedule a new team meeting +- Add a new team member to [Workspace] +- Move this task to another project + +## Installation + +```bash +uv pip install airbyte-ai-asana +``` + +## Usage + +```python +from airbyte_ai_asana import AsanaConnector, AsanaAuthConfig + +connector = AsanaConnector( + auth_config=AsanaAuthConfig( + access_token="...", + refresh_token="...", + client_id="...", + client_secret="..." + ) +) +result = connector.tasks.list() +``` + +## Documentation + +| Entity | Actions | +|--------|---------| +| Tasks | [List](./REFERENCE.md#tasks-list), [Get](./REFERENCE.md#tasks-get) | +| Project Tasks | [List](./REFERENCE.md#project-tasks-list) | +| Workspace Task Search | [List](./REFERENCE.md#workspace-task-search-list) | +| Projects | [List](./REFERENCE.md#projects-list), [Get](./REFERENCE.md#projects-get) | +| Task Projects | [List](./REFERENCE.md#task-projects-list) | +| Team Projects | [List](./REFERENCE.md#team-projects-list) | +| Workspace Projects | [List](./REFERENCE.md#workspace-projects-list) | +| Workspaces | [List](./REFERENCE.md#workspaces-list), [Get](./REFERENCE.md#workspaces-get) | +| Users | [List](./REFERENCE.md#users-list), [Get](./REFERENCE.md#users-get) | +| Workspace Users | [List](./REFERENCE.md#workspace-users-list) | +| Team Users | [List](./REFERENCE.md#team-users-list) | +| Teams | [Get](./REFERENCE.md#teams-get) | +| Workspace Teams | [List](./REFERENCE.md#workspace-teams-list) | +| User Teams | [List](./REFERENCE.md#user-teams-list) | + + +For detailed documentation on available actions and parameters, see [REFERENCE.md](./REFERENCE.md). + +For the service's official API docs, see [Asana API Reference](https://developers.asana.com/reference/rest-api-reference). + +## Version Information + +**Package Version:** 0.19.10 + +**Connector Version:** 0.1.1 + +**Generated with connector-sdk:** 1ab72bd8e7249872a4cf66327dd1a0bf68905acb \ No newline at end of file diff --git a/docs/ai-agents/connectors/asana/REFERENCE.md b/docs/ai-agents/connectors/asana/REFERENCE.md new file mode 100644 index 00000000000..1d6a235f408 --- /dev/null +++ b/docs/ai-agents/connectors/asana/REFERENCE.md @@ -0,0 +1,1129 @@ +# Asana + +## Supported Entities and Actions + +| Entity | Actions | +|--------|---------| +| Tasks | [List](#tasks-list), [Get](#tasks-get) | +| Project Tasks | [List](#project-tasks-list) | +| Workspace Task Search | [List](#workspace-task-search-list) | +| Projects | [List](#projects-list), [Get](#projects-get) | +| Task Projects | [List](#task-projects-list) | +| Team Projects | [List](#team-projects-list) | +| Workspace Projects | [List](#workspace-projects-list) | +| Workspaces | [List](#workspaces-list), [Get](#workspaces-get) | +| Users | [List](#users-list), [Get](#users-get) | +| Workspace Users | [List](#workspace-users-list) | +| Team Users | [List](#team-users-list) | +| Teams | [Get](#teams-get) | +| Workspace Teams | [List](#workspace-teams-list) | +| User Teams | [List](#user-teams-list) | + +### Tasks + +#### Tasks List + +Returns a paginated list of tasks + +**Python SDK** + +```python +asana.tasks.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "tasks", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `limit` | `integer` | No | Number of items to return per page | +| `offset` | `string` | No | Pagination offset token | +| `project` | `string` | No | The project to filter tasks on | +| `workspace` | `string` | No | The workspace to filter tasks on | +| `section` | `string` | No | The workspace to filter tasks on | +| `assignee` | `string` | No | The assignee to filter tasks on | +| `completed_since` | `string` | No | Only return tasks that have been completed since this time | +| `modified_since` | `string` | No | Only return tasks that have been completed since this time | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | +| `resource_subtype` | `string` | | +| `created_by` | `object` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `object \| null` | | + +
+ +#### Tasks Get + +Get a single task by its ID + +**Python SDK** + +```python +asana.tasks.get( + task_gid="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "tasks", + "action": "get", + "params": { + "task_gid": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `task_gid` | `string` | Yes | Task GID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | + + +
+ +### Project Tasks + +#### Project Tasks List + +Returns all tasks in a project + +**Python SDK** + +```python +asana.project_tasks.list( + project_gid="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "project_tasks", + "action": "list", + "params": { + "project_gid": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `project_gid` | `string` | Yes | Project GID to list tasks from | +| `limit` | `integer` | No | Number of items to return per page | +| `offset` | `string` | No | Pagination offset token | +| `completed_since` | `string` | No | Only return tasks that have been completed since this time | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | +| `resource_subtype` | `string` | | +| `created_by` | `object` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `object \| null` | | + +
+ +### Workspace Task Search + +#### Workspace Task Search List + +Returns tasks that match the specified search criteria. Note - This endpoint requires a premium Asana account. + +**Python SDK** + +```python +asana.workspace_task_search.list( + workspace_gid="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "workspace_task_search", + "action": "list", + "params": { + "workspace_gid": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `workspace_gid` | `string` | Yes | Workspace GID to search tasks in | +| `limit` | `integer` | No | Number of items to return per page | +| `offset` | `string` | No | Pagination offset token | +| `text` | `string` | No | Search text to filter tasks | +| `completed` | `boolean` | No | Filter by completion status | +| `assignee.any` | `string` | No | Comma-separated list of assignee GIDs | +| `projects.any` | `string` | No | Comma-separated list of project GIDs | +| `sections.any` | `string` | No | Comma-separated list of section GIDs | +| `teams.any` | `string` | No | Comma-separated list of team GIDs | +| `followers.any` | `string` | No | Comma-separated list of follower GIDs | +| `created_at.after` | `string` | No | Filter tasks created after this date (ISO 8601 format) | +| `created_at.before` | `string` | No | Filter tasks created before this date (ISO 8601 format) | +| `modified_at.after` | `string` | No | Filter tasks modified after this date (ISO 8601 format) | +| `modified_at.before` | `string` | No | Filter tasks modified before this date (ISO 8601 format) | +| `due_on.after` | `string` | No | Filter tasks due after this date (ISO 8601 date format) | +| `due_on.before` | `string` | No | Filter tasks due before this date (ISO 8601 date format) | +| `resource_subtype` | `string` | No | Filter by task resource subtype (e.g., default_task, milestone) | +| `sort_by` | `string` | No | Field to sort by (e.g., created_at, modified_at, due_date) | +| `sort_ascending` | `boolean` | No | Sort order (true for ascending, false for descending) | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | +| `resource_subtype` | `string` | | +| `created_by` | `object` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `object \| null` | | + +
+ +### Projects + +#### Projects List + +Returns a paginated list of projects + +**Python SDK** + +```python +asana.projects.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "projects", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `limit` | `integer` | No | Number of items to return per page | +| `offset` | `string` | No | Pagination offset token | +| `workspace` | `string` | No | The workspace to filter projects on | +| `team` | `string` | No | The team to filter projects on | +| `archived` | `boolean` | No | Filter by archived status | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `object \| null` | | + +
+ +#### Projects Get + +Get a single project by its ID + +**Python SDK** + +```python +asana.projects.get( + project_gid="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "projects", + "action": "get", + "params": { + "project_gid": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `project_gid` | `string` | Yes | Project GID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `archived` | `boolean` | | +| `color` | `string \| null` | | +| `completed` | `boolean` | | +| `completed_at` | `string \| null` | | +| `created_at` | `string` | | +| `current_status` | `object \| null` | | +| `current_status_update` | `object \| null` | | +| `custom_fields` | `array` | | +| `default_access_level` | `string` | | +| `default_view` | `string` | | +| `due_on` | `string \| null` | | +| `due_date` | `string \| null` | | +| `followers` | `array` | | +| `members` | `array` | | +| `minimum_access_level_for_customization` | `string` | | +| `minimum_access_level_for_sharing` | `string` | | +| `modified_at` | `string` | | +| `name` | `string` | | +| `notes` | `string` | | +| `owner` | `object` | | +| `permalink_url` | `string` | | +| `privacy_setting` | `string` | | +| `public` | `boolean` | | +| `resource_type` | `string` | | +| `start_on` | `string \| null` | | +| `team` | `object` | | +| `workspace` | `object` | | + + + + +### Task Projects + +#### Task Projects List + +Returns all projects a task is in + +**Python SDK** + +```python +asana.task_projects.list( + task_gid="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "task_projects", + "action": "list", + "params": { + "task_gid": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `task_gid` | `string` | Yes | Task GID to list projects from | +| `limit` | `integer` | No | Number of items to return per page | +| `offset` | `string` | No | Pagination offset token | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `object \| null` | | + +
+ +### Team Projects + +#### Team Projects List + +Returns all projects for a team + +**Python SDK** + +```python +asana.team_projects.list( + team_gid="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "team_projects", + "action": "list", + "params": { + "team_gid": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `team_gid` | `string` | Yes | Team GID to list projects from | +| `limit` | `integer` | No | Number of items to return per page | +| `offset` | `string` | No | Pagination offset token | +| `archived` | `boolean` | No | Filter by archived status | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `object \| null` | | + +
+ +### Workspace Projects + +#### Workspace Projects List + +Returns all projects in a workspace + +**Python SDK** + +```python +asana.workspace_projects.list( + workspace_gid="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "workspace_projects", + "action": "list", + "params": { + "workspace_gid": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `workspace_gid` | `string` | Yes | Workspace GID to list projects from | +| `limit` | `integer` | No | Number of items to return per page | +| `offset` | `string` | No | Pagination offset token | +| `archived` | `boolean` | No | Filter by archived status | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `object \| null` | | + +
+ +### Workspaces + +#### Workspaces List + +Returns a paginated list of workspaces + +**Python SDK** + +```python +asana.workspaces.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "workspaces", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `limit` | `integer` | No | Number of items to return per page | +| `offset` | `string` | No | Pagination offset token | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `object \| null` | | + +
+ +#### Workspaces Get + +Get a single workspace by its ID + +**Python SDK** + +```python +asana.workspaces.get( + workspace_gid="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "workspaces", + "action": "get", + "params": { + "workspace_gid": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `workspace_gid` | `string` | Yes | Workspace GID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | +| `email_domains` | `array` | | +| `is_organization` | `boolean` | | + + +
+ +### Users + +#### Users List + +Returns a paginated list of users + +**Python SDK** + +```python +asana.users.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `limit` | `integer` | No | Number of items to return per page | +| `offset` | `string` | No | Pagination offset token | +| `workspace` | `string` | No | The workspace to filter users on | +| `team` | `string` | No | The team to filter users on | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `object \| null` | | + +
+ +#### Users Get + +Get a single user by their ID + +**Python SDK** + +```python +asana.users.get( + user_gid="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "get", + "params": { + "user_gid": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `user_gid` | `string` | Yes | User GID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `email` | `string` | | +| `name` | `string` | | +| `photo` | `object \| null` | | +| `resource_type` | `string` | | +| `workspaces` | `array` | | + + + + +### Workspace Users + +#### Workspace Users List + +Returns all users in a workspace + +**Python SDK** + +```python +asana.workspace_users.list( + workspace_gid="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "workspace_users", + "action": "list", + "params": { + "workspace_gid": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `workspace_gid` | `string` | Yes | Workspace GID to list users from | +| `limit` | `integer` | No | Number of items to return per page | +| `offset` | `string` | No | Pagination offset token | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `object \| null` | | + +
+ +### Team Users + +#### Team Users List + +Returns all users in a team + +**Python SDK** + +```python +asana.team_users.list( + team_gid="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "team_users", + "action": "list", + "params": { + "team_gid": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `team_gid` | `string` | Yes | Team GID to list users from | +| `limit` | `integer` | No | Number of items to return per page | +| `offset` | `string` | No | Pagination offset token | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `object \| null` | | + +
+ +### Teams + +#### Teams Get + +Get a single team by its ID + +**Python SDK** + +```python +asana.teams.get( + team_gid="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "teams", + "action": "get", + "params": { + "team_gid": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `team_gid` | `string` | Yes | Team GID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `name` | `string` | | +| `organization` | `object` | | +| `permalink_url` | `string` | | +| `resource_type` | `string` | | + + +
+ +### Workspace Teams + +#### Workspace Teams List + +Returns all teams in a workspace + +**Python SDK** + +```python +asana.workspace_teams.list( + workspace_gid="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "workspace_teams", + "action": "list", + "params": { + "workspace_gid": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `workspace_gid` | `string` | Yes | Workspace GID to list teams from | +| `limit` | `integer` | No | Number of items to return per page | +| `offset` | `string` | No | Pagination offset token | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `object \| null` | | + +
+ +### User Teams + +#### User Teams List + +Returns all teams a user is a member of + +**Python SDK** + +```python +asana.user_teams.list( + user_gid="", + organization="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "user_teams", + "action": "list", + "params": { + "user_gid": "", + "organization": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `user_gid` | `string` | Yes | User GID to list teams from | +| `organization` | `string` | Yes | The workspace or organization to filter teams on | +| `limit` | `integer` | No | Number of items to return per page | +| `offset` | `string` | No | Pagination offset token | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `gid` | `string` | | +| `resource_type` | `string` | | +| `name` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `object \| null` | | + +
+ + + +## Authentication + +The Asana connector supports the following authentication methods: + + +### Asana OAuth 2.0 + +| Field Name | Type | Required | Description | +|------------|------|----------|-------------| +| `access_token` | `str` | Yes | OAuth access token for API requests | +| `refresh_token` | `str` | Yes | OAuth refresh token for automatic token renewal | +| `client_id` | `str` | Yes | Connected App Consumer Key | +| `client_secret` | `str` | Yes | Connected App Consumer Secret | + +#### Example + +**Python SDK** + +```python +AsanaConnector( + auth_config=AsanaAuthConfig( + access_token="", + refresh_token="", + client_id="", + client_secret="" + ) +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "connector_definition_id": "d0243522-dccf-4978-8ba0-37ed47a0bdbf", + "auth_config": { + "access_token": "", + "refresh_token": "", + "client_id": "", + "client_secret": "" + }, + "name": "My Asana Connector" +}' +``` + diff --git a/docs/ai-agents/connectors/github/CHANGELOG.md b/docs/ai-agents/connectors/github/CHANGELOG.md new file mode 100644 index 00000000000..70ad5b7f7d7 --- /dev/null +++ b/docs/ai-agents/connectors/github/CHANGELOG.md @@ -0,0 +1,141 @@ +# Changelog + +## [0.18.10] - 2025-12-13 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 1ab72bd8 +- SDK version: 0.1.0 + +## [0.18.9] - 2025-12-12 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 4d366cb5 +- SDK version: 0.1.0 + +## [0.18.8] - 2025-12-12 +- Updated connector definition (YAML version 0.1.0) +- Source commit: dc79dc8b +- SDK version: 0.1.0 + +## [0.18.7] - 2025-12-12 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 9f7f8a98 +- SDK version: 0.1.0 + +## [0.18.6] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 8c06aa10 +- SDK version: 0.1.0 + +## [0.18.5] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 11427ac3 +- SDK version: 0.1.0 + +## [0.18.4] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: bdd5df6d +- SDK version: 0.1.0 + +## [0.18.3] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: f2497f71 +- SDK version: 0.1.0 + +## [0.18.2] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 7d738be5 +- SDK version: 0.1.0 + +## [0.18.1] - 2025-12-10 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 76636830 +- SDK version: 0.1.0 + +## [0.18.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: f2ad5029 +- SDK version: 0.1.0 + +## [0.17.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 139b0b0d +- SDK version: 0.1.0 + +## [0.16.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: e96bed3d +- SDK version: 0.1.0 + +## [0.15.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: ed697b90 +- SDK version: 0.1.0 + +## [0.14.0] - 2025-12-05 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 20618410 +- SDK version: 0.1.0 + +## [0.13.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 4a01e446 +- SDK version: 0.1.0 + +## [0.12.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 5ec76dde +- SDK version: 0.1.0 + +## [0.11.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: df32a458 +- SDK version: 0.1.0 + +## [0.10.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: a506b369 +- SDK version: 0.1.0 + +## [0.9.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 92a39ab5 +- SDK version: 0.1.0 + +## [0.8.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 0ce38253 +- SDK version: 0.1.0 + +## [0.7.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: c8e326d9 +- SDK version: 0.1.0 + +## [0.6.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: ad0b961b +- SDK version: 0.1.0 + +## [0.5.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 7153780a +- SDK version: 0.1.0 + +## [0.4.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 01f71cad +- SDK version: 0.1.0 + +## [0.3.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 4c17f060 +- SDK version: 0.1.0 + +## [0.2.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 430a4e68 +- SDK version: 0.1.0 + +## [0.1.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: b261c3a2 +- SDK version: 0.1.0 diff --git a/docs/ai-agents/connectors/github/README.md b/docs/ai-agents/connectors/github/README.md new file mode 100644 index 00000000000..5b08ec6d2a8 --- /dev/null +++ b/docs/ai-agents/connectors/github/README.md @@ -0,0 +1,87 @@ +# Airbyte Github AI Connector + +GitHub is a platform for version control and collaborative software development +using Git. This connector provides access to repositories, branches, commits, issues, +pull requests, reviews, comments, releases, organizations, teams, and users for +development workflow analysis and project management insights. + + +## Example Questions + +- Show me all open issues in my repositories this month +- List the top 5 repositories I've starred recently +- Analyze the commit trends in my main project over the last quarter +- Find all pull requests created by [teamMember] in the past two weeks +- Search for repositories related to machine learning in my organizations +- Compare the number of contributors across my different team projects +- Identify the most active branches in my main repository +- Get details about the most recent releases in my organization +- List all milestones for our current development sprint +- Show me insights about pull request review patterns in our team + +## Unsupported Questions + +- Create a new issue in the project repository +- Update the status of this pull request +- Delete an old branch from the repository +- Schedule a team review for this code +- Assign a new label to this issue + +## Installation + +```bash +uv pip install airbyte-ai-github +``` + +## Usage + +```python +from airbyte_ai_github import GithubConnector, GithubAuthConfig + +connector = GithubConnector( + auth_config=GithubAuthConfig( + access_token="...", + refresh_token="...", + client_id="...", + client_secret="..." + ) +) +result = connector.repositories.get() +``` + +## Documentation + +| Entity | Actions | +|--------|---------| +| Repositories | [Get](./REFERENCE.md#repositories-get), [List](./REFERENCE.md#repositories-list), [Search](./REFERENCE.md#repositories-search) | +| Org Repositories | [List](./REFERENCE.md#org-repositories-list) | +| Branches | [List](./REFERENCE.md#branches-list), [Get](./REFERENCE.md#branches-get) | +| Commits | [List](./REFERENCE.md#commits-list), [Get](./REFERENCE.md#commits-get) | +| Releases | [List](./REFERENCE.md#releases-list), [Get](./REFERENCE.md#releases-get) | +| Issues | [List](./REFERENCE.md#issues-list), [Get](./REFERENCE.md#issues-get), [Search](./REFERENCE.md#issues-search) | +| Pull Requests | [List](./REFERENCE.md#pull-requests-list), [Get](./REFERENCE.md#pull-requests-get), [Search](./REFERENCE.md#pull-requests-search) | +| Reviews | [List](./REFERENCE.md#reviews-list) | +| Comments | [List](./REFERENCE.md#comments-list), [Get](./REFERENCE.md#comments-get) | +| Pr Comments | [List](./REFERENCE.md#pr-comments-list), [Get](./REFERENCE.md#pr-comments-get) | +| Labels | [List](./REFERENCE.md#labels-list), [Get](./REFERENCE.md#labels-get) | +| Milestones | [List](./REFERENCE.md#milestones-list), [Get](./REFERENCE.md#milestones-get) | +| Organizations | [Get](./REFERENCE.md#organizations-get), [List](./REFERENCE.md#organizations-list) | +| Users | [Get](./REFERENCE.md#users-get), [List](./REFERENCE.md#users-list), [Search](./REFERENCE.md#users-search) | +| Teams | [List](./REFERENCE.md#teams-list), [Get](./REFERENCE.md#teams-get) | +| Tags | [List](./REFERENCE.md#tags-list), [Get](./REFERENCE.md#tags-get) | +| Stargazers | [List](./REFERENCE.md#stargazers-list) | +| Viewer | [Get](./REFERENCE.md#viewer-get) | +| Viewer Repositories | [List](./REFERENCE.md#viewer-repositories-list) | + + +For detailed documentation on available actions and parameters, see [REFERENCE.md](./REFERENCE.md). + +For the service's official API docs, see [Github API Reference](https://docs.github.com/en/rest). + +## Version Information + +**Package Version:** 0.18.10 + +**Connector Version:** 0.1.1 + +**Generated with connector-sdk:** 1ab72bd8e7249872a4cf66327dd1a0bf68905acb \ No newline at end of file diff --git a/docs/ai-agents/connectors/github/REFERENCE.md b/docs/ai-agents/connectors/github/REFERENCE.md new file mode 100644 index 00000000000..75746ef200a --- /dev/null +++ b/docs/ai-agents/connectors/github/REFERENCE.md @@ -0,0 +1,1616 @@ +# Github + +## Supported Entities and Actions + +| Entity | Actions | +|--------|---------| +| Repositories | [Get](#repositories-get), [List](#repositories-list), [Search](#repositories-search) | +| Org Repositories | [List](#org-repositories-list) | +| Branches | [List](#branches-list), [Get](#branches-get) | +| Commits | [List](#commits-list), [Get](#commits-get) | +| Releases | [List](#releases-list), [Get](#releases-get) | +| Issues | [List](#issues-list), [Get](#issues-get), [Search](#issues-search) | +| Pull Requests | [List](#pull-requests-list), [Get](#pull-requests-get), [Search](#pull-requests-search) | +| Reviews | [List](#reviews-list) | +| Comments | [List](#comments-list), [Get](#comments-get) | +| Pr Comments | [List](#pr-comments-list), [Get](#pr-comments-get) | +| Labels | [List](#labels-list), [Get](#labels-get) | +| Milestones | [List](#milestones-list), [Get](#milestones-get) | +| Organizations | [Get](#organizations-get), [List](#organizations-list) | +| Users | [Get](#users-get), [List](#users-list), [Search](#users-search) | +| Teams | [List](#teams-list), [Get](#teams-get) | +| Tags | [List](#tags-list), [Get](#tags-get) | +| Stargazers | [List](#stargazers-list) | +| Viewer | [Get](#viewer-get) | +| Viewer Repositories | [List](#viewer-repositories-list) | + +### Repositories + +#### Repositories Get + +Gets information about a specific GitHub repository using GraphQL + +**Python SDK** + +```python +github.repositories.get( + owner="", + repo="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "repositories", + "action": "get", + "params": { + "owner": "", + "repo": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository (username or organization) | +| `repo` | `string` | Yes | The name of the repository | +| `fields` | `array` | No | Optional array of field names to select. +If not provided, uses default fields. + | + + +#### Repositories List + +Returns a list of repositories for the specified user using GraphQL + +**Python SDK** + +```python +github.repositories.list( + username="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "repositories", + "action": "list", + "params": { + "username": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `username` | `string` | Yes | The username of the user whose repositories to list | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination (from previous response's endCursor) | +| `fields` | `array` | No | Optional array of field names to select. +If not provided, uses default fields. + | + + +#### Repositories Search + +Search for GitHub repositories using GitHub's powerful search syntax. +Examples: "language:python stars:>1000", "topic:machine-learning", "org:facebook is:public" + + +**Python SDK** + +```python +github.repositories.search( + query="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "repositories", + "action": "search", + "params": { + "query": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `query` | `string` | Yes | GitHub repository search query. Examples: +- "language:python stars:>1000" +- "topic:machine-learning" +- "org:facebook is:public" + | +| `limit` | `integer` | No | Number of results to return | +| `after` | `string` | No | Cursor for pagination (from previous response's endCursor) | +| `fields` | `array` | No | Optional array of field names to select. +If not provided, uses default fields. + | + + +### Org Repositories + +#### Org Repositories List + +Returns a list of repositories for the specified organization using GraphQL + +**Python SDK** + +```python +github.org_repositories.list( + org="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "org_repositories", + "action": "list", + "params": { + "org": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `org` | `string` | Yes | The organization login/username | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +### Branches + +#### Branches List + +Returns a list of branches for the specified repository using GraphQL + +**Python SDK** + +```python +github.branches.list( + owner="", + repo="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "branches", + "action": "list", + "params": { + "owner": "", + "repo": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Branches Get + +Gets information about a specific branch using GraphQL + +**Python SDK** + +```python +github.branches.get( + owner="", + repo="", + branch="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "branches", + "action": "get", + "params": { + "owner": "", + "repo": "", + "branch": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `branch` | `string` | Yes | The branch name | +| `fields` | `array` | No | Optional array of field names to select | + + +### Commits + +#### Commits List + +Returns a list of commits for the default branch using GraphQL + +**Python SDK** + +```python +github.commits.list( + owner="", + repo="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "commits", + "action": "list", + "params": { + "owner": "", + "repo": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Commits Get + +Gets information about a specific commit by SHA using GraphQL + +**Python SDK** + +```python +github.commits.get( + owner="", + repo="", + sha="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "commits", + "action": "get", + "params": { + "owner": "", + "repo": "", + "sha": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `sha` | `string` | Yes | The commit SHA | +| `fields` | `array` | No | Optional array of field names to select | + + +### Releases + +#### Releases List + +Returns a list of releases for the specified repository using GraphQL + +**Python SDK** + +```python +github.releases.list( + owner="", + repo="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "releases", + "action": "list", + "params": { + "owner": "", + "repo": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Releases Get + +Gets information about a specific release by tag name using GraphQL + +**Python SDK** + +```python +github.releases.get( + owner="", + repo="", + tag="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "releases", + "action": "get", + "params": { + "owner": "", + "repo": "", + "tag": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `tag` | `string` | Yes | The release tag name | +| `fields` | `array` | No | Optional array of field names to select | + + +### Issues + +#### Issues List + +Returns a list of issues for the specified repository using GraphQL + +**Python SDK** + +```python +github.issues.list( + owner="", + repo="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "issues", + "action": "list", + "params": { + "owner": "", + "repo": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `states` | `array<"OPEN" \| "CLOSED">` | No | Filter by issue state | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Issues Get + +Gets information about a specific issue using GraphQL + +**Python SDK** + +```python +github.issues.get( + owner="", + repo="", + number=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "issues", + "action": "get", + "params": { + "owner": "", + "repo": "", + "number": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `number` | `integer` | Yes | The issue number | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Issues Search + +Search for issues using GitHub's search syntax + +**Python SDK** + +```python +github.issues.search( + query="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "issues", + "action": "search", + "params": { + "query": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `query` | `string` | Yes | GitHub issue search query. Examples: +- "repo:owner/name is:issue is:open" +- "repo:owner/name is:issue label:bug" + | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +### Pull Requests + +#### Pull Requests List + +Returns a list of pull requests for the specified repository using GraphQL + +**Python SDK** + +```python +github.pull_requests.list( + owner="", + repo="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "pull_requests", + "action": "list", + "params": { + "owner": "", + "repo": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `states` | `array<"OPEN" \| "CLOSED" \| "MERGED">` | No | Filter by pull request state | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Pull Requests Get + +Gets information about a specific pull request using GraphQL + +**Python SDK** + +```python +github.pull_requests.get( + owner="", + repo="", + number=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "pull_requests", + "action": "get", + "params": { + "owner": "", + "repo": "", + "number": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `number` | `integer` | Yes | The pull request number | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Pull Requests Search + +Search for pull requests using GitHub's search syntax + +**Python SDK** + +```python +github.pull_requests.search( + query="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "pull_requests", + "action": "search", + "params": { + "query": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `query` | `string` | Yes | GitHub PR search query. Examples: +- "repo:owner/name type:pr is:open" +- "repo:owner/name type:pr author:username" + | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +### Reviews + +#### Reviews List + +Returns a list of reviews for the specified pull request using GraphQL + +**Python SDK** + +```python +github.reviews.list( + owner="", + repo="", + number=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "reviews", + "action": "list", + "params": { + "owner": "", + "repo": "", + "number": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `number` | `integer` | Yes | The pull request number | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +### Comments + +#### Comments List + +Returns a list of comments for the specified issue using GraphQL + +**Python SDK** + +```python +github.comments.list( + owner="", + repo="", + number=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "comments", + "action": "list", + "params": { + "owner": "", + "repo": "", + "number": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `number` | `integer` | Yes | The issue number | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Comments Get + +Gets information about a specific issue comment by its GraphQL node ID. + +Note: This endpoint requires a GraphQL node ID (e.g., 'IC_kwDOBZtLds6YWTMj'), +not a numeric database ID. You can obtain node IDs from the Comments_List response, +where each comment includes both 'id' (node ID) and 'databaseId' (numeric ID). + + +**Python SDK** + +```python +github.comments.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "comments", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | The GraphQL node ID of the comment | +| `fields` | `array` | No | Optional array of field names to select | + + +### Pr Comments + +#### Pr Comments List + +Returns a list of comments for the specified pull request using GraphQL + +**Python SDK** + +```python +github.pr_comments.list( + owner="", + repo="", + number=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "pr_comments", + "action": "list", + "params": { + "owner": "", + "repo": "", + "number": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `number` | `integer` | Yes | The pull request number | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Pr Comments Get + +Gets information about a specific pull request comment by its GraphQL node ID. + +Note: This endpoint requires a GraphQL node ID (e.g., 'IC_kwDOBZtLds6YWTMj'), +not a numeric database ID. You can obtain node IDs from the PRComments_List response, +where each comment includes both 'id' (node ID) and 'databaseId' (numeric ID). + + +**Python SDK** + +```python +github.pr_comments.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "pr_comments", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | The GraphQL node ID of the comment | +| `fields` | `array` | No | Optional array of field names to select | + + +### Labels + +#### Labels List + +Returns a list of labels for the specified repository using GraphQL + +**Python SDK** + +```python +github.labels.list( + owner="", + repo="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "labels", + "action": "list", + "params": { + "owner": "", + "repo": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Labels Get + +Gets information about a specific label by name using GraphQL + +**Python SDK** + +```python +github.labels.get( + owner="", + repo="", + name="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "labels", + "action": "get", + "params": { + "owner": "", + "repo": "", + "name": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `name` | `string` | Yes | The label name | +| `fields` | `array` | No | Optional array of field names to select | + + +### Milestones + +#### Milestones List + +Returns a list of milestones for the specified repository using GraphQL + +**Python SDK** + +```python +github.milestones.list( + owner="", + repo="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "milestones", + "action": "list", + "params": { + "owner": "", + "repo": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `states` | `array<"OPEN" \| "CLOSED">` | No | Filter by milestone state | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Milestones Get + +Gets information about a specific milestone by number using GraphQL + +**Python SDK** + +```python +github.milestones.get( + owner="", + repo="", + number=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "milestones", + "action": "get", + "params": { + "owner": "", + "repo": "", + "number": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `number` | `integer` | Yes | The milestone number | +| `fields` | `array` | No | Optional array of field names to select | + + +### Organizations + +#### Organizations Get + +Gets information about a specific organization using GraphQL + +**Python SDK** + +```python +github.organizations.get( + org="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "organizations", + "action": "get", + "params": { + "org": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `org` | `string` | Yes | The organization login/username | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Organizations List + +Returns a list of organizations the user belongs to using GraphQL + +**Python SDK** + +```python +github.organizations.list( + username="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "organizations", + "action": "list", + "params": { + "username": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `username` | `string` | Yes | The username of the user | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +### Users + +#### Users Get + +Gets information about a specific user using GraphQL + +**Python SDK** + +```python +github.users.get( + username="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "get", + "params": { + "username": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `username` | `string` | Yes | The username of the user | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Users List + +Returns a list of members for the specified organization using GraphQL + +**Python SDK** + +```python +github.users.list( + org="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "list", + "params": { + "org": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `org` | `string` | Yes | The organization login/username | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Users Search + +Search for GitHub users using search syntax + +**Python SDK** + +```python +github.users.search( + query="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "search", + "params": { + "query": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `query` | `string` | Yes | GitHub user search query. Examples: +- "location:san francisco" +- "followers:>1000" + | +| `limit` | `integer` | No | Number of results to return | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +### Teams + +#### Teams List + +Returns a list of teams for the specified organization using GraphQL + +**Python SDK** + +```python +github.teams.list( + org="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "teams", + "action": "list", + "params": { + "org": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `org` | `string` | Yes | The organization login/username | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Teams Get + +Gets information about a specific team using GraphQL + +**Python SDK** + +```python +github.teams.get( + org="", + team_slug="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "teams", + "action": "get", + "params": { + "org": "", + "team_slug": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `org` | `string` | Yes | The organization login/username | +| `team_slug` | `string` | Yes | The team slug | +| `fields` | `array` | No | Optional array of field names to select | + + +### Tags + +#### Tags List + +Returns a list of tags for the specified repository using GraphQL + +**Python SDK** + +```python +github.tags.list( + owner="", + repo="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "tags", + "action": "list", + "params": { + "owner": "", + "repo": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +#### Tags Get + +Gets information about a specific tag by name using GraphQL + +**Python SDK** + +```python +github.tags.get( + owner="", + repo="", + tag="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "tags", + "action": "get", + "params": { + "owner": "", + "repo": "", + "tag": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `tag` | `string` | Yes | The tag name | +| `fields` | `array` | No | Optional array of field names to select | + + +### Stargazers + +#### Stargazers List + +Returns a list of users who have starred the repository using GraphQL + +**Python SDK** + +```python +github.stargazers.list( + owner="", + repo="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "stargazers", + "action": "list", + "params": { + "owner": "", + "repo": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `owner` | `string` | Yes | The account owner of the repository | +| `repo` | `string` | Yes | The name of the repository | +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination | +| `fields` | `array` | No | Optional array of field names to select | + + +### Viewer + +#### Viewer Get + +Gets information about the currently authenticated user. +This is useful when you don't know the username but need to access +the current user's profile, permissions, or associated resources. + + +**Python SDK** + +```python +github.viewer.get() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "viewer", + "action": "get" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `fields` | `array` | No | Optional array of field names to select | + + +### Viewer Repositories + +#### Viewer Repositories List + +Returns a list of repositories owned by the authenticated user. +Unlike Repositories_List which requires a username, this endpoint +automatically lists repositories for the current authenticated user. + + +**Python SDK** + +```python +github.viewer_repositories.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "viewer_repositories", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `per_page` | `integer` | No | The number of results per page | +| `after` | `string` | No | Cursor for pagination (from previous response's endCursor) | +| `fields` | `array` | No | Optional array of field names to select | + + + + +## Authentication + +The Github connector supports the following authentication methods: + + +### Authentication + +| Field Name | Type | Required | Description | +|------------|------|----------|-------------| +| `access_token` | `str` | No | OAuth2 access token | +| `refresh_token` | `str` | No | OAuth2 refresh token (optional) | +| `client_id` | `str` | No | OAuth2 client ID (optional) | +| `client_secret` | `str` | No | OAuth2 client secret (optional) | + +#### Example + +**Python SDK** + +```python +GithubConnector( + auth_config=GithubAuthConfig( + access_token="", + refresh_token="", + client_id="", + client_secret="" + ) +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "connector_definition_id": "ef69ef6e-aa7f-4af1-a01d-ef775033524e", + "auth_config": { + "access_token": "", + "refresh_token": "", + "client_id": "", + "client_secret": "" + }, + "name": "My Github Connector" +}' +``` + diff --git a/docs/ai-agents/connectors/gong/CHANGELOG.md b/docs/ai-agents/connectors/gong/CHANGELOG.md new file mode 100644 index 00000000000..1e5f796a46b --- /dev/null +++ b/docs/ai-agents/connectors/gong/CHANGELOG.md @@ -0,0 +1,156 @@ +# Changelog + +## [0.19.12] - 2025-12-13 +- Updated connector definition (YAML version 0.1.3) +- Source commit: 1ab72bd8 +- SDK version: 0.1.0 + +## [0.19.11] - 2025-12-12 +- Updated connector definition (YAML version 0.1.3) +- Source commit: dc79dc8b +- SDK version: 0.1.0 + +## [0.19.10] - 2025-12-12 +- Updated connector definition (YAML version 0.1.3) +- Source commit: 87a2243c +- SDK version: 0.1.0 + +## [0.19.9] - 2025-12-12 +- Updated connector definition (YAML version 0.1.2) +- Source commit: 9f7f8a98 +- SDK version: 0.1.0 + +## [0.19.8] - 2025-12-12 +- Updated connector definition (YAML version 0.1.2) +- Source commit: 751920d7 +- SDK version: 0.1.0 + +## [0.19.7] - 2025-12-11 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 38493f4d +- SDK version: 0.1.0 + +## [0.19.6] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 8c06aa10 +- SDK version: 0.1.0 + +## [0.19.5] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 11427ac3 +- SDK version: 0.1.0 + +## [0.19.4] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: bdd5df6d +- SDK version: 0.1.0 + +## [0.19.3] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: f2497f71 +- SDK version: 0.1.0 + +## [0.19.2] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 7d738be5 +- SDK version: 0.1.0 + +## [0.19.1] - 2025-12-10 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 76636830 +- SDK version: 0.1.0 + +## [0.19.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: f2ad5029 +- SDK version: 0.1.0 + +## [0.18.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 139b0b0d +- SDK version: 0.1.0 + +## [0.17.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: e96bed3d +- SDK version: 0.1.0 + +## [0.16.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: ed697b90 +- SDK version: 0.1.0 + +## [0.15.0] - 2025-12-05 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 20618410 +- SDK version: 0.1.0 + +## [0.14.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 4a01e446 +- SDK version: 0.1.0 + +## [0.13.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 5ec76dde +- SDK version: 0.1.0 + +## [0.12.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: df32a458 +- SDK version: 0.1.0 + +## [0.11.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: a506b369 +- SDK version: 0.1.0 + +## [0.10.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 92a39ab5 +- SDK version: 0.1.0 + +## [0.9.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 0ce38253 +- SDK version: 0.1.0 + +## [0.8.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: c8e326d9 +- SDK version: 0.1.0 + +## [0.7.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: ad0b961b +- SDK version: 0.1.0 + +## [0.6.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 7153780a +- SDK version: 0.1.0 + +## [0.5.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 01f71cad +- SDK version: 0.1.0 + +## [0.4.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 4c17f060 +- SDK version: 0.1.0 + +## [0.3.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 430a4e68 +- SDK version: 0.1.0 + +## [0.2.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: cd499acd +- SDK version: 0.1.0 + +## [0.1.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: b261c3a2 +- SDK version: 0.1.0 diff --git a/docs/ai-agents/connectors/gong/README.md b/docs/ai-agents/connectors/gong/README.md new file mode 100644 index 00000000000..5aea4effc81 --- /dev/null +++ b/docs/ai-agents/connectors/gong/README.md @@ -0,0 +1,81 @@ +# Airbyte Gong AI Connector + +Gong is a revenue intelligence platform that captures and analyzes customer interactions +across calls, emails, and web conferences. This connector provides access to users, +recorded calls with transcripts, activity statistics, scorecards, trackers, workspaces, +coaching metrics, and library content for sales performance analysis and revenue insights. + + +## Example Questions + +- List all users in my Gong account +- Show me calls from last week +- Get the transcript for call abc123 +- What are the activity stats for our sales team? +- List all workspaces in Gong +- Show me the scorecard configurations +- What trackers are set up in my account? +- Get coaching metrics for manager user123 + +## Unsupported Questions + +- Create a new user in Gong +- Delete a call recording +- Update scorecard questions +- Schedule a new meeting +- Send feedback to a team member +- Modify tracker keywords + +## Installation + +```bash +uv pip install airbyte-ai-gong +``` + +## Usage + +```python +from airbyte_ai_gong import GongConnector, GongAuthConfig + +connector = GongConnector( + auth_config=GongAuthConfig( + access_key="...", + access_key_secret="..." + ) +) +result = connector.users.list() +``` + +## Documentation + +| Entity | Actions | +|--------|---------| +| Users | [List](./REFERENCE.md#users-list), [Get](./REFERENCE.md#users-get) | +| Calls | [List](./REFERENCE.md#calls-list), [Get](./REFERENCE.md#calls-get) | +| Calls Extensive | [List](./REFERENCE.md#calls-extensive-list) | +| Call Audio | [Download](./REFERENCE.md#call-audio-download) | +| Call Video | [Download](./REFERENCE.md#call-video-download) | +| Workspaces | [List](./REFERENCE.md#workspaces-list) | +| Call Transcripts | [List](./REFERENCE.md#call-transcripts-list) | +| Stats Activity Aggregate | [List](./REFERENCE.md#stats-activity-aggregate-list) | +| Stats Activity Day By Day | [List](./REFERENCE.md#stats-activity-day-by-day-list) | +| Stats Interaction | [List](./REFERENCE.md#stats-interaction-list) | +| Settings Scorecards | [List](./REFERENCE.md#settings-scorecards-list) | +| Settings Trackers | [List](./REFERENCE.md#settings-trackers-list) | +| Library Folders | [List](./REFERENCE.md#library-folders-list) | +| Library Folder Content | [List](./REFERENCE.md#library-folder-content-list) | +| Coaching | [List](./REFERENCE.md#coaching-list) | +| Stats Activity Scorecards | [List](./REFERENCE.md#stats-activity-scorecards-list) | + + +For detailed documentation on available actions and parameters, see [REFERENCE.md](./REFERENCE.md). + +For the service's official API docs, see [Gong API Reference](https://gong.app.gong.io/settings/api/documentation). + +## Version Information + +**Package Version:** 0.19.12 + +**Connector Version:** 0.1.3 + +**Generated with connector-sdk:** 1ab72bd8e7249872a4cf66327dd1a0bf68905acb \ No newline at end of file diff --git a/docs/ai-agents/connectors/gong/REFERENCE.md b/docs/ai-agents/connectors/gong/REFERENCE.md new file mode 100644 index 00000000000..f3948ab6605 --- /dev/null +++ b/docs/ai-agents/connectors/gong/REFERENCE.md @@ -0,0 +1,1217 @@ +# Gong + +## Supported Entities and Actions + +| Entity | Actions | +|--------|---------| +| Users | [List](#users-list), [Get](#users-get) | +| Calls | [List](#calls-list), [Get](#calls-get) | +| Calls Extensive | [List](#calls-extensive-list) | +| Call Audio | [Download](#call-audio-download) | +| Call Video | [Download](#call-video-download) | +| Workspaces | [List](#workspaces-list) | +| Call Transcripts | [List](#call-transcripts-list) | +| Stats Activity Aggregate | [List](#stats-activity-aggregate-list) | +| Stats Activity Day By Day | [List](#stats-activity-day-by-day-list) | +| Stats Interaction | [List](#stats-interaction-list) | +| Settings Scorecards | [List](#settings-scorecards-list) | +| Settings Trackers | [List](#settings-trackers-list) | +| Library Folders | [List](#library-folders-list) | +| Library Folder Content | [List](#library-folder-content-list) | +| Coaching | [List](#coaching-list) | +| Stats Activity Scorecards | [List](#stats-activity-scorecards-list) | + +### Users + +#### Users List + +Returns a list of all users in the Gong account + +**Python SDK** + +```python +gong.users.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `cursor` | `string` | No | Cursor for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `emailAddress` | `string` | | +| `created` | `string` | | +| `active` | `boolean` | | +| `emailAliases` | `array` | | +| `trustedEmailAddress` | `string \| null` | | +| `firstName` | `string` | | +| `lastName` | `string` | | +| `title` | `string \| null` | | +| `phoneNumber` | `string \| null` | | +| `extension` | `string \| null` | | +| `personalMeetingUrls` | `array` | | +| `settings` | `object` | | +| `managerId` | `string \| null` | | +| `meetingConsentPageUrl` | `string \| null` | | +| `spokenLanguages` | `array` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `pagination` | `object` | | +| `pagination.totalRecords` | `integer` | | +| `pagination.currentPageSize` | `integer` | | +| `pagination.currentPageNumber` | `integer` | | +| `pagination.cursor` | `string` | | + + + +#### Users Get + +Get a single user by ID + +**Python SDK** + +```python +gong.users.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | User ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `emailAddress` | `string` | | +| `created` | `string` | | +| `active` | `boolean` | | +| `emailAliases` | `array` | | +| `trustedEmailAddress` | `string \| null` | | +| `firstName` | `string` | | +| `lastName` | `string` | | +| `title` | `string \| null` | | +| `phoneNumber` | `string \| null` | | +| `extension` | `string \| null` | | +| `personalMeetingUrls` | `array` | | +| `settings` | `object` | | +| `managerId` | `string \| null` | | +| `meetingConsentPageUrl` | `string \| null` | | +| `spokenLanguages` | `array` | | + + + + +### Calls + +#### Calls List + +Retrieve calls data by date range + +**Python SDK** + +```python +gong.calls.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "calls", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `fromDateTime` | `string` | No | Start date in ISO 8601 format | +| `toDateTime` | `string` | No | End date in ISO 8601 format | +| `cursor` | `string` | No | Cursor for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `url` | `string` | | +| `title` | `string` | | +| `scheduled` | `string` | | +| `started` | `string` | | +| `duration` | `integer` | | +| `primaryUserId` | `string` | | +| `direction` | `string` | | +| `system` | `string` | | +| `scope` | `string` | | +| `media` | `string` | | +| `language` | `string` | | +| `workspaceId` | `string` | | +| `sdrDisposition` | `string \| null` | | +| `clientUniqueId` | `string \| null` | | +| `customData` | `string \| null` | | +| `purpose` | `string \| null` | | +| `meetingUrl` | `string` | | +| `isPrivate` | `boolean` | | +| `calendarEventId` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `pagination` | `object` | | +| `pagination.totalRecords` | `integer` | | +| `pagination.currentPageSize` | `integer` | | +| `pagination.currentPageNumber` | `integer` | | +| `pagination.cursor` | `string` | | + +
+ +#### Calls Get + +Get specific call data by ID + +**Python SDK** + +```python +gong.calls.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "calls", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Call ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `url` | `string` | | +| `title` | `string` | | +| `scheduled` | `string` | | +| `started` | `string` | | +| `duration` | `integer` | | +| `primaryUserId` | `string` | | +| `direction` | `string` | | +| `system` | `string` | | +| `scope` | `string` | | +| `media` | `string` | | +| `language` | `string` | | +| `workspaceId` | `string` | | +| `sdrDisposition` | `string \| null` | | +| `clientUniqueId` | `string \| null` | | +| `customData` | `string \| null` | | +| `purpose` | `string \| null` | | +| `meetingUrl` | `string` | | +| `isPrivate` | `boolean` | | +| `calendarEventId` | `string \| null` | | + + +
+ +### Calls Extensive + +#### Calls Extensive List + +Retrieve detailed call data including participants, interaction stats, and content + +**Python SDK** + +```python +gong.calls_extensive.list( + filter={} +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "calls_extensive", + "action": "list", + "params": { + "filter": {} + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `filter` | `object` | Yes | | +| `filter.fromDateTime` | `string` | No | Start date in ISO 8601 format | +| `filter.toDateTime` | `string` | No | End date in ISO 8601 format | +| `filter.callIds` | `array` | No | List of specific call IDs to retrieve | +| `filter.workspaceId` | `string` | No | Filter by workspace ID | +| `contentSelector` | `object` | No | Select which content to include in the response | +| `contentSelector.context` | `"Extended"` | No | Context level for the data | +| `contentSelector.contextTiming` | `array<"Now" \| "TimeOfCall">` | No | Context timing options | +| `contentSelector.exposedFields` | `object` | No | Specify which fields to include in the response | +| `contentSelector.exposedFields.collaboration` | `object` | No | | +| `contentSelector.exposedFields.collaboration.publicComments` | `boolean` | No | Include public comments | +| `contentSelector.exposedFields.content` | `object` | No | | +| `contentSelector.exposedFields.content.pointsOfInterest` | `boolean` | No | Include points of interest (deprecated, use highlights) | +| `contentSelector.exposedFields.content.structure` | `boolean` | No | Include call structure | +| `contentSelector.exposedFields.content.topics` | `boolean` | No | Include topics discussed | +| `contentSelector.exposedFields.content.trackers` | `boolean` | No | Include trackers | +| `contentSelector.exposedFields.content.trackerOccurrences` | `boolean` | No | Include tracker occurrences | +| `contentSelector.exposedFields.content.brief` | `boolean` | No | Include call brief | +| `contentSelector.exposedFields.content.outline` | `boolean` | No | Include call outline | +| `contentSelector.exposedFields.content.highlights` | `boolean` | No | Include call highlights | +| `contentSelector.exposedFields.content.callOutcome` | `boolean` | No | Include call outcome | +| `contentSelector.exposedFields.content.keyPoints` | `boolean` | No | Include key points | +| `contentSelector.exposedFields.interaction` | `object` | No | | +| `contentSelector.exposedFields.interaction.personInteractionStats` | `boolean` | No | Include person interaction statistics | +| `contentSelector.exposedFields.interaction.questions` | `boolean` | No | Include questions asked | +| `contentSelector.exposedFields.interaction.speakers` | `boolean` | No | Include speaker information | +| `contentSelector.exposedFields.interaction.video` | `boolean` | No | Include video interaction data | +| `contentSelector.exposedFields.media` | `boolean` | No | Include media URLs (audio/video) | +| `contentSelector.exposedFields.parties` | `boolean` | No | Include participant information | +| `cursor` | `string` | No | Cursor for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `metaData` | `object` | | +| `parties` | `array` | | +| `interaction` | `object` | | +| `collaboration` | `object` | | +| `content` | `object` | | +| `media` | `object` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `pagination` | `object` | | +| `pagination.totalRecords` | `integer` | | +| `pagination.currentPageSize` | `integer` | | +| `pagination.currentPageNumber` | `integer` | | +| `pagination.cursor` | `string` | | + + + +### Call Audio + +#### Call Audio Download + +Downloads the audio media file for a call. Temporarily, the request body must be configured with: +`{"filter": {"callIds": [CALL_ID]}, "contentSelector": {"exposedFields": {"media": true}}}` + + +**Python SDK** + +```python +async for chunk in gong.call_audio.download():# Process each chunk (e.g., write to file) + file.write(chunk) +``` + +> **Note**: Download operations return an async iterator of bytes chunks for memory-efficient streaming. Use `async for` to process chunks as they arrive. + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "call_audio", + "action": "download" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `filter` | `object` | No | | +| `filter.callIds` | `array` | No | List containing the single call ID | +| `contentSelector` | `object` | No | | +| `contentSelector.exposedFields` | `object` | No | | +| `contentSelector.exposedFields.media` | `boolean` | No | Must be true to get media URLs | +| `range_header` | `string` | No | Optional Range header for partial downloads (e.g., 'bytes=0-99') | + + +### Call Video + +#### Call Video Download + +Downloads the video media file for a call. Temporarily, the request body must be configured with: +`{"filter": {"callIds": [CALL_ID]}, "contentSelector": {"exposedFields": {"media": true}}}` + + +**Python SDK** + +```python +async for chunk in gong.call_video.download():# Process each chunk (e.g., write to file) + file.write(chunk) +``` + +> **Note**: Download operations return an async iterator of bytes chunks for memory-efficient streaming. Use `async for` to process chunks as they arrive. + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "call_video", + "action": "download" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `filter` | `object` | No | | +| `filter.callIds` | `array` | No | List containing the single call ID | +| `contentSelector` | `object` | No | | +| `contentSelector.exposedFields` | `object` | No | | +| `contentSelector.exposedFields.media` | `boolean` | No | Must be true to get media URLs | +| `range_header` | `string` | No | Optional Range header for partial downloads (e.g., 'bytes=0-99') | + + +### Workspaces + +#### Workspaces List + +List all company workspaces + +**Python SDK** + +```python +gong.workspaces.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "workspaces", + "action": "list" +}' +``` + + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `workspaceId` | `string` | | +| `name` | `string` | | +| `description` | `string` | | + + +
+ +### Call Transcripts + +#### Call Transcripts List + +Returns transcripts for calls in a specified date range or specific call IDs + +**Python SDK** + +```python +gong.call_transcripts.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "call_transcripts", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `filter` | `object` | No | | +| `filter.fromDateTime` | `string` | No | Start date in ISO 8601 format (optional if callIds provided) | +| `filter.toDateTime` | `string` | No | End date in ISO 8601 format (optional if callIds provided) | +| `filter.callIds` | `array` | No | List of specific call IDs to retrieve transcripts for | +| `cursor` | `string` | No | Cursor for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `callId` | `string` | | +| `transcript` | `array` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `pagination` | `object` | | +| `pagination.totalRecords` | `integer` | | +| `pagination.currentPageSize` | `integer` | | +| `pagination.currentPageNumber` | `integer` | | +| `pagination.cursor` | `string` | | + + + +### Stats Activity Aggregate + +#### Stats Activity Aggregate List + +Provides aggregated user activity metrics across a specified period + +**Python SDK** + +```python +gong.stats_activity_aggregate.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "stats_activity_aggregate", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `filter` | `object` | No | | +| `filter.fromDate` | `string` | No | Start date (YYYY-MM-DD) | +| `filter.toDate` | `string` | No | End date (YYYY-MM-DD) | +| `filter.userIds` | `array` | No | List of user IDs to retrieve stats for | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `userId` | `string` | | +| `userEmailAddress` | `string` | | +| `userAggregateActivityStats` | `object` | | +| `userAggregateActivityStats.callsAsHost` | `integer` | | +| `userAggregateActivityStats.callsGaveFeedback` | `integer` | | +| `userAggregateActivityStats.callsRequestedFeedback` | `integer` | | +| `userAggregateActivityStats.callsReceivedFeedback` | `integer` | | +| `userAggregateActivityStats.ownCallsListenedTo` | `integer` | | +| `userAggregateActivityStats.othersCallsListenedTo` | `integer` | | +| `userAggregateActivityStats.callsSharedInternally` | `integer` | | +| `userAggregateActivityStats.callsSharedExternally` | `integer` | | +| `userAggregateActivityStats.callsScorecardsFilled` | `integer` | | +| `userAggregateActivityStats.callsScorecardsReceived` | `integer` | | +| `userAggregateActivityStats.callsAttended` | `integer` | | +| `userAggregateActivityStats.callsCommentsGiven` | `integer` | | +| `userAggregateActivityStats.callsCommentsReceived` | `integer` | | +| `userAggregateActivityStats.callsMarkedAsFeedbackGiven` | `integer` | | +| `userAggregateActivityStats.callsMarkedAsFeedbackReceived` | `integer` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `pagination` | `object` | | +| `pagination.totalRecords` | `integer` | | +| `pagination.currentPageSize` | `integer` | | +| `pagination.currentPageNumber` | `integer` | | +| `pagination.cursor` | `string` | | + +
+ +### Stats Activity Day By Day + +#### Stats Activity Day By Day List + +Delivers daily user activity metrics across a specified date range + +**Python SDK** + +```python +gong.stats_activity_day_by_day.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "stats_activity_day_by_day", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `filter` | `object` | No | | +| `filter.fromDate` | `string` | No | Start date (YYYY-MM-DD) | +| `filter.toDate` | `string` | No | End date (YYYY-MM-DD) | +| `filter.userIds` | `array` | No | List of user IDs to retrieve stats for | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `userId` | `string` | | +| `userEmailAddress` | `string` | | +| `userDailyActivityStats` | `array` | | +| `userDailyActivityStats[].callsAsHost` | `array` | | +| `userDailyActivityStats[].callsGaveFeedback` | `array` | | +| `userDailyActivityStats[].callsRequestedFeedback` | `array` | | +| `userDailyActivityStats[].callsReceivedFeedback` | `array` | | +| `userDailyActivityStats[].ownCallsListenedTo` | `array` | | +| `userDailyActivityStats[].othersCallsListenedTo` | `array` | | +| `userDailyActivityStats[].callsSharedInternally` | `array` | | +| `userDailyActivityStats[].callsSharedExternally` | `array` | | +| `userDailyActivityStats[].callsAttended` | `array` | | +| `userDailyActivityStats[].callsCommentsGiven` | `array` | | +| `userDailyActivityStats[].callsCommentsReceived` | `array` | | +| `userDailyActivityStats[].callsMarkedAsFeedbackGiven` | `array` | | +| `userDailyActivityStats[].callsMarkedAsFeedbackReceived` | `array` | | +| `userDailyActivityStats[].callsScorecardsFilled` | `array` | | +| `userDailyActivityStats[].callsScorecardsReceived` | `array` | | +| `userDailyActivityStats[].fromDate` | `string` | | +| `userDailyActivityStats[].toDate` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `pagination` | `object` | | +| `pagination.totalRecords` | `integer` | | +| `pagination.currentPageSize` | `integer` | | +| `pagination.currentPageNumber` | `integer` | | +| `pagination.cursor` | `string` | | + + + +### Stats Interaction + +#### Stats Interaction List + +Returns interaction stats for users based on calls that have Whisper turned on + +**Python SDK** + +```python +gong.stats_interaction.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "stats_interaction", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `filter` | `object` | No | | +| `filter.fromDate` | `string` | No | Start date (YYYY-MM-DD) | +| `filter.toDate` | `string` | No | End date (YYYY-MM-DD) | +| `filter.userIds` | `array` | No | List of user IDs to retrieve stats for | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `userId` | `string` | | +| `userEmailAddress` | `string` | | +| `personInteractionStats` | `array` | | +| `personInteractionStats[].name` | `string` | | +| `personInteractionStats[].value` | `number` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `pagination` | `object` | | +| `pagination.totalRecords` | `integer` | | +| `pagination.currentPageSize` | `integer` | | +| `pagination.currentPageNumber` | `integer` | | +| `pagination.cursor` | `string` | | + + + +### Settings Scorecards + +#### Settings Scorecards List + +Retrieve all scorecard configurations in the company + +**Python SDK** + +```python +gong.settings_scorecards.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "settings_scorecards", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `workspaceId` | `string` | No | Filter scorecards by workspace ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `scorecardId` | `string` | | +| `scorecardName` | `string` | | +| `workspaceId` | `string \| null` | | +| `enabled` | `boolean` | | +| `updaterUserId` | `string` | | +| `created` | `string` | | +| `updated` | `string` | | +| `reviewMethod` | `string` | | +| `questions` | `array` | | +| `questions[].questionId` | `string` | | +| `questions[].questionRevisionId` | `string` | | +| `questions[].questionText` | `string` | | +| `questions[].questionType` | `string` | | +| `questions[].isRequired` | `boolean` | | +| `questions[].isOverall` | `boolean` | | +| `questions[].updaterUserId` | `string` | | +| `questions[].answerGuide` | `string \| null` | | +| `questions[].minRange` | `string \| null` | | +| `questions[].maxRange` | `string \| null` | | +| `questions[].created` | `string` | | +| `questions[].updated` | `string` | | +| `questions[].answerOptions` | `array` | | + + + + +### Settings Trackers + +#### Settings Trackers List + +Retrieve all keyword tracker configurations in the company + +**Python SDK** + +```python +gong.settings_trackers.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "settings_trackers", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `workspaceId` | `string` | No | Filter trackers by workspace ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `trackerId` | `string` | | +| `trackerName` | `string` | | +| `workspaceId` | `string \| null` | | +| `languageKeywords` | `array` | | +| `affiliation` | `string` | | +| `partOfQuestion` | `boolean` | | +| `saidAt` | `string` | | +| `saidAtInterval` | `string \| null` | | +| `saidAtUnit` | `string \| null` | | +| `saidInTopics` | `array` | | +| `filterQuery` | `string` | | +| `created` | `string` | | +| `creatorUserId` | `string \| null` | | +| `updated` | `string` | | +| `updaterUserId` | `string \| null` | | + + + + +### Library Folders + +#### Library Folders List + +Retrieve the folder structure of the call library + +**Python SDK** + +```python +gong.library_folders.list( + workspace_id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "library_folders", + "action": "list", + "params": { + "workspaceId": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `workspaceId` | `string` | Yes | Workspace ID to retrieve folders from | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `name` | `string` | | +| `parentFolderId` | `string \| null` | | +| `createdBy` | `string \| null` | | +| `updated` | `string` | | + + +
+ +### Library Folder Content + +#### Library Folder Content List + +Retrieve calls in a specific library folder + +**Python SDK** + +```python +gong.library_folder_content.list( + folder_id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "library_folder_content", + "action": "list", + "params": { + "folderId": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `folderId` | `string` | Yes | Folder ID to retrieve content from | +| `cursor` | `string` | No | Cursor for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `callId` | `string` | | +| `title` | `string` | | +| `started` | `string` | | +| `duration` | `integer` | | +| `primaryUserId` | `string` | | +| `url` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `pagination` | `object` | | +| `pagination.totalRecords` | `integer` | | +| `pagination.currentPageSize` | `integer` | | +| `pagination.currentPageNumber` | `integer` | | +| `pagination.cursor` | `string` | | + +
+ +### Coaching + +#### Coaching List + +Retrieve coaching metrics for a manager and their direct reports + +**Python SDK** + +```python +gong.coaching.list( + workspace_id="", + manager_id="", + from_="2025-01-01T00:00:00Z", + to="2025-01-01T00:00:00Z" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "coaching", + "action": "list", + "params": { + "workspace-id": "", + "manager-id": "", + "from": "2025-01-01T00:00:00Z", + "to": "2025-01-01T00:00:00Z" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `workspace-id` | `string` | Yes | Workspace ID | +| `manager-id` | `string` | Yes | Manager user ID | +| `from` | `string` | Yes | Start date in ISO 8601 format | +| `to` | `string` | Yes | End date in ISO 8601 format | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `userId` | `string` | | +| `userEmailAddress` | `string` | | +| `userName` | `string` | | +| `isManager` | `boolean` | | +| `coachingMetrics` | `object` | | +| `coachingMetrics.callsListened` | `integer` | | +| `coachingMetrics.callsAttended` | `integer` | | +| `coachingMetrics.callsWithFeedback` | `integer` | | +| `coachingMetrics.callsWithComments` | `integer` | | +| `coachingMetrics.scorecardsFilled` | `integer` | | + + +
+ +### Stats Activity Scorecards + +#### Stats Activity Scorecards List + +Retrieve answered scorecards for applicable reviewed users or scorecards for a date range + +**Python SDK** + +```python +gong.stats_activity_scorecards.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "stats_activity_scorecards", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `filter` | `object` | No | | +| `filter.fromDateTime` | `string` | No | Start date in ISO 8601 format | +| `filter.toDateTime` | `string` | No | End date in ISO 8601 format | +| `filter.scorecardIds` | `array` | No | List of scorecard IDs to filter by | +| `filter.reviewedUserIds` | `array` | No | List of reviewed user IDs to filter by | +| `filter.reviewerUserIds` | `array` | No | List of reviewer user IDs to filter by | +| `filter.callIds` | `array` | No | List of call IDs to filter by | +| `cursor` | `string` | No | Cursor for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `answeredScorecardId` | `string` | | +| `scorecardId` | `string` | | +| `scorecardName` | `string` | | +| `callId` | `string` | | +| `callStartTime` | `string` | | +| `reviewedUserId` | `string` | | +| `reviewerUserId` | `string` | | +| `reviewMethod` | `string` | | +| `editorUserId` | `string \| null` | | +| `answeredDateTime` | `string` | | +| `reviewTime` | `string` | | +| `visibilityType` | `string` | | +| `answers` | `array` | | +| `answers[].questionId` | `string` | | +| `answers[].questionRevisionId` | `string` | | +| `answers[].isOverall` | `boolean` | | +| `answers[].answer` | `string` | | +| `answers[].answerText` | `string \| null` | | +| `answers[].score` | `number` | | +| `answers[].notApplicable` | `boolean` | | +| `answers[].selectedOptions` | `array \| null` | | +| `overallScore` | `number` | | +| `visibility` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `pagination` | `object` | | +| `pagination.totalRecords` | `integer` | | +| `pagination.currentPageSize` | `integer` | | +| `pagination.currentPageNumber` | `integer` | | +| `pagination.cursor` | `string` | | + + + + + +## Authentication + +The Gong connector supports the following authentication methods: + + +### Access Key Authentication + +| Field Name | Type | Required | Description | +|------------|------|----------|-------------| +| `access_key` | `str` | Yes | Your Gong API Access Key | +| `access_key_secret` | `str` | Yes | Your Gong API Access Key Secret | + +#### Example + +**Python SDK** + +```python +GongConnector( + auth_config=GongAuthConfig( + access_key="", + access_key_secret="" + ) +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "connector_definition_id": "32382e40-3b49-4b99-9c5c-4076501914e7", + "auth_config": { + "access_key": "", + "access_key_secret": "" + }, + "name": "My Gong Connector" +}' +``` + diff --git a/docs/ai-agents/connectors/greenhouse/CHANGELOG.md b/docs/ai-agents/connectors/greenhouse/CHANGELOG.md new file mode 100644 index 00000000000..b91daa56819 --- /dev/null +++ b/docs/ai-agents/connectors/greenhouse/CHANGELOG.md @@ -0,0 +1,136 @@ +# Changelog + +## [0.17.10] - 2025-12-13 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 1ab72bd8 +- SDK version: 0.1.0 + +## [0.17.9] - 2025-12-12 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 4d366cb5 +- SDK version: 0.1.0 + +## [0.17.8] - 2025-12-12 +- Updated connector definition (YAML version 0.1.0) +- Source commit: dc79dc8b +- SDK version: 0.1.0 + +## [0.17.7] - 2025-12-12 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 9f7f8a98 +- SDK version: 0.1.0 + +## [0.17.6] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 8c06aa10 +- SDK version: 0.1.0 + +## [0.17.5] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 11427ac3 +- SDK version: 0.1.0 + +## [0.17.4] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: bdd5df6d +- SDK version: 0.1.0 + +## [0.17.3] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: f2497f71 +- SDK version: 0.1.0 + +## [0.17.2] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 7d738be5 +- SDK version: 0.1.0 + +## [0.17.1] - 2025-12-10 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 76636830 +- SDK version: 0.1.0 + +## [0.17.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: f2ad5029 +- SDK version: 0.1.0 + +## [0.16.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 139b0b0d +- SDK version: 0.1.0 + +## [0.15.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: e96bed3d +- SDK version: 0.1.0 + +## [0.14.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: ed697b90 +- SDK version: 0.1.0 + +## [0.13.0] - 2025-12-05 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 20618410 +- SDK version: 0.1.0 + +## [0.12.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 4a01e446 +- SDK version: 0.1.0 + +## [0.11.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 5ec76dde +- SDK version: 0.1.0 + +## [0.10.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: df32a458 +- SDK version: 0.1.0 + +## [0.9.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: a506b369 +- SDK version: 0.1.0 + +## [0.8.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 92a39ab5 +- SDK version: 0.1.0 + +## [0.7.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 0ce38253 +- SDK version: 0.1.0 + +## [0.6.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: c8e326d9 +- SDK version: 0.1.0 + +## [0.5.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: ad0b961b +- SDK version: 0.1.0 + +## [0.4.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 7153780a +- SDK version: 0.1.0 + +## [0.3.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 01f71cad +- SDK version: 0.1.0 + +## [0.2.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 4c17f060 +- SDK version: 0.1.0 + +## [0.1.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: b261c3a2 +- SDK version: 0.1.0 diff --git a/docs/ai-agents/connectors/greenhouse/README.md b/docs/ai-agents/connectors/greenhouse/README.md new file mode 100644 index 00000000000..c1b3821b52d --- /dev/null +++ b/docs/ai-agents/connectors/greenhouse/README.md @@ -0,0 +1,78 @@ +# Airbyte Greenhouse AI Connector + +Greenhouse is an applicant tracking system (ATS) that helps companies manage their +hiring process. This connector provides access to candidates, applications, jobs, +offers, users, departments, offices, job posts, sources, and scheduled interviews +for recruiting analytics and talent acquisition insights. + + +## Example Questions + +- Show me candidates from [Company] who applied last month +- What are the top 5 sources for our job applications this quarter? +- List all open jobs in the Sales department +- Analyze the interview schedules for our engineering candidates this week +- Get details of recent job offers for [teamMember] +- Compare the number of applications across different offices +- Identify candidates who have multiple applications in our system +- Show me upcoming scheduled interviews for our marketing positions +- Summarize the candidate pipeline for our latest job posting +- Find the most active departments in recruiting this month + +## Unsupported Questions + +- Create a new job posting for the marketing team +- Schedule an interview for [candidate] +- Update the status of [candidate]'s application +- Delete a candidate profile +- Send an offer letter to [candidate] +- Edit the details of a job description + +## Installation + +```bash +uv pip install airbyte-ai-greenhouse +``` + +## Usage + +```python +from airbyte_ai_greenhouse import GreenhouseConnector, GreenhouseAuthConfig + +connector = GreenhouseConnector( + auth_config=GreenhouseAuthConfig( + api_key="..." + ) +) +result = connector.candidates.list() +``` + +## Documentation + +| Entity | Actions | +|--------|---------| +| Candidates | [List](./REFERENCE.md#candidates-list), [Get](./REFERENCE.md#candidates-get) | +| Applications | [List](./REFERENCE.md#applications-list), [Get](./REFERENCE.md#applications-get) | +| Jobs | [List](./REFERENCE.md#jobs-list), [Get](./REFERENCE.md#jobs-get) | +| Offers | [List](./REFERENCE.md#offers-list), [Get](./REFERENCE.md#offers-get) | +| Users | [List](./REFERENCE.md#users-list), [Get](./REFERENCE.md#users-get) | +| Departments | [List](./REFERENCE.md#departments-list), [Get](./REFERENCE.md#departments-get) | +| Offices | [List](./REFERENCE.md#offices-list), [Get](./REFERENCE.md#offices-get) | +| Job Posts | [List](./REFERENCE.md#job-posts-list), [Get](./REFERENCE.md#job-posts-get) | +| Sources | [List](./REFERENCE.md#sources-list) | +| Scheduled Interviews | [List](./REFERENCE.md#scheduled-interviews-list), [Get](./REFERENCE.md#scheduled-interviews-get) | +| Application Attachment | [Download](./REFERENCE.md#application-attachment-download) | +| Candidate Attachment | [Download](./REFERENCE.md#candidate-attachment-download) | + + +For detailed documentation on available actions and parameters, see [REFERENCE.md](./REFERENCE.md). + +For the service's official API docs, see [Greenhouse API Reference](https://developers.greenhouse.io/harvest.html). + +## Version Information + +**Package Version:** 0.17.10 + +**Connector Version:** 0.1.1 + +**Generated with connector-sdk:** 1ab72bd8e7249872a4cf66327dd1a0bf68905acb \ No newline at end of file diff --git a/docs/ai-agents/connectors/greenhouse/REFERENCE.md b/docs/ai-agents/connectors/greenhouse/REFERENCE.md new file mode 100644 index 00000000000..fe527119af6 --- /dev/null +++ b/docs/ai-agents/connectors/greenhouse/REFERENCE.md @@ -0,0 +1,1048 @@ +# Greenhouse + +## Supported Entities and Actions + +| Entity | Actions | +|--------|---------| +| Candidates | [List](#candidates-list), [Get](#candidates-get) | +| Applications | [List](#applications-list), [Get](#applications-get) | +| Jobs | [List](#jobs-list), [Get](#jobs-get) | +| Offers | [List](#offers-list), [Get](#offers-get) | +| Users | [List](#users-list), [Get](#users-get) | +| Departments | [List](#departments-list), [Get](#departments-get) | +| Offices | [List](#offices-list), [Get](#offices-get) | +| Job Posts | [List](#job-posts-list), [Get](#job-posts-get) | +| Sources | [List](#sources-list) | +| Scheduled Interviews | [List](#scheduled-interviews-list), [Get](#scheduled-interviews-get) | +| Application Attachment | [Download](#application-attachment-download) | +| Candidate Attachment | [Download](#candidate-attachment-download) | + +### Candidates + +#### Candidates List + +Returns a paginated list of all candidates in the organization + +**Python SDK** + +```python +greenhouse.candidates.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "candidates", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `per_page` | `integer` | No | Number of items to return per page (max 500) | +| `page` | `integer` | No | Page number for pagination | + + +#### Candidates Get + +Get a single candidate by ID + +**Python SDK** + +```python +greenhouse.candidates.get( + id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "candidates", + "action": "get", + "params": { + "id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `integer` | Yes | Candidate ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `first_name` | `string` | | +| `last_name` | `string` | | +| `company` | `string \| null` | | +| `title` | `string \| null` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | +| `last_activity` | `string` | | +| `is_private` | `boolean` | | +| `photo_url` | `string \| null` | | +| `attachments` | `array` | | +| `attachments[].filename` | `string` | | +| `attachments[].url` | `string` | | +| `attachments[].type` | `"resume" \| "cover_letter" \| "admin_only" \| "take_home_test" \| "offer_packet" \| "offer_letter" \| "signed_offer_letter" \| "other"` | | +| `attachments[].created_at` | `string` | | +| `application_ids` | `array` | | +| `phone_numbers` | `array` | | +| `addresses` | `array` | | +| `email_addresses` | `array` | | +| `website_addresses` | `array` | | +| `social_media_addresses` | `array` | | +| `recruiter` | `object \| null` | | +| `coordinator` | `object \| null` | | +| `can_email` | `boolean` | | +| `tags` | `array` | | +| `custom_fields` | `object` | | + + + + +### Applications + +#### Applications List + +Returns a paginated list of all applications + +**Python SDK** + +```python +greenhouse.applications.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "applications", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `per_page` | `integer` | No | Number of items to return per page (max 500) | +| `page` | `integer` | No | Page number for pagination | +| `created_before` | `string` | No | Filter by applications created before this timestamp | +| `created_after` | `string` | No | Filter by applications created after this timestamp | +| `last_activity_after` | `string` | No | Filter by applications with activity after this timestamp | +| `job_id` | `integer` | No | Filter by job ID | +| `status` | `"active" \| "rejected" \| "hired"` | No | Filter by application status | + + +#### Applications Get + +Get a single application by ID + +**Python SDK** + +```python +greenhouse.applications.get( + id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "applications", + "action": "get", + "params": { + "id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `integer` | Yes | Application ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `candidate_id` | `integer` | | +| `prospect` | `boolean` | | +| `applied_at` | `string` | | +| `rejected_at` | `string \| null` | | +| `last_activity_at` | `string` | | +| `location` | `object \| null` | | +| `source` | `object` | | +| `credited_to` | `object` | | +| `rejection_reason` | `object \| null` | | +| `rejection_details` | `object \| null` | | +| `jobs` | `array` | | +| `job_post_id` | `integer \| null` | | +| `status` | `string` | | +| `current_stage` | `object \| null` | | +| `answers` | `array` | | +| `prospective_office` | `object \| null` | | +| `prospective_department` | `object \| null` | | +| `prospect_detail` | `object` | | +| `attachments` | `array` | | +| `attachments[].filename` | `string` | | +| `attachments[].url` | `string` | | +| `attachments[].type` | `"resume" \| "cover_letter" \| "admin_only" \| "take_home_test" \| "offer_packet" \| "offer_letter" \| "signed_offer_letter" \| "other"` | | +| `attachments[].created_at` | `string` | | +| `custom_fields` | `object` | | + + + + +### Jobs + +#### Jobs List + +Returns a paginated list of all jobs in the organization + +**Python SDK** + +```python +greenhouse.jobs.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "jobs", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `per_page` | `integer` | No | Number of items to return per page (max 500) | +| `page` | `integer` | No | Page number for pagination | + + +#### Jobs Get + +Get a single job by ID + +**Python SDK** + +```python +greenhouse.jobs.get( + id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "jobs", + "action": "get", + "params": { + "id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `integer` | Yes | Job ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `name` | `string` | | +| `requisition_id` | `string \| null` | | +| `notes` | `string \| null` | | +| `confidential` | `boolean` | | +| `status` | `string` | | +| `created_at` | `string` | | +| `opened_at` | `string` | | +| `closed_at` | `string \| null` | | +| `updated_at` | `string` | | +| `departments` | `array` | | +| `offices` | `array` | | +| `custom_fields` | `object` | | +| `hiring_team` | `object` | | +| `openings` | `array` | | + + + + +### Offers + +#### Offers List + +Returns a paginated list of all offers + +**Python SDK** + +```python +greenhouse.offers.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "offers", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `per_page` | `integer` | No | Number of items to return per page (max 500) | +| `page` | `integer` | No | Page number for pagination | +| `created_before` | `string` | No | Filter by offers created before this timestamp | +| `created_after` | `string` | No | Filter by offers created after this timestamp | +| `resolved_after` | `string` | No | Filter by offers resolved after this timestamp | + + +#### Offers Get + +Get a single offer by ID + +**Python SDK** + +```python +greenhouse.offers.get( + id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "offers", + "action": "get", + "params": { + "id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `integer` | Yes | Offer ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `version` | `integer` | | +| `application_id` | `integer` | | +| `job_id` | `integer` | | +| `candidate_id` | `integer` | | +| `opening` | `object \| null` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | +| `sent_at` | `string \| null` | | +| `resolved_at` | `string \| null` | | +| `starts_at` | `string \| null` | | +| `status` | `string` | | +| `custom_fields` | `object` | | + + +
+ +### Users + +#### Users List + +Returns a paginated list of all users + +**Python SDK** + +```python +greenhouse.users.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `per_page` | `integer` | No | Number of items to return per page (max 500) | +| `page` | `integer` | No | Page number for pagination | +| `created_before` | `string` | No | Filter by users created before this timestamp | +| `created_after` | `string` | No | Filter by users created after this timestamp | +| `updated_before` | `string` | No | Filter by users updated before this timestamp | +| `updated_after` | `string` | No | Filter by users updated after this timestamp | + + +#### Users Get + +Get a single user by ID + +**Python SDK** + +```python +greenhouse.users.get( + id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "get", + "params": { + "id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `integer` | Yes | User ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `name` | `string` | | +| `first_name` | `string` | | +| `last_name` | `string` | | +| `primary_email_address` | `string` | | +| `updated_at` | `string` | | +| `created_at` | `string` | | +| `disabled` | `boolean` | | +| `site_admin` | `boolean` | | +| `emails` | `array` | | +| `employee_id` | `string \| null` | | +| `linked_candidate_ids` | `array` | | +| `offices` | `array` | | +| `departments` | `array` | | + + + + +### Departments + +#### Departments List + +Returns a paginated list of all departments + +**Python SDK** + +```python +greenhouse.departments.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "departments", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `per_page` | `integer` | No | Number of items to return per page (max 500) | +| `page` | `integer` | No | Page number for pagination | + + +#### Departments Get + +Get a single department by ID + +**Python SDK** + +```python +greenhouse.departments.get( + id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "departments", + "action": "get", + "params": { + "id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `integer` | Yes | Department ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `name` | `string` | | +| `parent_id` | `integer \| null` | | +| `parent_department_external_id` | `string \| null` | | +| `child_ids` | `array` | | +| `child_department_external_ids` | `array` | | +| `external_id` | `string \| null` | | + + +
+ +### Offices + +#### Offices List + +Returns a paginated list of all offices + +**Python SDK** + +```python +greenhouse.offices.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "offices", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `per_page` | `integer` | No | Number of items to return per page (max 500) | +| `page` | `integer` | No | Page number for pagination | + + +#### Offices Get + +Get a single office by ID + +**Python SDK** + +```python +greenhouse.offices.get( + id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "offices", + "action": "get", + "params": { + "id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `integer` | Yes | Office ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `name` | `string` | | +| `location` | `object \| null` | | +| `primary_contact_user_id` | `integer \| null` | | +| `parent_id` | `integer \| null` | | +| `parent_office_external_id` | `string \| null` | | +| `child_ids` | `array` | | +| `child_office_external_ids` | `array` | | +| `external_id` | `string \| null` | | + + +
+ +### Job Posts + +#### Job Posts List + +Returns a paginated list of all job posts + +**Python SDK** + +```python +greenhouse.job_posts.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "job_posts", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `per_page` | `integer` | No | Number of items to return per page (max 500) | +| `page` | `integer` | No | Page number for pagination | +| `live` | `boolean` | No | Filter by live status | +| `active` | `boolean` | No | Filter by active status | + + +#### Job Posts Get + +Get a single job post by ID + +**Python SDK** + +```python +greenhouse.job_posts.get( + id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "job_posts", + "action": "get", + "params": { + "id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `integer` | Yes | Job Post ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `title` | `string` | | +| `location` | `object \| null` | | +| `internal` | `boolean` | | +| `external` | `boolean` | | +| `active` | `boolean` | | +| `live` | `boolean` | | +| `first_published_at` | `string \| null` | | +| `job_id` | `integer` | | +| `content` | `string \| null` | | +| `internal_content` | `string \| null` | | +| `updated_at` | `string` | | +| `created_at` | `string` | | +| `demographic_question_set_id` | `integer \| null` | | +| `questions` | `array` | | + + + + +### Sources + +#### Sources List + +Returns a paginated list of all sources + +**Python SDK** + +```python +greenhouse.sources.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "sources", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `per_page` | `integer` | No | Number of items to return per page (max 500) | +| `page` | `integer` | No | Page number for pagination | + + +### Scheduled Interviews + +#### Scheduled Interviews List + +Returns a paginated list of all scheduled interviews + +**Python SDK** + +```python +greenhouse.scheduled_interviews.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "scheduled_interviews", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `per_page` | `integer` | No | Number of items to return per page (max 500) | +| `page` | `integer` | No | Page number for pagination | +| `created_before` | `string` | No | Filter by interviews created before this timestamp | +| `created_after` | `string` | No | Filter by interviews created after this timestamp | +| `updated_before` | `string` | No | Filter by interviews updated before this timestamp | +| `updated_after` | `string` | No | Filter by interviews updated after this timestamp | +| `starts_after` | `string` | No | Filter by interviews starting after this timestamp | +| `ends_before` | `string` | No | Filter by interviews ending before this timestamp | + + +#### Scheduled Interviews Get + +Get a single scheduled interview by ID + +**Python SDK** + +```python +greenhouse.scheduled_interviews.get( + id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "scheduled_interviews", + "action": "get", + "params": { + "id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `integer` | Yes | Scheduled Interview ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `application_id` | `integer` | | +| `external_event_id` | `string \| null` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | +| `start` | `object \| null` | | +| `end` | `object \| null` | | +| `location` | `string \| null` | | +| `video_conferencing_url` | `string \| null` | | +| `status` | `string` | | +| `interview` | `object \| null` | | +| `organizer` | `object \| null` | | +| `interviewers` | `array` | | + + + + +### Application Attachment + +#### Application Attachment Download + +Downloads an attachment (resume, cover letter, etc.) for an application by index. +The attachment URL is a temporary signed AWS S3 URL that expires within 7 days. +Files should be downloaded immediately after retrieval. + + +**Python SDK** + +```python +async for chunk in greenhouse.application_attachment.download( id=0, attachment_index=0):# Process each chunk (e.g., write to file) + file.write(chunk) +``` + +> **Note**: Download operations return an async iterator of bytes chunks for memory-efficient streaming. Use `async for` to process chunks as they arrive. + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "application_attachment", + "action": "download", + "params": { + "id": 0, + "attachment_index": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `integer` | Yes | Application ID | +| `attachment_index` | `integer` | Yes | Index of the attachment to download (0-based) | +| `range_header` | `string` | No | Optional Range header for partial downloads (e.g., 'bytes=0-99') | + + +### Candidate Attachment + +#### Candidate Attachment Download + +Downloads an attachment (resume, cover letter, etc.) for a candidate by index. +The attachment URL is a temporary signed AWS S3 URL that expires within 7 days. +Files should be downloaded immediately after retrieval. + + +**Python SDK** + +```python +async for chunk in greenhouse.candidate_attachment.download( id=0, attachment_index=0):# Process each chunk (e.g., write to file) + file.write(chunk) +``` + +> **Note**: Download operations return an async iterator of bytes chunks for memory-efficient streaming. Use `async for` to process chunks as they arrive. + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "candidate_attachment", + "action": "download", + "params": { + "id": 0, + "attachment_index": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `integer` | Yes | Candidate ID | +| `attachment_index` | `integer` | Yes | Index of the attachment to download (0-based) | +| `range_header` | `string` | No | Optional Range header for partial downloads (e.g., 'bytes=0-99') | + + + + +## Authentication + +The Greenhouse connector supports the following authentication methods: + + +### Harvest API Key Authentication + +| Field Name | Type | Required | Description | +|------------|------|----------|-------------| +| `api_key` | `str` | Yes | Your Greenhouse Harvest API Key from the Dev Center | + +#### Example + +**Python SDK** + +```python +GreenhouseConnector( + auth_config=GreenhouseAuthConfig( + api_key="" + ) +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "connector_definition_id": "59f1e50a-331f-4f09-b3e8-2e8d4d355f44", + "auth_config": { + "api_key": "" + }, + "name": "My Greenhouse Connector" +}' +``` + diff --git a/docs/ai-agents/connectors/hubspot/CHANGELOG.md b/docs/ai-agents/connectors/hubspot/CHANGELOG.md new file mode 100644 index 00000000000..c5b461a92d7 --- /dev/null +++ b/docs/ai-agents/connectors/hubspot/CHANGELOG.md @@ -0,0 +1,131 @@ +# Changelog + +## [0.15.11] - 2025-12-13 +- Updated connector definition (YAML version 0.1.2) +- Source commit: 1ab72bd8 +- SDK version: 0.1.0 + +## [0.15.10] - 2025-12-12 +- Updated connector definition (YAML version 0.1.2) +- Source commit: 4d366cb5 +- SDK version: 0.1.0 + +## [0.15.9] - 2025-12-12 +- Updated connector definition (YAML version 0.1.1) +- Source commit: dc79dc8b +- SDK version: 0.1.0 + +## [0.15.8] - 2025-12-12 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 9f7f8a98 +- SDK version: 0.1.0 + +## [0.15.7] - 2025-12-11 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 8c06aa10 +- SDK version: 0.1.0 + +## [0.15.6] - 2025-12-11 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 11427ac3 +- SDK version: 0.1.0 + +## [0.15.5] - 2025-12-11 +- Updated connector definition (YAML version 0.1.1) +- Source commit: bdd5df6d +- SDK version: 0.1.0 + +## [0.15.4] - 2025-12-11 +- Updated connector definition (YAML version 0.1.1) +- Source commit: f2497f71 +- SDK version: 0.1.0 + +## [0.15.3] - 2025-12-11 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 7d738be5 +- SDK version: 0.1.0 + +## [0.15.2] - 2025-12-10 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 76636830 +- SDK version: 0.1.0 + +## [0.15.1] - 2025-12-10 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 32ed3114 +- SDK version: 0.1.0 + +## [0.15.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: f2ad5029 +- SDK version: 0.1.0 + +## [0.14.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 139b0b0d +- SDK version: 0.1.0 + +## [0.13.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: e96bed3d +- SDK version: 0.1.0 + +## [0.12.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: ed697b90 +- SDK version: 0.1.0 + +## [0.11.0] - 2025-12-05 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 20618410 +- SDK version: 0.1.0 + +## [0.10.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 4a01e446 +- SDK version: 0.1.0 + +## [0.9.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 5ec76dde +- SDK version: 0.1.0 + +## [0.8.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: df32a458 +- SDK version: 0.1.0 + +## [0.7.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: a506b369 +- SDK version: 0.1.0 + +## [0.6.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 92a39ab5 +- SDK version: 0.1.0 + +## [0.5.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 0ce38253 +- SDK version: 0.1.0 + +## [0.4.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: c8e326d9 +- SDK version: 0.1.0 + +## [0.3.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: ad0b961b +- SDK version: 0.1.0 + +## [0.2.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 7153780a +- SDK version: 0.1.0 + +## [0.1.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 01f71cad +- SDK version: 0.1.0 diff --git a/docs/ai-agents/connectors/hubspot/README.md b/docs/ai-agents/connectors/hubspot/README.md new file mode 100644 index 00000000000..a75180982dc --- /dev/null +++ b/docs/ai-agents/connectors/hubspot/README.md @@ -0,0 +1,71 @@ +# Airbyte Hubspot AI Connector + +HubSpot is a CRM platform that provides tools for marketing, sales, customer service, +and content management. This connector provides access to contacts, companies, deals, +tickets, and custom objects for customer relationship management and sales analytics. + + +## Example Questions + +- Show me all deals from [Company] this quarter +- What are the top 5 most valuable deals in my pipeline right now? +- List recent tickets from [customerX] and analyze their support trends +- Search for contacts in the marketing department at [Company] +- Give me an overview of my sales team's deals in the last 30 days +- Identify the most active companies in our CRM this month +- Compare the number of deals closed by different sales representatives +- Find all tickets related to a specific product issue and summarize their status + +## Unsupported Questions + +- Create a new contact record for [personX] +- Update the contact information for [customerY] +- Delete the ticket from last week's support case +- Schedule a follow-up task for this deal +- Send an email to all contacts in the sales pipeline + +## Installation + +```bash +uv pip install airbyte-ai-hubspot +``` + +## Usage + +```python +from airbyte_ai_hubspot import HubspotConnector, HubspotAuthConfig + +connector = HubspotConnector( + auth_config=HubspotAuthConfig( + client_id="...", + client_secret="...", + refresh_token="...", + access_token="..." + ) +) +result = connector.contacts.list() +``` + +## Documentation + +| Entity | Actions | +|--------|---------| +| Contacts | [List](./REFERENCE.md#contacts-list), [Get](./REFERENCE.md#contacts-get), [Search](./REFERENCE.md#contacts-search) | +| Companies | [List](./REFERENCE.md#companies-list), [Get](./REFERENCE.md#companies-get), [Search](./REFERENCE.md#companies-search) | +| Deals | [List](./REFERENCE.md#deals-list), [Get](./REFERENCE.md#deals-get), [Search](./REFERENCE.md#deals-search) | +| Tickets | [List](./REFERENCE.md#tickets-list), [Get](./REFERENCE.md#tickets-get), [Search](./REFERENCE.md#tickets-search) | +| Schemas | [List](./REFERENCE.md#schemas-list), [Get](./REFERENCE.md#schemas-get) | +| Objects | [List](./REFERENCE.md#objects-list), [Get](./REFERENCE.md#objects-get) | + + +For detailed documentation on available actions and parameters, see [REFERENCE.md](./REFERENCE.md). + +For the service's official API docs, see [Hubspot API Reference](https://developers.hubspot.com/docs/api/crm/understanding-the-crm). + +## Version Information + +**Package Version:** 0.15.11 + +**Connector Version:** 0.1.2 + +**Generated with connector-sdk:** 1ab72bd8e7249872a4cf66327dd1a0bf68905acb \ No newline at end of file diff --git a/docs/ai-agents/connectors/hubspot/REFERENCE.md b/docs/ai-agents/connectors/hubspot/REFERENCE.md new file mode 100644 index 00000000000..9c8874292f2 --- /dev/null +++ b/docs/ai-agents/connectors/hubspot/REFERENCE.md @@ -0,0 +1,1114 @@ +# Hubspot + +## Supported Entities and Actions + +| Entity | Actions | +|--------|---------| +| Contacts | [List](#contacts-list), [Get](#contacts-get), [Search](#contacts-search) | +| Companies | [List](#companies-list), [Get](#companies-get), [Search](#companies-search) | +| Deals | [List](#deals-list), [Get](#deals-get), [Search](#deals-search) | +| Tickets | [List](#tickets-list), [Get](#tickets-get), [Search](#tickets-search) | +| Schemas | [List](#schemas-list), [Get](#schemas-get) | +| Objects | [List](#objects-list), [Get](#objects-get) | + +### Contacts + +#### Contacts List + +Returns a paginated list of contacts + +**Python SDK** + +```python +hubspot.contacts.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "contacts", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `limit` | `integer` | No | The maximum number of results to display per page. | +| `after` | `string` | No | The paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results. | +| `associations` | `string` | No | A comma separated list of associated object types to include in the response. Valid values are contacts, deals, tickets, and custom object type IDs or fully qualified names (e.g., "p12345_cars"). | +| `properties` | `string` | No | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `propertiesWithHistory` | `string` | No | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of companies that can be read by a single request. | +| `archived` | `boolean` | No | Whether to return only results that have been archived. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_cursor` | `string` | | +| `next_link` | `string` | | + +
+ +#### Contacts Get + +Get a single contact by ID + +**Python SDK** + +```python +hubspot.contacts.get( + contact_id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "contacts", + "action": "get", + "params": { + "contactId": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `contactId` | `string` | Yes | Contact ID | +| `properties` | `string` | No | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `propertiesWithHistory` | `string` | No | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `associations` | `string` | No | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. | +| `idProperty` | `string` | No | The name of a property whose values are unique for this object. | +| `archived` | `boolean` | No | Whether to return only results that have been archived. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +
+ +#### Contacts Search + +Search for contacts by filtering on properties, searching through associations, and sorting results. + +**Python SDK** + +```python +hubspot.contacts.search() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "contacts", + "action": "search" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `filterGroups` | `array` | No | Up to 6 groups of filters defining additional query criteria. | +| `filterGroups.filters` | `array` | No | | +| `filterGroups.filters.operator` | `"BETWEEN" \| "CONTAINS_TOKEN" \| "EQ" \| "GT" \| "GTE" \| "HAS_PROPERTY" \| "IN" \| "LT" \| "LTE" \| "NEQ" \| "NOT_CONTAINS_TOKEN" \| "NOT_HAS_PROPERTY" \| "NOT_IN"` | No | | +| `filterGroups.filters.propertyName` | `string` | No | The name of the property to apply the filter on. | +| `filterGroups.filters.value` | `string` | No | The value to match against the property. | +| `filterGroups.filters.values` | `array` | No | The values to match against the property. | +| `properties` | `array` | No | A list of property names to include in the response. | +| `limit` | `integer` | No | Maximum number of results to return | +| `after` | `string` | No | A paging cursor token for retrieving subsequent pages. | +| `sorts` | `array` | No | Sort criteria | +| `sorts.propertyName` | `string` | No | | +| `sorts.direction` | `"ASCENDING" \| "DESCENDING"` | No | | +| `query` | `string` | No | The search query string, up to 3000 characters. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `total` | `integer` | | +| `next_cursor` | `string` | | +| `next_link` | `string` | | + +
+ +### Companies + +#### Companies List + +Retrieve all companies, using query parameters to control the information that gets returned. + +**Python SDK** + +```python +hubspot.companies.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "companies", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `limit` | `integer` | No | The maximum number of results to display per page. | +| `after` | `string` | No | The paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results. | +| `associations` | `string` | No | A comma separated list of associated object types to include in the response. Valid values are contacts, deals, tickets, and custom object type IDs or fully qualified names (e.g., "p12345_cars"). | +| `properties` | `string` | No | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `propertiesWithHistory` | `string` | No | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of companies that can be read by a single request. | +| `archived` | `boolean` | No | Whether to return only results that have been archived. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_cursor` | `string` | | +| `next_link` | `string` | | + +
+ +#### Companies Get + +Get a single company by ID + +**Python SDK** + +```python +hubspot.companies.get( + company_id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "companies", + "action": "get", + "params": { + "companyId": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `companyId` | `string` | Yes | Company ID | +| `properties` | `string` | No | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `propertiesWithHistory` | `string` | No | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `associations` | `string` | No | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. | +| `idProperty` | `string` | No | The name of a property whose values are unique for this object. | +| `archived` | `boolean` | No | Whether to return only results that have been archived. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +
+ +#### Companies Search + +Search for companies by filtering on properties, searching through associations, and sorting results. + +**Python SDK** + +```python +hubspot.companies.search() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "companies", + "action": "search" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `filterGroups` | `array` | No | Up to 6 groups of filters defining additional query criteria. | +| `filterGroups.filters` | `array` | No | | +| `filterGroups.filters.operator` | `"BETWEEN" \| "CONTAINS_TOKEN" \| "EQ" \| "GT" \| "GTE" \| "HAS_PROPERTY" \| "IN" \| "LT" \| "LTE" \| "NEQ" \| "NOT_CONTAINS_TOKEN" \| "NOT_HAS_PROPERTY" \| "NOT_IN"` | No | | +| `filterGroups.filters.propertyName` | `string` | No | The name of the property to apply the filter on. | +| `filterGroups.filters.value` | `string` | No | The value to match against the property. | +| `filterGroups.filters.values` | `array` | No | The values to match against the property. | +| `properties` | `array` | No | A list of property names to include in the response. | +| `limit` | `integer` | No | Maximum number of results to return | +| `after` | `string` | No | A paging cursor token for retrieving subsequent pages. | +| `sorts` | `array` | No | Sort criteria | +| `sorts.propertyName` | `string` | No | | +| `sorts.direction` | `"ASCENDING" \| "DESCENDING"` | No | | +| `query` | `string` | No | The search query string, up to 3000 characters. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `total` | `integer` | | +| `next_cursor` | `string` | | +| `next_link` | `string` | | + +
+ +### Deals + +#### Deals List + +Returns a paginated list of deals + +**Python SDK** + +```python +hubspot.deals.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "deals", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `limit` | `integer` | No | The maximum number of results to display per page. | +| `after` | `string` | No | The paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results. | +| `associations` | `string` | No | A comma separated list of associated object types to include in the response. Valid values are contacts, deals, tickets, and custom object type IDs or fully qualified names (e.g., "p12345_cars"). | +| `properties` | `string` | No | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `propertiesWithHistory` | `string` | No | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of companies that can be read by a single request. | +| `archived` | `boolean` | No | Whether to return only results that have been archived. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_cursor` | `string` | | +| `next_link` | `string` | | + +
+ +#### Deals Get + +Get a single deal by ID + +**Python SDK** + +```python +hubspot.deals.get( + deal_id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "deals", + "action": "get", + "params": { + "dealId": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `dealId` | `string` | Yes | Deal ID | +| `properties` | `string` | No | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `propertiesWithHistory` | `string` | No | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `associations` | `string` | No | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. | +| `idProperty` | `string` | No | The name of a property whose values are unique for this object. | +| `archived` | `boolean` | No | Whether to return only results that have been archived. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +
+ +#### Deals Search + +Search deals with filters and sorting + +**Python SDK** + +```python +hubspot.deals.search() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "deals", + "action": "search" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `filterGroups` | `array` | No | Up to 6 groups of filters defining additional query criteria. | +| `filterGroups.filters` | `array` | No | | +| `filterGroups.filters.operator` | `"BETWEEN" \| "CONTAINS_TOKEN" \| "EQ" \| "GT" \| "GTE" \| "HAS_PROPERTY" \| "IN" \| "LT" \| "LTE" \| "NEQ" \| "NOT_CONTAINS_TOKEN" \| "NOT_HAS_PROPERTY" \| "NOT_IN"` | No | | +| `filterGroups.filters.propertyName` | `string` | No | The name of the property to apply the filter on. | +| `filterGroups.filters.value` | `string` | No | The value to match against the property. | +| `filterGroups.filters.values` | `array` | No | The values to match against the property. | +| `properties` | `array` | No | A list of property names to include in the response. | +| `limit` | `integer` | No | Maximum number of results to return | +| `after` | `string` | No | A paging cursor token for retrieving subsequent pages. | +| `sorts` | `array` | No | Sort criteria | +| `sorts.propertyName` | `string` | No | | +| `sorts.direction` | `"ASCENDING" \| "DESCENDING"` | No | | +| `query` | `string` | No | The search query string, up to 3000 characters. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `total` | `integer` | | +| `next_cursor` | `string` | | +| `next_link` | `string` | | + +
+ +### Tickets + +#### Tickets List + +Returns a paginated list of tickets + +**Python SDK** + +```python +hubspot.tickets.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "tickets", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `limit` | `integer` | No | The maximum number of results to display per page. | +| `after` | `string` | No | The paging cursor token of the last successfully read resource will be returned as the paging.next.after JSON property of a paged response containing more results. | +| `associations` | `string` | No | A comma separated list of associated object types to include in the response. Valid values are contacts, deals, tickets, and custom object type IDs or fully qualified names (e.g., "p12345_cars"). | +| `properties` | `string` | No | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `propertiesWithHistory` | `string` | No | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. Usage of this parameter will reduce the maximum number of companies that can be read by a single request. | +| `archived` | `boolean` | No | Whether to return only results that have been archived. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_cursor` | `string` | | +| `next_link` | `string` | | + +
+ +#### Tickets Get + +Get a single ticket by ID + +**Python SDK** + +```python +hubspot.tickets.get( + ticket_id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "tickets", + "action": "get", + "params": { + "ticketId": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `ticketId` | `string` | Yes | Ticket ID | +| `properties` | `string` | No | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `propertiesWithHistory` | `string` | No | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `associations` | `string` | No | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. | +| `idProperty` | `string` | No | The name of a property whose values are unique for this object. | +| `archived` | `boolean` | No | Whether to return only results that have been archived. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +
+ +#### Tickets Search + +Search for tickets by filtering on properties, searching through associations, and sorting results. + +**Python SDK** + +```python +hubspot.tickets.search() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "tickets", + "action": "search" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `filterGroups` | `array` | No | Up to 6 groups of filters defining additional query criteria. | +| `filterGroups.filters` | `array` | No | | +| `filterGroups.filters.operator` | `"BETWEEN" \| "CONTAINS_TOKEN" \| "EQ" \| "GT" \| "GTE" \| "HAS_PROPERTY" \| "IN" \| "LT" \| "LTE" \| "NEQ" \| "NOT_CONTAINS_TOKEN" \| "NOT_HAS_PROPERTY" \| "NOT_IN"` | No | | +| `filterGroups.filters.propertyName` | `string` | No | The name of the property to apply the filter on. | +| `filterGroups.filters.value` | `string` | No | The value to match against the property. | +| `filterGroups.filters.values` | `array` | No | The values to match against the property. | +| `properties` | `array` | No | A list of property names to include in the response. | +| `limit` | `integer` | No | Maximum number of results to return | +| `after` | `string` | No | A paging cursor token for retrieving subsequent pages. | +| `sorts` | `array` | No | Sort criteria | +| `sorts.propertyName` | `string` | No | | +| `sorts.direction` | `"ASCENDING" \| "DESCENDING"` | No | | +| `query` | `string` | No | The search query string, up to 3000 characters. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `total` | `integer` | | +| `next_cursor` | `string` | | +| `next_link` | `string` | | + +
+ +### Schemas + +#### Schemas List + +Returns all custom object schemas to discover available custom objects + +**Python SDK** + +```python +hubspot.schemas.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "schemas", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `archived` | `boolean` | No | Whether to return only results that have been archived. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `name` | `string` | | +| `labels` | `object` | | +| `objectTypeId` | `string` | | +| `fullyQualifiedName` | `string` | | +| `requiredProperties` | `array` | | +| `searchableProperties` | `array` | | +| `primaryDisplayProperty` | `string` | | +| `secondaryDisplayProperties` | `array` | | +| `description` | `string \| null` | | +| `allowsSensitiveProperties` | `boolean` | | +| `archived` | `boolean` | | +| `restorable` | `boolean` | | +| `metaType` | `string` | | +| `createdByUserId` | `integer` | | +| `updatedByUserId` | `integer` | | +| `properties` | `array` | | +| `associations` | `array` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | + + + + +#### Schemas Get + +Get the schema for a specific custom object type + +**Python SDK** + +```python +hubspot.schemas.get( + object_type="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "schemas", + "action": "get", + "params": { + "objectType": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `objectType` | `string` | Yes | Fully qualified name or object type ID of your schema. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `name` | `string` | | +| `labels` | `object` | | +| `objectTypeId` | `string` | | +| `fullyQualifiedName` | `string` | | +| `requiredProperties` | `array` | | +| `searchableProperties` | `array` | | +| `primaryDisplayProperty` | `string` | | +| `secondaryDisplayProperties` | `array` | | +| `description` | `string \| null` | | +| `allowsSensitiveProperties` | `boolean` | | +| `archived` | `boolean` | | +| `restorable` | `boolean` | | +| `metaType` | `string` | | +| `createdByUserId` | `integer` | | +| `updatedByUserId` | `integer` | | +| `properties` | `array` | | +| `associations` | `array` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | + + + + +### Objects + +#### Objects List + +Read a page of objects. Control what is returned via the properties query param. + +**Python SDK** + +```python +hubspot.objects.list( + object_type="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "objects", + "action": "list", + "params": { + "objectType": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `objectType` | `string` | Yes | Object type ID or fully qualified name (e.g., "cars" or "p12345_cars") | +| `limit` | `integer` | No | The maximum number of results to display per page. | +| `after` | `string` | No | The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results. | +| `properties` | `string` | No | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `archived` | `boolean` | No | Whether to return only results that have been archived. | +| `associations` | `string` | No | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. | +| `propertiesWithHistory` | `string` | No | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_cursor` | `string` | | +| `next_link` | `string` | | + +
+ +#### Objects Get + +Read an Object identified by `{objectId}`. `{objectId}` refers to the internal object ID by default, or optionally any unique property value as specified by the idProperty query param. Control what is returned via the properties query param. + +**Python SDK** + +```python +hubspot.objects.get( + object_type="", + object_id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "objects", + "action": "get", + "params": { + "objectType": "", + "objectId": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `objectType` | `string` | Yes | Object type ID or fully qualified name | +| `objectId` | `string` | Yes | Object record ID | +| `properties` | `string` | No | A comma separated list of the properties to be returned in the response. If any of the specified properties are not present on the requested object(s), they will be ignored. | +| `archived` | `boolean` | No | Whether to return only results that have been archived. | +| `associations` | `string` | No | A comma separated list of object types to retrieve associated IDs for. If any of the specified associations do not exist, they will be ignored. | +| `idProperty` | `string` | No | The name of a property whose values are unique for this object. | +| `propertiesWithHistory` | `string` | No | A comma separated list of the properties to be returned along with their history of previous values. If any of the specified properties are not present on the requested object(s), they will be ignored. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `properties` | `object` | | +| `createdAt` | `string` | | +| `updatedAt` | `string` | | +| `archived` | `boolean` | | +| `archivedAt` | `string \| null` | | +| `propertiesWithHistory` | `object \| null` | | +| `associations` | `object \| null` | | +| `objectWriteTraceId` | `string \| null` | | +| `url` | `string \| null` | | + + +
+ + + +## Authentication + +The Hubspot connector supports the following authentication methods: + + +### OAuth2 Authentication + +| Field Name | Type | Required | Description | +|------------|------|----------|-------------| +| `client_id` | `str` | Yes | Your HubSpot OAuth2 Client ID | +| `client_secret` | `str` | Yes | Your HubSpot OAuth2 Client Secret | +| `refresh_token` | `str` | Yes | Your HubSpot OAuth2 Refresh Token | +| `access_token` | `str` | Yes | Your HubSpot OAuth2 Access Token (optional if refresh_token is provided) | + +#### Example + +**Python SDK** + +```python +HubspotConnector( + auth_config=HubspotAuthConfig( + client_id="", + client_secret="", + refresh_token="", + access_token="" + ) +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "connector_definition_id": "36c891d9-4bd9-43ac-bad2-10e12756272c", + "auth_config": { + "client_id": "", + "client_secret": "", + "refresh_token": "", + "access_token": "" + }, + "name": "My Hubspot Connector" +}' +``` + diff --git a/docs/ai-agents/connectors/jira/CHANGELOG.md b/docs/ai-agents/connectors/jira/CHANGELOG.md new file mode 100644 index 00000000000..a9fe2914e48 --- /dev/null +++ b/docs/ai-agents/connectors/jira/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +## [0.1.1] - 2025-12-13 +- Updated connector definition (YAML version 1.0.2) +- Source commit: 1ab72bd8 +- SDK version: 0.1.0 + +## [0.1.0] - 2025-12-12 +- Updated connector definition (YAML version 1.0.2) +- Source commit: 61d98c0a +- SDK version: 0.1.0 diff --git a/docs/ai-agents/connectors/jira/README.md b/docs/ai-agents/connectors/jira/README.md new file mode 100644 index 00000000000..6d155dafe30 --- /dev/null +++ b/docs/ai-agents/connectors/jira/README.md @@ -0,0 +1,47 @@ +# Airbyte Jira AI Connector + +Connector for Jira API + +## Installation + +```bash +uv pip install airbyte-ai-jira +``` + +## Usage + +```python +from airbyte_ai_jira import JiraConnector, JiraAuthConfig + +connector = JiraConnector( + auth_config=JiraAuthConfig( + username="...", + password="..." + ) +) +result = connector.issues.search() +``` + +## Documentation + +| Entity | Actions | +|--------|---------| +| Issues | [Search](./REFERENCE.md#issues-search), [Get](./REFERENCE.md#issues-get) | +| Projects | [Search](./REFERENCE.md#projects-search), [Get](./REFERENCE.md#projects-get) | +| Users | [Get](./REFERENCE.md#users-get), [List](./REFERENCE.md#users-list), [Search](./REFERENCE.md#users-search) | +| Issue Fields | [List](./REFERENCE.md#issue-fields-list), [Search](./REFERENCE.md#issue-fields-search) | +| Issue Comments | [List](./REFERENCE.md#issue-comments-list), [Get](./REFERENCE.md#issue-comments-get) | +| Issue Worklogs | [List](./REFERENCE.md#issue-worklogs-list), [Get](./REFERENCE.md#issue-worklogs-get) | + + +For detailed documentation on available actions and parameters, see [REFERENCE.md](./REFERENCE.md). + +For the service's official API docs, see [Jira API Reference](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/). + +## Version Information + +**Package Version:** 0.1.1 + +**Connector Version:** 1.0.2 + +**Generated with connector-sdk:** 1ab72bd8e7249872a4cf66327dd1a0bf68905acb \ No newline at end of file diff --git a/docs/ai-agents/connectors/jira/REFERENCE.md b/docs/ai-agents/connectors/jira/REFERENCE.md new file mode 100644 index 00000000000..6a7cbcb5d67 --- /dev/null +++ b/docs/ai-agents/connectors/jira/REFERENCE.md @@ -0,0 +1,827 @@ +# Jira + +## Supported Entities and Actions + +| Entity | Actions | +|--------|---------| +| Issues | [Search](#issues-search), [Get](#issues-get) | +| Projects | [Search](#projects-search), [Get](#projects-get) | +| Users | [Get](#users-get), [List](#users-list), [Search](#users-search) | +| Issue Fields | [List](#issue-fields-list), [Search](#issue-fields-search) | +| Issue Comments | [List](#issue-comments-list), [Get](#issue-comments-get) | +| Issue Worklogs | [List](#issue-worklogs-list), [Get](#issue-worklogs-get) | + +### Issues + +#### Issues Search + +Retrieve issues based on JQL query with pagination support + +**Python SDK** + +```python +jira.issues.search() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "issues", + "action": "search" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `jql` | `string` | No | JQL query string to filter issues | +| `nextPageToken` | `string` | No | The token for a page to fetch that is not the first page. The first page has a nextPageToken of null. Use the `nextPageToken` to fetch the next page of issues. The `nextPageToken` field is not included in the response for the last page, indicating there is no next page. | +| `maxResults` | `integer` | No | The maximum number of items to return per page. To manage page size, API may return fewer items per page where a large number of fields or properties are requested. The greatest number of items returned per page is achieved when requesting `id` or `key` only. It returns max 5000 issues. | +| `fields` | `string` | No | A comma-separated list of fields to return for each issue. By default, all navigable fields are returned. To get a list of all fields, use the Get fields operation. | +| `expand` | `string` | No | A comma-separated list of parameters to expand. This parameter accepts multiple values, including `renderedFields`, `names`, `schema`, `transitions`, `operations`, `editmeta`, `changelog`, and `versionedRepresentations`. | +| `properties` | `string` | No | A comma-separated list of issue property keys. To get a list of all issue property keys, use the Get issue operation. A maximum of 5 properties can be requested. | +| `fieldsByKeys` | `boolean` | No | Whether the fields parameter contains field keys (true) or field IDs (false). Default is false. | +| `failFast` | `boolean` | No | Fail the request early if all field data cannot be retrieved. Default is false. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `key` | `string` | | +| `self` | `string` | | +| `expand` | `string \| null` | | +| `fields` | `object` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `nextPageToken` | `string \| null` | | +| `isLast` | `boolean \| null` | | +| `total` | `integer` | | + +
+ +#### Issues Get + +Retrieve a single issue by its ID or key + +**Python SDK** + +```python +jira.issues.get( + issue_id_or_key="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "issues", + "action": "get", + "params": { + "issueIdOrKey": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `issueIdOrKey` | `string` | Yes | The issue ID or key (e.g., "PROJ-123" or "10000") | +| `fields` | `string` | No | A comma-separated list of fields to return for the issue. By default, all navigable and Jira default fields are returned. Use it to retrieve a subset of fields. | +| `expand` | `string` | No | A comma-separated list of parameters to expand. This parameter accepts multiple values, including `renderedFields`, `names`, `schema`, `transitions`, `operations`, `editmeta`, `changelog`, and `versionedRepresentations`. | +| `properties` | `string` | No | A comma-separated list of issue property keys. To get a list of all issue property keys, use the Get issue operation. A maximum of 5 properties can be requested. | +| `fieldsByKeys` | `boolean` | No | Whether the fields parameter contains field keys (true) or field IDs (false). Default is false. | +| `updateHistory` | `boolean` | No | Whether the action taken is added to the user's Recent history. Default is false. | +| `failFast` | `boolean` | No | Fail the request early if all field data cannot be retrieved. Default is false. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `key` | `string` | | +| `self` | `string` | | +| `expand` | `string \| null` | | +| `fields` | `object` | | + + +
+ +### Projects + +#### Projects Search + +Search and filter projects with advanced query parameters + +**Python SDK** + +```python +jira.projects.search() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "projects", + "action": "search" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `startAt` | `integer` | No | The index of the first item to return in a page of results (page offset) | +| `maxResults` | `integer` | No | The maximum number of items to return per page (max 100) | +| `orderBy` | `"category" \| "-category" \| "+category" \| "key" \| "-key" \| "+key" \| "name" \| "-name" \| "+name" \| "owner" \| "-owner" \| "+owner" \| "issueCount" \| "-issueCount" \| "+issueCount" \| "lastIssueUpdatedDate" \| "-lastIssueUpdatedDate" \| "+lastIssueUpdatedDate" \| "archivedDate" \| "+archivedDate" \| "-archivedDate" \| "deletedDate" \| "+deletedDate" \| "-deletedDate"` | No | Order the results by a field (prefix with + for ascending, - for descending) | +| `id` | `array` | No | Filter by project IDs (up to 50) | +| `keys` | `array` | No | Filter by project keys (up to 50) | +| `query` | `string` | No | Filter using a literal string (matches project key or name, case insensitive) | +| `typeKey` | `string` | No | Filter by project type (comma-separated) | +| `categoryId` | `integer` | No | Filter by project category ID | +| `action` | `"view" \| "browse" \| "edit" \| "create"` | No | Filter by user permission (view, browse, edit, create) | +| `expand` | `string` | No | Comma-separated list of additional fields (description, projectKeys, lead, issueTypes, url, insight) | +| `status` | `array<"live" \| "archived" \| "deleted">` | No | EXPERIMENTAL - Filter by project status | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `key` | `string` | | +| `name` | `string` | | +| `self` | `string` | | +| `expand` | `string \| null` | | +| `description` | `string \| null` | | +| `lead` | `object \| null` | | +| `avatarUrls` | `object` | | +| `projectTypeKey` | `string` | | +| `simplified` | `boolean` | | +| `style` | `string` | | +| `isPrivate` | `boolean` | | +| `properties` | `object` | | +| `projectCategory` | `object \| null` | | +| `entityId` | `string \| null` | | +| `uuid` | `string \| null` | | +| `url` | `string \| null` | | +| `assigneeType` | `string \| null` | | +| `components` | `array \| null` | | +| `issueTypes` | `array \| null` | | +| `versions` | `array \| null` | | +| `roles` | `object \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `nextPage` | `string \| null` | | +| `total` | `integer` | | + +
+ +#### Projects Get + +Retrieve a single project by its ID or key + +**Python SDK** + +```python +jira.projects.get( + project_id_or_key="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "projects", + "action": "get", + "params": { + "projectIdOrKey": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `projectIdOrKey` | `string` | Yes | The project ID or key (e.g., "PROJ" or "10000") | +| `expand` | `string` | No | Comma-separated list of additional fields to include (description, projectKeys, lead, issueTypes, url, insight) | +| `properties` | `string` | No | A comma-separated list of project property keys to return. To get a list of all project property keys, use Get project property keys. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `key` | `string` | | +| `name` | `string` | | +| `self` | `string` | | +| `expand` | `string \| null` | | +| `description` | `string \| null` | | +| `lead` | `object \| null` | | +| `avatarUrls` | `object` | | +| `projectTypeKey` | `string` | | +| `simplified` | `boolean` | | +| `style` | `string` | | +| `isPrivate` | `boolean` | | +| `properties` | `object` | | +| `projectCategory` | `object \| null` | | +| `entityId` | `string \| null` | | +| `uuid` | `string \| null` | | +| `url` | `string \| null` | | +| `assigneeType` | `string \| null` | | +| `components` | `array \| null` | | +| `issueTypes` | `array \| null` | | +| `versions` | `array \| null` | | +| `roles` | `object \| null` | | + + +
+ +### Users + +#### Users Get + +Retrieve a single user by their account ID + +**Python SDK** + +```python +jira.users.get( + account_id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "get", + "params": { + "accountId": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `accountId` | `string` | Yes | The account ID of the user | +| `expand` | `string` | No | Comma-separated list of additional fields to include (groups, applicationRoles) | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `self` | `string` | | +| `accountId` | `string` | | +| `accountType` | `string` | | +| `emailAddress` | `string \| null` | | +| `avatarUrls` | `object` | | +| `displayName` | `string` | | +| `active` | `boolean` | | +| `timeZone` | `string \| null` | | +| `locale` | `string \| null` | | +| `expand` | `string \| null` | | +| `groups` | `object \| null` | | +| `applicationRoles` | `object \| null` | | + + +
+ +#### Users List + +Returns a paginated list of users + +**Python SDK** + +```python +jira.users.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `startAt` | `integer` | No | The index of the first item to return in a page of results (page offset) | +| `maxResults` | `integer` | No | The maximum number of items to return per page (max 1000) | + + +#### Users Search + +Search for users using a query string + +**Python SDK** + +```python +jira.users.search() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "search" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `query` | `string` | No | A query string to search for users (matches display name, email, account ID) | +| `startAt` | `integer` | No | The index of the first item to return in a page of results (page offset) | +| `maxResults` | `integer` | No | The maximum number of items to return per page (max 1000) | +| `accountId` | `string` | No | Filter by account IDs (supports multiple values) | +| `property` | `string` | No | Property key to filter users | + + +### Issue Fields + +#### Issue Fields List + +Returns a list of all custom and system fields + +**Python SDK** + +```python +jira.issue_fields.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "issue_fields", + "action": "list" +}' +``` + + + +#### Issue Fields Search + +Search and filter issue fields with query parameters + +**Python SDK** + +```python +jira.issue_fields.search() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "issue_fields", + "action": "search" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `startAt` | `integer` | No | The index of the first item to return in a page of results (page offset) | +| `maxResults` | `integer` | No | The maximum number of items to return per page (max 100) | +| `type` | `array<"custom" \| "system">` | No | The type of fields to search for (custom, system, or both) | +| `id` | `array` | No | List of field IDs to search for | +| `query` | `string` | No | String to match against field names, descriptions, and field IDs (case insensitive) | +| `orderBy` | `"contextsCount" \| "-contextsCount" \| "+contextsCount" \| "lastUsed" \| "-lastUsed" \| "+lastUsed" \| "name" \| "-name" \| "+name" \| "screensCount" \| "-screensCount" \| "+screensCount"` | No | Order the results by a field (contextsCount, lastUsed, name, screensCount) | +| `expand` | `string` | No | Comma-separated list of additional fields to include (searcherKey, screensCount, contextsCount, isLocked, lastUsed) | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `maxResults` | `integer` | | +| `startAt` | `integer` | | +| `total` | `integer` | | +| `isLast` | `boolean` | | +| `values` | `array` | | +| `values[].id` | `string` | | +| `values[].key` | `string \| null` | | +| `values[].name` | `string` | | +| `values[].custom` | `boolean \| null` | | +| `values[].orderable` | `boolean \| null` | | +| `values[].navigable` | `boolean \| null` | | +| `values[].searchable` | `boolean \| null` | | +| `values[].clauseNames` | `array \| null` | | +| `values[].schema` | `object \| null` | | +| `values[].untranslatedName` | `string \| null` | | +| `values[].typeDisplayName` | `string \| null` | | +| `values[].description` | `string \| null` | | +| `values[].searcherKey` | `string \| null` | | +| `values[].screensCount` | `integer \| null` | | +| `values[].contextsCount` | `integer \| null` | | +| `values[].isLocked` | `boolean \| null` | | +| `values[].lastUsed` | `string \| null` | | + + + + +### Issue Comments + +#### Issue Comments List + +Retrieve all comments for a specific issue + +**Python SDK** + +```python +jira.issue_comments.list( + issue_id_or_key="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "issue_comments", + "action": "list", + "params": { + "issueIdOrKey": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `issueIdOrKey` | `string` | Yes | The issue ID or key (e.g., "PROJ-123" or "10000") | +| `startAt` | `integer` | No | The index of the first item to return in a page of results (page offset) | +| `maxResults` | `integer` | No | The maximum number of items to return per page | +| `orderBy` | `"created" \| "-created" \| "+created"` | No | Order the results by created date (+ for ascending, - for descending) | +| `expand` | `string` | No | Comma-separated list of additional fields to include (renderedBody, properties) | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `self` | `string` | | +| `body` | `object` | | +| `author` | `object` | | +| `updateAuthor` | `object` | | +| `created` | `string` | | +| `updated` | `string` | | +| `jsdPublic` | `boolean` | | +| `visibility` | `object \| null` | | +| `renderedBody` | `string \| null` | | +| `properties` | `array \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `startAt` | `integer` | | +| `maxResults` | `integer` | | +| `total` | `integer` | | + +
+ +#### Issue Comments Get + +Retrieve a single comment by its ID + +**Python SDK** + +```python +jira.issue_comments.get( + issue_id_or_key="", + comment_id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "issue_comments", + "action": "get", + "params": { + "issueIdOrKey": "", + "commentId": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `issueIdOrKey` | `string` | Yes | The issue ID or key (e.g., "PROJ-123" or "10000") | +| `commentId` | `string` | Yes | The comment ID | +| `expand` | `string` | No | Comma-separated list of additional fields to include (renderedBody, properties) | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `self` | `string` | | +| `body` | `object` | | +| `author` | `object` | | +| `updateAuthor` | `object` | | +| `created` | `string` | | +| `updated` | `string` | | +| `jsdPublic` | `boolean` | | +| `visibility` | `object \| null` | | +| `renderedBody` | `string \| null` | | +| `properties` | `array \| null` | | + + +
+ +### Issue Worklogs + +#### Issue Worklogs List + +Retrieve all worklogs for a specific issue + +**Python SDK** + +```python +jira.issue_worklogs.list( + issue_id_or_key="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "issue_worklogs", + "action": "list", + "params": { + "issueIdOrKey": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `issueIdOrKey` | `string` | Yes | The issue ID or key (e.g., "PROJ-123" or "10000") | +| `startAt` | `integer` | No | The index of the first item to return in a page of results (page offset) | +| `maxResults` | `integer` | No | The maximum number of items to return per page | +| `expand` | `string` | No | Comma-separated list of additional fields to include (properties) | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `self` | `string` | | +| `author` | `object` | | +| `updateAuthor` | `object` | | +| `comment` | `object` | | +| `created` | `string` | | +| `updated` | `string` | | +| `started` | `string` | | +| `timeSpent` | `string` | | +| `timeSpentSeconds` | `integer` | | +| `issueId` | `string` | | +| `visibility` | `object \| null` | | +| `properties` | `array \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `startAt` | `integer` | | +| `maxResults` | `integer` | | +| `total` | `integer` | | + +
+ +#### Issue Worklogs Get + +Retrieve a single worklog by its ID + +**Python SDK** + +```python +jira.issue_worklogs.get( + issue_id_or_key="", + worklog_id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "issue_worklogs", + "action": "get", + "params": { + "issueIdOrKey": "", + "worklogId": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `issueIdOrKey` | `string` | Yes | The issue ID or key (e.g., "PROJ-123" or "10000") | +| `worklogId` | `string` | Yes | The worklog ID | +| `expand` | `string` | No | Comma-separated list of additional fields to include (properties) | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `self` | `string` | | +| `author` | `object` | | +| `updateAuthor` | `object` | | +| `comment` | `object` | | +| `created` | `string` | | +| `updated` | `string` | | +| `started` | `string` | | +| `timeSpent` | `string` | | +| `timeSpentSeconds` | `integer` | | +| `issueId` | `string` | | +| `visibility` | `object \| null` | | +| `properties` | `array \| null` | | + + +
+ + + +## Configuration + +The connector requires the following configuration variables: + +| Variable | Type | Required | Default | Description | +|----------|------|----------|---------|-------------| +| `subdomain` | `string` | Yes | `{subdomain}` | Your Jira Cloud subdomain | + +These variables are used to construct the base API URL. Pass them via the `config` parameter when initializing the connector. + + +## Authentication + +The Jira connector supports the following authentication methods: + + +### Authentication + +| Field Name | Type | Required | Description | +|------------|------|----------|-------------| +| `username` | `str` | Yes | Authentication username | +| `password` | `str` | Yes | Authentication password | + +#### Example + +**Python SDK** + +```python +JiraConnector( + auth_config=JiraAuthConfig( + username="", + password="" + ) +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "connector_definition_id": "68e63de2-bb83-4c7e-93fa-a8a9051e3993", + "auth_config": { + "username": "", + "password": "" + }, + "name": "My Jira Connector" +}' +``` + diff --git a/docs/ai-agents/connectors/linear/CHANGELOG.md b/docs/ai-agents/connectors/linear/CHANGELOG.md new file mode 100644 index 00000000000..40f6396bab1 --- /dev/null +++ b/docs/ai-agents/connectors/linear/CHANGELOG.md @@ -0,0 +1,146 @@ +# Changelog + +## [0.19.10] - 2025-12-13 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 1ab72bd8 +- SDK version: 0.1.0 + +## [0.19.9] - 2025-12-12 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 4d366cb5 +- SDK version: 0.1.0 + +## [0.19.8] - 2025-12-12 +- Updated connector definition (YAML version 0.1.0) +- Source commit: dc79dc8b +- SDK version: 0.1.0 + +## [0.19.7] - 2025-12-12 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 9f7f8a98 +- SDK version: 0.1.0 + +## [0.19.6] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 8c06aa10 +- SDK version: 0.1.0 + +## [0.19.5] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 11427ac3 +- SDK version: 0.1.0 + +## [0.19.4] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: bdd5df6d +- SDK version: 0.1.0 + +## [0.19.3] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: f2497f71 +- SDK version: 0.1.0 + +## [0.19.2] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 7d738be5 +- SDK version: 0.1.0 + +## [0.19.1] - 2025-12-10 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 76636830 +- SDK version: 0.1.0 + +## [0.19.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: f2ad5029 +- SDK version: 0.1.0 + +## [0.18.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 139b0b0d +- SDK version: 0.1.0 + +## [0.17.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: e96bed3d +- SDK version: 0.1.0 + +## [0.16.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: ed697b90 +- SDK version: 0.1.0 + +## [0.15.0] - 2025-12-05 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 20618410 +- SDK version: 0.1.0 + +## [0.14.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 4a01e446 +- SDK version: 0.1.0 + +## [0.13.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 5ec76dde +- SDK version: 0.1.0 + +## [0.12.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: df32a458 +- SDK version: 0.1.0 + +## [0.11.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: a506b369 +- SDK version: 0.1.0 + +## [0.10.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 92a39ab5 +- SDK version: 0.1.0 + +## [0.9.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 0ce38253 +- SDK version: 0.1.0 + +## [0.8.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: c8e326d9 +- SDK version: 0.1.0 + +## [0.7.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: ad0b961b +- SDK version: 0.1.0 + +## [0.6.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 7153780a +- SDK version: 0.1.0 + +## [0.5.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 01f71cad +- SDK version: 0.1.0 + +## [0.4.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 4c17f060 +- SDK version: 0.1.0 + +## [0.3.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 430a4e68 +- SDK version: 0.1.0 + +## [0.2.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: cd499acd +- SDK version: 0.1.0 + +## [0.1.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: b261c3a2 +- SDK version: 0.1.0 diff --git a/docs/ai-agents/connectors/linear/README.md b/docs/ai-agents/connectors/linear/README.md new file mode 100644 index 00000000000..2b99a4d1495 --- /dev/null +++ b/docs/ai-agents/connectors/linear/README.md @@ -0,0 +1,67 @@ +# Airbyte Linear AI Connector + +Linear is a modern issue tracking and project management tool built for software +development teams. This connector provides access to issues, projects, and teams +for sprint planning, backlog management, and development workflow analysis. + + +## Example Questions + +- Show me the open issues assigned to my team this week +- List out all projects I'm currently involved in +- Analyze the workload distribution across my development team +- What are the top priority issues in our current sprint? +- Identify the most active projects in our organization right now +- Summarize the recent issues for [teamMember] in the last two weeks +- Compare the issue complexity across different teams +- Which projects have the most unresolved issues? +- Give me an overview of my team's current project backlog + +## Unsupported Questions + +- Create a new issue for the backend team +- Update the priority of this specific issue +- Assign a team member to this project +- Delete an outdated project from our workspace +- Schedule a sprint planning meeting +- Move an issue to a different project + +## Installation + +```bash +uv pip install airbyte-ai-linear +``` + +## Usage + +```python +from airbyte_ai_linear import LinearConnector, LinearAuthConfig + +connector = LinearConnector( + auth_config=LinearAuthConfig( + api_key="..." + ) +) +result = connector.issues.list() +``` + +## Documentation + +| Entity | Actions | +|--------|---------| +| Issues | [List](./REFERENCE.md#issues-list), [Get](./REFERENCE.md#issues-get) | +| Projects | [List](./REFERENCE.md#projects-list), [Get](./REFERENCE.md#projects-get) | +| Teams | [List](./REFERENCE.md#teams-list), [Get](./REFERENCE.md#teams-get) | + + +For detailed documentation on available actions and parameters, see [REFERENCE.md](./REFERENCE.md). + +For the service's official API docs, see [Linear API Reference](https://linear.app/developers/graphql). + +## Version Information + +**Package Version:** 0.19.10 + +**Connector Version:** 0.1.1 + +**Generated with connector-sdk:** 1ab72bd8e7249872a4cf66327dd1a0bf68905acb \ No newline at end of file diff --git a/docs/ai-agents/connectors/linear/REFERENCE.md b/docs/ai-agents/connectors/linear/REFERENCE.md new file mode 100644 index 00000000000..d2871378b5d --- /dev/null +++ b/docs/ai-agents/connectors/linear/REFERENCE.md @@ -0,0 +1,326 @@ +# Linear + +## Supported Entities and Actions + +| Entity | Actions | +|--------|---------| +| Issues | [List](#issues-list), [Get](#issues-get) | +| Projects | [List](#projects-list), [Get](#projects-get) | +| Teams | [List](#teams-list), [Get](#teams-get) | + +### Issues + +#### Issues List + +Returns a paginated list of issues via GraphQL with pagination support + +**Python SDK** + +```python +linear.issues.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "issues", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `first` | `integer` | No | Number of items to return (max 250) | +| `after` | `string` | No | Cursor to start after (for pagination) | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `data` | `object` | | + + +
+ +#### Issues Get + +Get a single issue by ID via GraphQL + +**Python SDK** + +```python +linear.issues.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "issues", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Issue ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `data` | `object` | | + + +
+ +### Projects + +#### Projects List + +Returns a paginated list of projects via GraphQL with pagination support + +**Python SDK** + +```python +linear.projects.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "projects", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `first` | `integer` | No | Number of items to return (max 250) | +| `after` | `string` | No | Cursor to start after (for pagination) | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `data` | `object` | | + + +
+ +#### Projects Get + +Get a single project by ID via GraphQL + +**Python SDK** + +```python +linear.projects.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "projects", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Project ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `data` | `object` | | + + +
+ +### Teams + +#### Teams List + +Returns a list of teams via GraphQL with pagination support + +**Python SDK** + +```python +linear.teams.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "teams", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `first` | `integer` | No | Number of items to return (max 250) | +| `after` | `string` | No | Cursor to start after (for pagination) | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `data` | `object` | | + + +
+ +#### Teams Get + +Get a single team by ID via GraphQL + +**Python SDK** + +```python +linear.teams.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "teams", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Team ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `data` | `object` | | + + +
+ + + +## Authentication + +The Linear connector supports the following authentication methods: + + +### Authentication + +| Field Name | Type | Required | Description | +|------------|------|----------|-------------| +| `api_key` | `str` | Yes | API authentication key | + +#### Example + +**Python SDK** + +```python +LinearConnector( + auth_config=LinearAuthConfig( + api_key="" + ) +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "connector_definition_id": "1c5d8316-ed42-4473-8fbc-2626f03f070c", + "auth_config": { + "api_key": "" + }, + "name": "My Linear Connector" +}' +``` + diff --git a/docs/ai-agents/connectors/readme.md b/docs/ai-agents/connectors/readme.md index 5704036e27a..d78dfde3203 100644 --- a/docs/ai-agents/connectors/readme.md +++ b/docs/ai-agents/connectors/readme.md @@ -56,6 +56,11 @@ Use Airbyte agent Connectors when you want: ## How to work with agent connectors -Two options exist to work with an agent connector: Model Context Protocol (MCP) and Python SDK. +Two options exist to work with an agent connector: Airbyte's MCP server and Python SDK. + +- [Python SDK tutorial](../quickstarts/tutorial-python) (recommended) +- [MCP tutorial](../quickstarts/tutorial-mcp) (experimental) + +## All agent connectors diff --git a/docs/ai-agents/connectors/salesforce/CHANGELOG.md b/docs/ai-agents/connectors/salesforce/CHANGELOG.md new file mode 100644 index 00000000000..3ded8c9bffb --- /dev/null +++ b/docs/ai-agents/connectors/salesforce/CHANGELOG.md @@ -0,0 +1,26 @@ +# Changelog + +## [0.1.4] - 2025-12-13 +- Updated connector definition (YAML version 1.0.3) +- Source commit: 1ab72bd8 +- SDK version: 0.1.0 + +## [0.1.3] - 2025-12-12 +- Updated connector definition (YAML version 1.0.3) +- Source commit: 4d366cb5 +- SDK version: 0.1.0 + +## [0.1.2] - 2025-12-12 +- Updated connector definition (YAML version 1.0.2) +- Source commit: dc79dc8b +- SDK version: 0.1.0 + +## [0.1.1] - 2025-12-12 +- Updated connector definition (YAML version 1.0.2) +- Source commit: 244fd1c6 +- SDK version: 0.1.0 + +## [0.1.0] - 2025-12-12 +- Updated connector definition (YAML version 1.0.1) +- Source commit: e71241ac +- SDK version: 0.1.0 diff --git a/docs/ai-agents/connectors/salesforce/README.md b/docs/ai-agents/connectors/salesforce/README.md new file mode 100644 index 00000000000..a3345922e6f --- /dev/null +++ b/docs/ai-agents/connectors/salesforce/README.md @@ -0,0 +1,78 @@ +# Airbyte Salesforce AI Connector + +Salesforce is a cloud-based CRM platform that helps businesses manage customer +relationships, sales pipelines, and business operations. This connector provides +access to accounts, contacts, leads, opportunities, tasks, events, campaigns, cases, +notes, and attachments for sales analytics and customer relationship management. + + +## Example Questions + +- Show me my top 5 opportunities this month +- List all contacts from [Company] in the last quarter +- Search for leads in the technology sector with revenue over $10M +- What trends can you identify in my recent sales pipeline? +- Summarize the open cases for my key accounts +- Find upcoming events related to my most important opportunities +- Analyze the performance of my recent marketing campaigns +- Identify the highest value opportunities I'm currently tracking +- Show me the notes and attachments for [customerX]'s account + +## Unsupported Questions + +- Create a new lead for [personX] +- Update the status of my sales opportunity +- Schedule a follow-up meeting with [customerX] +- Delete this old contact record +- Send an email to all contacts in this campaign + +## Installation + +```bash +uv pip install airbyte-ai-salesforce +``` + +## Usage + +```python +from airbyte_ai_salesforce import SalesforceConnector, SalesforceAuthConfig + +connector = SalesforceConnector( + auth_config=SalesforceAuthConfig( + refresh_token="...", + client_id="...", + client_secret="..." + ) +) +result = connector.accounts.list() +``` + +## Documentation + +| Entity | Actions | +|--------|---------| +| Accounts | [List](./REFERENCE.md#accounts-list), [Get](./REFERENCE.md#accounts-get), [Search](./REFERENCE.md#accounts-search) | +| Contacts | [List](./REFERENCE.md#contacts-list), [Get](./REFERENCE.md#contacts-get), [Search](./REFERENCE.md#contacts-search) | +| Leads | [List](./REFERENCE.md#leads-list), [Get](./REFERENCE.md#leads-get), [Search](./REFERENCE.md#leads-search) | +| Opportunities | [List](./REFERENCE.md#opportunities-list), [Get](./REFERENCE.md#opportunities-get), [Search](./REFERENCE.md#opportunities-search) | +| Tasks | [List](./REFERENCE.md#tasks-list), [Get](./REFERENCE.md#tasks-get), [Search](./REFERENCE.md#tasks-search) | +| Events | [List](./REFERENCE.md#events-list), [Get](./REFERENCE.md#events-get), [Search](./REFERENCE.md#events-search) | +| Campaigns | [List](./REFERENCE.md#campaigns-list), [Get](./REFERENCE.md#campaigns-get), [Search](./REFERENCE.md#campaigns-search) | +| Cases | [List](./REFERENCE.md#cases-list), [Get](./REFERENCE.md#cases-get), [Search](./REFERENCE.md#cases-search) | +| Notes | [List](./REFERENCE.md#notes-list), [Get](./REFERENCE.md#notes-get), [Search](./REFERENCE.md#notes-search) | +| Content Versions | [List](./REFERENCE.md#content-versions-list), [Get](./REFERENCE.md#content-versions-get), [Download](./REFERENCE.md#content-versions-download) | +| Attachments | [List](./REFERENCE.md#attachments-list), [Get](./REFERENCE.md#attachments-get), [Download](./REFERENCE.md#attachments-download) | +| Query | [List](./REFERENCE.md#query-list) | + + +For detailed documentation on available actions and parameters, see [REFERENCE.md](./REFERENCE.md). + +For the service's official API docs, see [Salesforce API Reference](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_rest.htm). + +## Version Information + +**Package Version:** 0.1.4 + +**Connector Version:** 1.0.3 + +**Generated with connector-sdk:** 1ab72bd8e7249872a4cf66327dd1a0bf68905acb \ No newline at end of file diff --git a/docs/ai-agents/connectors/salesforce/REFERENCE.md b/docs/ai-agents/connectors/salesforce/REFERENCE.md new file mode 100644 index 00000000000..95ad695cdf7 --- /dev/null +++ b/docs/ai-agents/connectors/salesforce/REFERENCE.md @@ -0,0 +1,1938 @@ +# Salesforce + +## Supported Entities and Actions + +| Entity | Actions | +|--------|---------| +| Accounts | [List](#accounts-list), [Get](#accounts-get), [Search](#accounts-search) | +| Contacts | [List](#contacts-list), [Get](#contacts-get), [Search](#contacts-search) | +| Leads | [List](#leads-list), [Get](#leads-get), [Search](#leads-search) | +| Opportunities | [List](#opportunities-list), [Get](#opportunities-get), [Search](#opportunities-search) | +| Tasks | [List](#tasks-list), [Get](#tasks-get), [Search](#tasks-search) | +| Events | [List](#events-list), [Get](#events-get), [Search](#events-search) | +| Campaigns | [List](#campaigns-list), [Get](#campaigns-get), [Search](#campaigns-search) | +| Cases | [List](#cases-list), [Get](#cases-get), [Search](#cases-search) | +| Notes | [List](#notes-list), [Get](#notes-get), [Search](#notes-search) | +| Content Versions | [List](#content-versions-list), [Get](#content-versions-get), [Download](#content-versions-download) | +| Attachments | [List](#attachments-list), [Get](#attachments-get), [Download](#attachments-download) | +| Query | [List](#query-list) | + +### Accounts + +#### Accounts List + +Returns a list of accounts via SOQL query. Default returns up to 200 records. +For pagination, check the response: if `done` is false, use `nextRecordsUrl` to fetch the next page. + + +**Python SDK** + +```python +salesforce.accounts.list( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "accounts", + "action": "list", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOQL query for accounts. Default returns up to 200 records. +To change the limit, provide your own query with a LIMIT clause. +Example: "SELECT FIELDS(STANDARD) FROM Account ORDER BY LastModifiedDate DESC LIMIT 50" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `totalSize` | `integer` | | +| `done` | `boolean` | | +| `nextRecordsUrl` | `string` | | +| `records` | `array` | | +| `records[].Id` | `string` | | +| `records[].Name` | `string` | | +| `records[].attributes` | `object` | | + + + + +#### Accounts Get + +Get a single account by ID. Returns all accessible fields by default. +Use the `fields` parameter to retrieve only specific fields for better performance. + + +**Python SDK** + +```python +salesforce.accounts.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "accounts", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Salesforce Account ID (18-character ID starting with '001') | +| `fields` | `string` | No | Comma-separated list of fields to retrieve. If omitted, returns all accessible fields. +Example: "Id,Name,Industry,AnnualRevenue,Website" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `Id` | `string` | | +| `Name` | `string` | | +| `attributes` | `object` | | + + +
+ +#### Accounts Search + +Search for accounts using SOSL (Salesforce Object Search Language). +SOSL is optimized for text-based searches across multiple fields and objects. +Use SOQL (list action) for structured queries with specific field conditions. + + +**Python SDK** + +```python +salesforce.accounts.search( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "accounts", + "action": "search", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOSL search query. Format: FIND \{searchTerm\} IN scope RETURNING Object(fields) [LIMIT n]. Examples: `FIND {Acme} IN ALL FIELDS RETURNING Account(Id,Name)`, `FIND {tech*} IN NAME FIELDS RETURNING Account(Id,Name,Industry) LIMIT 50`, `FIND {"exact phrase"} RETURNING Account(Id,Name,Website)` | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `searchRecords` | `array` | | + + + + +### Contacts + +#### Contacts List + +Returns a list of contacts via SOQL query. Default returns up to 200 records. +For pagination, check the response: if `done` is false, use `nextRecordsUrl` to fetch the next page. + + +**Python SDK** + +```python +salesforce.contacts.list( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "contacts", + "action": "list", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOQL query for contacts. Default returns up to 200 records. +To change the limit, provide your own query with a LIMIT clause. +Example: "SELECT FIELDS(STANDARD) FROM Contact WHERE AccountId = '001xx...' LIMIT 50" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `totalSize` | `integer` | | +| `done` | `boolean` | | +| `nextRecordsUrl` | `string` | | +| `records` | `array` | | +| `records[].Id` | `string` | | +| `records[].Name` | `string` | | +| `records[].attributes` | `object` | | + + + + +#### Contacts Get + +Get a single contact by ID. Returns all accessible fields by default. +Use the `fields` parameter to retrieve only specific fields for better performance. + + +**Python SDK** + +```python +salesforce.contacts.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "contacts", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Salesforce Contact ID (18-character ID starting with '003') | +| `fields` | `string` | No | Comma-separated list of fields to retrieve. If omitted, returns all accessible fields. +Example: "Id,FirstName,LastName,Email,Phone,AccountId" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `Id` | `string` | | +| `Name` | `string` | | +| `attributes` | `object` | | + + +
+ +#### Contacts Search + +Search for contacts using SOSL (Salesforce Object Search Language). +SOSL is optimized for text-based searches across multiple fields. + + +**Python SDK** + +```python +salesforce.contacts.search( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "contacts", + "action": "search", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOSL search query. Format: FIND \{searchTerm\} RETURNING Contact(fields) [LIMIT n]. Examples: `FIND {John} IN NAME FIELDS RETURNING Contact(Id,FirstName,LastName,Email)`, `FIND {*@example.com} IN EMAIL FIELDS RETURNING Contact(Id,Name,Email) LIMIT 25` | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `searchRecords` | `array` | | + + + + +### Leads + +#### Leads List + +Returns a list of leads via SOQL query. Default returns up to 200 records. +For pagination, check the response: if `done` is false, use `nextRecordsUrl` to fetch the next page. + + +**Python SDK** + +```python +salesforce.leads.list( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "leads", + "action": "list", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOQL query for leads. Default returns up to 200 records. +To change the limit, provide your own query with a LIMIT clause. +Example: "SELECT FIELDS(STANDARD) FROM Lead WHERE Status = 'Open' LIMIT 100" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `totalSize` | `integer` | | +| `done` | `boolean` | | +| `nextRecordsUrl` | `string` | | +| `records` | `array` | | +| `records[].Id` | `string` | | +| `records[].Name` | `string` | | +| `records[].attributes` | `object` | | + + + + +#### Leads Get + +Get a single lead by ID. Returns all accessible fields by default. +Use the `fields` parameter to retrieve only specific fields for better performance. + + +**Python SDK** + +```python +salesforce.leads.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "leads", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Salesforce Lead ID (18-character ID starting with '00Q') | +| `fields` | `string` | No | Comma-separated list of fields to retrieve. If omitted, returns all accessible fields. +Example: "Id,FirstName,LastName,Email,Company,Status,LeadSource" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `Id` | `string` | | +| `Name` | `string` | | +| `attributes` | `object` | | + + +
+ +#### Leads Search + +Search for leads using SOSL (Salesforce Object Search Language). +SOSL is optimized for text-based searches across multiple fields. + + +**Python SDK** + +```python +salesforce.leads.search( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "leads", + "action": "search", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOSL search query. Format: FIND \{searchTerm\} RETURNING Lead(fields) [LIMIT n]. Examples: `FIND {Smith} IN NAME FIELDS RETURNING Lead(Id,FirstName,LastName,Company,Status)`, `FIND {marketing} IN ALL FIELDS RETURNING Lead(Id,Name,LeadSource) LIMIT 50` | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `searchRecords` | `array` | | + + + + +### Opportunities + +#### Opportunities List + +Returns a list of opportunities via SOQL query. Default returns up to 200 records. +For pagination, check the response: if `done` is false, use `nextRecordsUrl` to fetch the next page. + + +**Python SDK** + +```python +salesforce.opportunities.list( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "opportunities", + "action": "list", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOQL query for opportunities. Default returns up to 200 records. +To change the limit, provide your own query with a LIMIT clause. +Example: "SELECT FIELDS(STANDARD) FROM Opportunity WHERE StageName = 'Closed Won' LIMIT 50" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `totalSize` | `integer` | | +| `done` | `boolean` | | +| `nextRecordsUrl` | `string` | | +| `records` | `array` | | +| `records[].Id` | `string` | | +| `records[].Name` | `string` | | +| `records[].attributes` | `object` | | + + + + +#### Opportunities Get + +Get a single opportunity by ID. Returns all accessible fields by default. +Use the `fields` parameter to retrieve only specific fields for better performance. + + +**Python SDK** + +```python +salesforce.opportunities.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "opportunities", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Salesforce Opportunity ID (18-character ID starting with '006') | +| `fields` | `string` | No | Comma-separated list of fields to retrieve. If omitted, returns all accessible fields. +Example: "Id,Name,Amount,StageName,CloseDate,AccountId" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `Id` | `string` | | +| `Name` | `string` | | +| `attributes` | `object` | | + + +
+ +#### Opportunities Search + +Search for opportunities using SOSL (Salesforce Object Search Language). +SOSL is optimized for text-based searches across multiple fields. + + +**Python SDK** + +```python +salesforce.opportunities.search( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "opportunities", + "action": "search", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOSL search query. Format: FIND \{searchTerm\} RETURNING Opportunity(fields) [LIMIT n]. Examples: `FIND {Enterprise} IN NAME FIELDS RETURNING Opportunity(Id,Name,Amount,StageName)`, `FIND {renewal} IN ALL FIELDS RETURNING Opportunity(Id,Name,CloseDate) LIMIT 25` | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `searchRecords` | `array` | | + + + + +### Tasks + +#### Tasks List + +Returns a list of tasks via SOQL query. Default returns up to 200 records. +For pagination, check the response: if `done` is false, use `nextRecordsUrl` to fetch the next page. + + +**Python SDK** + +```python +salesforce.tasks.list( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "tasks", + "action": "list", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOQL query for tasks. Default returns up to 200 records. +To change the limit, provide your own query with a LIMIT clause. +Example: "SELECT FIELDS(STANDARD) FROM Task WHERE Status = 'Not Started' LIMIT 100" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `totalSize` | `integer` | | +| `done` | `boolean` | | +| `nextRecordsUrl` | `string` | | +| `records` | `array` | | +| `records[].Id` | `string` | | +| `records[].Subject` | `string` | | +| `records[].attributes` | `object` | | + + + + +#### Tasks Get + +Get a single task by ID. Returns all accessible fields by default. +Use the `fields` parameter to retrieve only specific fields for better performance. + + +**Python SDK** + +```python +salesforce.tasks.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "tasks", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Salesforce Task ID (18-character ID starting with '00T') | +| `fields` | `string` | No | Comma-separated list of fields to retrieve. If omitted, returns all accessible fields. +Example: "Id,Subject,Status,Priority,ActivityDate,WhoId,WhatId" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `Id` | `string` | | +| `Subject` | `string` | | +| `attributes` | `object` | | + + +
+ +#### Tasks Search + +Search for tasks using SOSL (Salesforce Object Search Language). +SOSL is optimized for text-based searches across multiple fields. + + +**Python SDK** + +```python +salesforce.tasks.search( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "tasks", + "action": "search", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOSL search query. Format: FIND \{searchTerm\} RETURNING Task(fields) [LIMIT n]. Examples: `FIND {follow up} IN ALL FIELDS RETURNING Task(Id,Subject,Status,Priority)`, `FIND {call} IN NAME FIELDS RETURNING Task(Id,Subject,ActivityDate) LIMIT 50` | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `searchRecords` | `array` | | + + + + +### Events + +#### Events List + +Returns a list of events via SOQL query. Default returns up to 200 records. +For pagination, check the response: if `done` is false, use `nextRecordsUrl` to fetch the next page. + + +**Python SDK** + +```python +salesforce.events.list( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "events", + "action": "list", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOQL query for events. Default returns up to 200 records. +To change the limit, provide your own query with a LIMIT clause. +Example: "SELECT FIELDS(STANDARD) FROM Event WHERE StartDateTime > TODAY LIMIT 50" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `totalSize` | `integer` | | +| `done` | `boolean` | | +| `nextRecordsUrl` | `string` | | +| `records` | `array` | | +| `records[].Id` | `string` | | +| `records[].Subject` | `string` | | +| `records[].attributes` | `object` | | + + + + +#### Events Get + +Get a single event by ID. Returns all accessible fields by default. +Use the `fields` parameter to retrieve only specific fields for better performance. + + +**Python SDK** + +```python +salesforce.events.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "events", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Salesforce Event ID (18-character ID starting with '00U') | +| `fields` | `string` | No | Comma-separated list of fields to retrieve. If omitted, returns all accessible fields. +Example: "Id,Subject,StartDateTime,EndDateTime,Location,WhoId,WhatId" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `Id` | `string` | | +| `Subject` | `string` | | +| `attributes` | `object` | | + + +
+ +#### Events Search + +Search for events using SOSL (Salesforce Object Search Language). +SOSL is optimized for text-based searches across multiple fields. + + +**Python SDK** + +```python +salesforce.events.search( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "events", + "action": "search", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOSL search query. Format: FIND \{searchTerm\} RETURNING Event(fields) [LIMIT n]. Examples: `FIND {meeting} IN ALL FIELDS RETURNING Event(Id,Subject,StartDateTime,Location)`, `FIND {demo} IN NAME FIELDS RETURNING Event(Id,Subject,EndDateTime) LIMIT 25` | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `searchRecords` | `array` | | + + + + +### Campaigns + +#### Campaigns List + +Returns a list of campaigns via SOQL query. Default returns up to 200 records. +For pagination, check the response: if `done` is false, use `nextRecordsUrl` to fetch the next page. + + +**Python SDK** + +```python +salesforce.campaigns.list( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "campaigns", + "action": "list", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOQL query for campaigns. Default returns up to 200 records. +To change the limit, provide your own query with a LIMIT clause. +Example: "SELECT FIELDS(STANDARD) FROM Campaign WHERE IsActive = true LIMIT 50" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `totalSize` | `integer` | | +| `done` | `boolean` | | +| `nextRecordsUrl` | `string` | | +| `records` | `array` | | +| `records[].Id` | `string` | | +| `records[].Name` | `string` | | +| `records[].attributes` | `object` | | + + + + +#### Campaigns Get + +Get a single campaign by ID. Returns all accessible fields by default. +Use the `fields` parameter to retrieve only specific fields for better performance. + + +**Python SDK** + +```python +salesforce.campaigns.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "campaigns", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Salesforce Campaign ID (18-character ID starting with '701') | +| `fields` | `string` | No | Comma-separated list of fields to retrieve. If omitted, returns all accessible fields. +Example: "Id,Name,Type,Status,StartDate,EndDate,IsActive" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `Id` | `string` | | +| `Name` | `string` | | +| `attributes` | `object` | | + + +
+ +#### Campaigns Search + +Search for campaigns using SOSL (Salesforce Object Search Language). +SOSL is optimized for text-based searches across multiple fields. + + +**Python SDK** + +```python +salesforce.campaigns.search( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "campaigns", + "action": "search", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOSL search query. Format: FIND \{searchTerm\} RETURNING Campaign(fields) [LIMIT n]. Examples: `FIND {webinar} IN ALL FIELDS RETURNING Campaign(Id,Name,Type,Status)`, `FIND {2024} IN NAME FIELDS RETURNING Campaign(Id,Name,StartDate,IsActive) LIMIT 50` | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `searchRecords` | `array` | | + + + + +### Cases + +#### Cases List + +Returns a list of cases via SOQL query. Default returns up to 200 records. +For pagination, check the response: if `done` is false, use `nextRecordsUrl` to fetch the next page. + + +**Python SDK** + +```python +salesforce.cases.list( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "cases", + "action": "list", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOQL query for cases. Default returns up to 200 records. +To change the limit, provide your own query with a LIMIT clause. +Example: "SELECT FIELDS(STANDARD) FROM Case WHERE Status = 'New' LIMIT 100" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `totalSize` | `integer` | | +| `done` | `boolean` | | +| `nextRecordsUrl` | `string` | | +| `records` | `array` | | +| `records[].Id` | `string` | | +| `records[].CaseNumber` | `string` | | +| `records[].Subject` | `string` | | +| `records[].attributes` | `object` | | + + + + +#### Cases Get + +Get a single case by ID. Returns all accessible fields by default. +Use the `fields` parameter to retrieve only specific fields for better performance. + + +**Python SDK** + +```python +salesforce.cases.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "cases", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Salesforce Case ID (18-character ID starting with '500') | +| `fields` | `string` | No | Comma-separated list of fields to retrieve. If omitted, returns all accessible fields. +Example: "Id,CaseNumber,Subject,Status,Priority,ContactId,AccountId" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `Id` | `string` | | +| `CaseNumber` | `string` | | +| `Subject` | `string` | | +| `attributes` | `object` | | + + +
+ +#### Cases Search + +Search for cases using SOSL (Salesforce Object Search Language). +SOSL is optimized for text-based searches across multiple fields. + + +**Python SDK** + +```python +salesforce.cases.search( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "cases", + "action": "search", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOSL search query. Format: FIND \{searchTerm\} RETURNING Case(fields) [LIMIT n]. Examples: `FIND {login issue} IN ALL FIELDS RETURNING Case(Id,CaseNumber,Subject,Status)`, `FIND {urgent} IN NAME FIELDS RETURNING Case(Id,Subject,Priority) LIMIT 25` | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `searchRecords` | `array` | | + + + + +### Notes + +#### Notes List + +Returns a list of notes via SOQL query. Default returns up to 200 records. +For pagination, check the response: if `done` is false, use `nextRecordsUrl` to fetch the next page. + + +**Python SDK** + +```python +salesforce.notes.list( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "notes", + "action": "list", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOQL query for notes. Default returns up to 200 records. +To change the limit, provide your own query with a LIMIT clause. +Example: "SELECT FIELDS(STANDARD) FROM Note WHERE ParentId = '001xx...' LIMIT 50" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `totalSize` | `integer` | | +| `done` | `boolean` | | +| `nextRecordsUrl` | `string` | | +| `records` | `array` | | +| `records[].Id` | `string` | | +| `records[].Title` | `string` | | +| `records[].attributes` | `object` | | + + + + +#### Notes Get + +Get a single note by ID. Returns all accessible fields by default. +Use the `fields` parameter to retrieve only specific fields for better performance. + + +**Python SDK** + +```python +salesforce.notes.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "notes", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Salesforce Note ID (18-character ID starting with '002') | +| `fields` | `string` | No | Comma-separated list of fields to retrieve. If omitted, returns all accessible fields. +Example: "Id,Title,Body,ParentId,OwnerId" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `Id` | `string` | | +| `Title` | `string` | | +| `attributes` | `object` | | + + +
+ +#### Notes Search + +Search for notes using SOSL (Salesforce Object Search Language). +SOSL is optimized for text-based searches across multiple fields. + + +**Python SDK** + +```python +salesforce.notes.search( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "notes", + "action": "search", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOSL search query. Format: FIND \{searchTerm\} RETURNING Note(fields) [LIMIT n]. Examples: `FIND {important} IN ALL FIELDS RETURNING Note(Id,Title,ParentId)`, `FIND {action items} IN NAME FIELDS RETURNING Note(Id,Title,Body) LIMIT 50` | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `searchRecords` | `array` | | + + + + +### Content Versions + +#### Content Versions List + +Returns a list of content versions (file metadata) via SOQL query. Default returns up to 200 records. +For pagination, check the response: if `done` is false, use `nextRecordsUrl` to fetch the next page. +Note: ContentVersion does not support FIELDS(STANDARD), so specific fields must be listed. + + +**Python SDK** + +```python +salesforce.content_versions.list( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "content_versions", + "action": "list", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOQL query for content versions. Default returns up to 200 records. +To change the limit, provide your own query with a LIMIT clause. +Example: "SELECT Id, Title, FileExtension, ContentSize FROM ContentVersion WHERE IsLatest = true LIMIT 50" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `totalSize` | `integer` | | +| `done` | `boolean` | | +| `nextRecordsUrl` | `string` | | +| `records` | `array` | | +| `records[].Id` | `string` | | +| `records[].Title` | `string` | | +| `records[].FileExtension` | `string` | | +| `records[].ContentSize` | `integer` | | +| `records[].ContentDocumentId` | `string` | | +| `records[].VersionNumber` | `string` | | +| `records[].IsLatest` | `boolean` | | +| `records[].attributes` | `object` | | + + + + +#### Content Versions Get + +Get a single content version's metadata by ID. Returns file metadata, not the file content. +Use the download action to retrieve the actual file binary. + + +**Python SDK** + +```python +salesforce.content_versions.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "content_versions", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Salesforce ContentVersion ID (18-character ID starting with '068') | +| `fields` | `string` | No | Comma-separated list of fields to retrieve. If omitted, returns all accessible fields. +Example: "Id,Title,FileExtension,ContentSize,ContentDocumentId,IsLatest" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `Id` | `string` | | +| `Title` | `string` | | +| `FileExtension` | `string` | | +| `ContentSize` | `integer` | | +| `ContentDocumentId` | `string` | | +| `VersionNumber` | `string` | | +| `IsLatest` | `boolean` | | +| `attributes` | `object` | | + + +
+ +#### Content Versions Download + +Downloads the binary file content of a content version. +First use the list or get action to retrieve the ContentVersion ID and file metadata (size, type, etc.), +then use this action to download the actual file content. +The response is the raw binary file data. + + +**Python SDK** + +```python +async for chunk in salesforce.content_versions.download( id=""):# Process each chunk (e.g., write to file) + file.write(chunk) +``` + +> **Note**: Download operations return an async iterator of bytes chunks for memory-efficient streaming. Use `async for` to process chunks as they arrive. + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "content_versions", + "action": "download", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Salesforce ContentVersion ID (18-character ID starting with '068'). +Obtain this ID from the list or get action. + | +| `range_header` | `string` | No | Optional Range header for partial downloads (e.g., 'bytes=0-99') | + + +### Attachments + +#### Attachments List + +Returns a list of attachments (legacy) via SOQL query. Default returns up to 200 records. +For pagination, check the response: if `done` is false, use `nextRecordsUrl` to fetch the next page. +Note: Attachments are a legacy feature; consider using ContentVersion (Salesforce Files) for new implementations. + + +**Python SDK** + +```python +salesforce.attachments.list( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "attachments", + "action": "list", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOQL query for attachments. Default returns up to 200 records. +To change the limit, provide your own query with a LIMIT clause. +Example: "SELECT Id, Name, ContentType, BodyLength, ParentId FROM Attachment WHERE ParentId = '001xx...' LIMIT 50" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `totalSize` | `integer` | | +| `done` | `boolean` | | +| `nextRecordsUrl` | `string` | | +| `records` | `array` | | +| `records[].Id` | `string` | | +| `records[].Name` | `string` | | +| `records[].ContentType` | `string` | | +| `records[].BodyLength` | `integer` | | +| `records[].ParentId` | `string` | | +| `records[].attributes` | `object` | | + + + + +#### Attachments Get + +Get a single attachment's metadata by ID. Returns file metadata, not the file content. +Use the download action to retrieve the actual file binary. +Note: Attachments are a legacy feature; consider using ContentVersion for new implementations. + + +**Python SDK** + +```python +salesforce.attachments.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "attachments", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Salesforce Attachment ID (18-character ID starting with '00P') | +| `fields` | `string` | No | Comma-separated list of fields to retrieve. If omitted, returns all accessible fields. +Example: "Id,Name,ContentType,BodyLength,ParentId" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `Id` | `string` | | +| `Name` | `string` | | +| `ContentType` | `string` | | +| `BodyLength` | `integer` | | +| `ParentId` | `string` | | +| `attributes` | `object` | | + + +
+ +#### Attachments Download + +Downloads the binary file content of an attachment (legacy). +First use the list or get action to retrieve the Attachment ID and file metadata, +then use this action to download the actual file content. +Note: Attachments are a legacy feature; consider using ContentVersion for new implementations. + + +**Python SDK** + +```python +async for chunk in salesforce.attachments.download( id=""):# Process each chunk (e.g., write to file) + file.write(chunk) +``` + +> **Note**: Download operations return an async iterator of bytes chunks for memory-efficient streaming. Use `async for` to process chunks as they arrive. + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "attachments", + "action": "download", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | Salesforce Attachment ID (18-character ID starting with '00P'). +Obtain this ID from the list or get action. + | +| `range_header` | `string` | No | Optional Range header for partial downloads (e.g., 'bytes=0-99') | + + +### Query + +#### Query List + +Execute a custom SOQL query and return results. Use this for querying any Salesforce object. +For pagination, check the response: if `done` is false, use `nextRecordsUrl` to fetch the next page. + + +**Python SDK** + +```python +salesforce.query.list( + q="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "query", + "action": "list", + "params": { + "q": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `q` | `string` | Yes | SOQL query string. Include LIMIT clause to control the number of records returned. +Examples: +- "SELECT Id, Name FROM Account LIMIT 100" +- "SELECT FIELDS(STANDARD) FROM Contact WHERE AccountId = '001xx...' LIMIT 50" +- "SELECT Id, Subject, Status FROM Case WHERE CreatedDate = TODAY" + | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `totalSize` | `integer` | | +| `done` | `boolean` | | +| `nextRecordsUrl` | `string` | | +| `records` | `array` | | + + + + + + +## Configuration + +The connector requires the following configuration variables: + +| Variable | Type | Required | Default | Description | +|----------|------|----------|---------|-------------| +| `instance_url` | `string` | Yes | https://login.salesforce.com | Your Salesforce instance URL (e.g., https://na1.salesforce.com) | + +These variables are used to construct the base API URL. Pass them via the `config` parameter when initializing the connector. + + +## Authentication + +The Salesforce connector supports the following authentication methods: + + +### Salesforce OAuth 2.0 + +| Field Name | Type | Required | Description | +|------------|------|----------|-------------| +| `refresh_token` | `str` | Yes | OAuth refresh token for automatic token renewal | +| `client_id` | `str` | Yes | Connected App Consumer Key | +| `client_secret` | `str` | Yes | Connected App Consumer Secret | + +#### Example + +**Python SDK** + +```python +SalesforceConnector( + auth_config=SalesforceAuthConfig( + refresh_token="", + client_id="", + client_secret="" + ) +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "connector_definition_id": "b117307c-14b6-41aa-9422-947e34922962", + "auth_config": { + "refresh_token": "", + "client_id": "", + "client_secret": "" + }, + "name": "My Salesforce Connector" +}' +``` + diff --git a/docs/ai-agents/connectors/stripe/CHANGELOG.md b/docs/ai-agents/connectors/stripe/CHANGELOG.md new file mode 100644 index 00000000000..f4bd90aef95 --- /dev/null +++ b/docs/ai-agents/connectors/stripe/CHANGELOG.md @@ -0,0 +1,199 @@ +# Changelog + +## [0.5.11] - 2025-12-13 +- Updated connector definition (YAML version 0.1.2) +- Source commit: 1ab72bd8 +- SDK version: 0.1.0 + +## [0.5.10] - 2025-12-12 +- Updated connector definition (YAML version 0.1.2) +- Source commit: c17d44a8 +- SDK version: 0.1.0 + +## [0.5.9] - 2025-12-12 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 4d366cb5 +- SDK version: 0.1.0 + +## [0.5.8] - 2025-12-12 +- Updated connector definition (YAML version 0.1.0) +- Source commit: dc79dc8b +- SDK version: 0.1.0 + +## [0.5.7] - 2025-12-12 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 9f7f8a98 +- SDK version: 0.1.0 + +## [0.5.6] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 8c06aa10 +- SDK version: 0.1.0 + +## [0.5.5] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 11427ac3 +- SDK version: 0.1.0 + +## [0.5.4] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: bdd5df6d +- SDK version: 0.1.0 + +## [0.5.3] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: f2497f71 +- SDK version: 0.1.0 + +## [0.5.2] - 2025-12-11 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 7d738be5 +- SDK version: 0.1.0 + +## [0.5.1] - 2025-12-10 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 76636830 +- SDK version: 0.1.0 + +## [0.5.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: f2ad5029 +- SDK version: 0.1.0 + +## [0.4.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.0) +- Source commit: 139b0b0d +- SDK version: 0.1.0 + +## [0.3.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: e96bed3d +- SDK version: 0.1.0 + +## [0.2.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: ed697b90 +- SDK version: 0.1.0 + +## [0.1.23] - 2025-12-05 +- Updated connector definition (YAML version 0.0.1) +- Source commit: 20618410 +- SDK version: 0.1.0 + +## [0.1.22] - 2025-12-04 +- Updated connector definition (YAML version 0.0.1) +- Source commit: 4a01e446 +- SDK version: 0.1.0 + +## [0.1.21] - 2025-12-04 +- Updated connector definition (YAML version 0.0.1) +- Source commit: 5ec76dde +- SDK version: 0.1.0 + +## [0.1.20] - 2025-12-04 +- Updated connector definition (YAML version 0.0.1) +- Source commit: df32a458 +- SDK version: 0.1.0 + +## [0.1.19] - 2025-12-04 +- Updated connector definition (YAML version 0.0.1) +- Source commit: a506b369 +- SDK version: 0.1.0 + +## [0.1.18] - 2025-12-03 +- Updated connector definition (YAML version 0.0.1) +- Source commit: 92a39ab5 +- SDK version: 0.1.0 + +## [0.1.17] - 2025-12-03 +- Updated connector definition (YAML version 0.0.1) +- Source commit: 0ce38253 +- SDK version: 0.1.0 + +## [0.1.16] - 2025-12-02 +- Updated connector definition (YAML version 0.0.1) +- Source commit: c8e326d9 +- SDK version: 0.1.0 + +## [0.1.15] - 2025-12-02 +- Updated connector definition (YAML version 0.0.1) +- Source commit: ad0b961b +- SDK version: 0.1.0 + +## [0.1.14] - 2025-12-02 +- Updated connector definition (YAML version 0.0.1) +- Source commit: 7153780a +- SDK version: 0.1.0 + +## [0.1.13] - 2025-12-02 +- Updated connector definition (YAML version 0.0.1) +- Source commit: 01f71cad +- SDK version: 0.1.0 + +## [0.1.12] - 2025-12-02 +- Updated connector definition (YAML version 0.0.4) +- Source commit: 236db7f0 +- SDK version: 0.1.0 + +## [0.1.11] - 2025-12-02 +- Updated connector definition (YAML version 0.0.3) +- Source commit: 4c17f060 +- SDK version: 0.1.0 + +## [0.1.10] - 2025-12-02 +- Updated connector definition (YAML version 0.0.3) +- Source commit: cd499acd +- SDK version: 0.1.0 + +## [0.1.9] - 2025-12-02 +- Updated connector definition (YAML version 0.0.3) +- Source commit: 64df6a87 +- SDK version: 0.1.0 + +## [0.1.8] - 2025-12-02 +- Updated connector definition (YAML version 0.0.1) +- Source commit: f34b246f +- SDK version: 0.1.0 + +## [0.1.7] - 2025-12-02 +- Updated connector definition (YAML version 0.0.1) +- Source commit: b261c3a2 +- SDK version: 0.1.0 + +## [0.1.6] - 2025-11-27 +- Updated connector definition (YAML version 0.0.1) +- Source commit: 702fd446 +- SDK version: 0.1.0 + +## [0.1.5] - 2025-11-27 +- Updated connector definition (YAML version 0.0.1) +- Source commit: d656a4a2 +- SDK version: 0.1.0 + +## [0.1.4] - 2025-11-27 +- Updated connector definition (YAML version 0.0.1) +- Source commit: 9afac212 +- SDK version: 0.1.0 + +## [0.1.3] - 2025-11-27 +- Updated connector definition (YAML version 0.0.1) +- Source commit: 9afac212 +- SDK version: 0.1.0 + +## [0.1.2] - 2025-11-27 +- Updated connector definition (YAML version 0.0.1) +- Source commit: c1700e5e +- SDK version: 0.1.0 +- YAML version: 0.0.1 + +## [0.1.1] - 2025-11-26 +- Updated connector definition (YAML version 0.0.1) +- Source commit: 5a3bf104 +- SDK version: 0.1.0 +- YAML version: 0.0.1 + +## [0.1.0] - 2025-11-26 +- Updated connector definition (YAML version 0.0.1) +- Source commit: 5a3bf104 +- SDK version: 0.1.0 +- YAML version: 0.0.1 diff --git a/docs/ai-agents/connectors/stripe/README.md b/docs/ai-agents/connectors/stripe/README.md new file mode 100644 index 00000000000..d881121923e --- /dev/null +++ b/docs/ai-agents/connectors/stripe/README.md @@ -0,0 +1,75 @@ +# Airbyte Stripe AI Connector + +Stripe is a payment processing platform that enables businesses to accept payments, +manage subscriptions, and handle financial transactions. This connector provides +access to customers for payment analytics and customer management. + + +## Example Questions + +- Show me my top 10 customers by total revenue this month +- List all customers who have spent over $5,000 in the last quarter +- Analyze payment trends for my Stripe customers +- Identify which customers have the most consistent subscription payments +- Give me insights into my customer retention rates +- Summarize the payment history for [customerX] +- Compare customer spending patterns from last month to this month +- Show me details about my highest-value Stripe customers +- What are the key financial insights from my customer base? +- Break down my customers by their average transaction value + +## Unsupported Questions + +- Create a new customer profile in Stripe +- Update the billing information for [customerX] +- Delete a customer record +- Send a payment reminder to [customerX] +- Schedule an automatic invoice for [Company] + +## Installation + +```bash +uv pip install airbyte-ai-stripe +``` + +## Usage + +```python +from airbyte_ai_stripe import StripeConnector, StripeAuthConfig + +connector = StripeConnector( + auth_config=StripeAuthConfig( + api_key="..." + ) +) +result = connector.customers.list() +``` + +## Documentation + +| Entity | Actions | +|--------|---------| +| Customers | [List](./REFERENCE.md#customers-list), [Get](./REFERENCE.md#customers-get), [Search](./REFERENCE.md#customers-search) | +| Invoices | [List](./REFERENCE.md#invoices-list), [Get](./REFERENCE.md#invoices-get), [Search](./REFERENCE.md#invoices-search) | +| Charges | [List](./REFERENCE.md#charges-list), [Get](./REFERENCE.md#charges-get), [Search](./REFERENCE.md#charges-search) | +| Subscriptions | [List](./REFERENCE.md#subscriptions-list), [Get](./REFERENCE.md#subscriptions-get), [Search](./REFERENCE.md#subscriptions-search) | +| Refunds | [List](./REFERENCE.md#refunds-list), [Get](./REFERENCE.md#refunds-get) | +| Products | [List](./REFERENCE.md#products-list), [Get](./REFERENCE.md#products-get), [Search](./REFERENCE.md#products-search) | +| Balance | [Get](./REFERENCE.md#balance-get) | +| Balance Transactions | [List](./REFERENCE.md#balance-transactions-list), [Get](./REFERENCE.md#balance-transactions-get) | +| Payment Intents | [List](./REFERENCE.md#payment-intents-list), [Get](./REFERENCE.md#payment-intents-get), [Search](./REFERENCE.md#payment-intents-search) | +| Disputes | [List](./REFERENCE.md#disputes-list), [Get](./REFERENCE.md#disputes-get) | +| Payouts | [List](./REFERENCE.md#payouts-list), [Get](./REFERENCE.md#payouts-get) | + + +For detailed documentation on available actions and parameters, see [REFERENCE.md](./REFERENCE.md). + +For the service's official API docs, see [Stripe API Reference](https://docs.stripe.com/api). + +## Version Information + +**Package Version:** 0.5.11 + +**Connector Version:** 0.1.2 + +**Generated with connector-sdk:** 1ab72bd8e7249872a4cf66327dd1a0bf68905acb \ No newline at end of file diff --git a/docs/ai-agents/connectors/stripe/REFERENCE.md b/docs/ai-agents/connectors/stripe/REFERENCE.md new file mode 100644 index 00000000000..f82c043ca7a --- /dev/null +++ b/docs/ai-agents/connectors/stripe/REFERENCE.md @@ -0,0 +1,2434 @@ +# Stripe + +## Supported Entities and Actions + +| Entity | Actions | +|--------|---------| +| Customers | [List](#customers-list), [Get](#customers-get), [Search](#customers-search) | +| Invoices | [List](#invoices-list), [Get](#invoices-get), [Search](#invoices-search) | +| Charges | [List](#charges-list), [Get](#charges-get), [Search](#charges-search) | +| Subscriptions | [List](#subscriptions-list), [Get](#subscriptions-get), [Search](#subscriptions-search) | +| Refunds | [List](#refunds-list), [Get](#refunds-get) | +| Products | [List](#products-list), [Get](#products-get), [Search](#products-search) | +| Balance | [Get](#balance-get) | +| Balance Transactions | [List](#balance-transactions-list), [Get](#balance-transactions-get) | +| Payment Intents | [List](#payment-intents-list), [Get](#payment-intents-get), [Search](#payment-intents-search) | +| Disputes | [List](#disputes-list), [Get](#disputes-get) | +| Payouts | [List](#payouts-list), [Get](#payouts-get) | + +### Customers + +#### Customers List + +Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first. + +**Python SDK** + +```python +stripe.customers.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "customers", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `starting_after` | `string` | No | A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list. | +| `ending_before` | `string` | No | A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list. | +| `email` | `string` | No | A case-sensitive filter on the list based on the customer's email field. The value must be a string. | +| `created` | `object` | No | Only return customers that were created during the given date interval. | +| `created.gt` | `integer` | No | Minimum value to filter by (exclusive) | +| `created.gte` | `integer` | No | Minimum value to filter by (inclusive) | +| `created.lt` | `integer` | No | Maximum value to filter by (exclusive) | +| `created.lte` | `integer` | No | Maximum value to filter by (inclusive) | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"customer"` | | +| `address` | `object \| null` | | +| `balance` | `integer` | | +| `business_name` | `string \| null` | | +| `cash_balance` | `object \| null` | | +| `created` | `integer` | | +| `currency` | `string \| null` | | +| `customer_account` | `string \| null` | | +| `default_currency` | `string \| null` | | +| `default_source` | `string \| null` | | +| `delinquent` | `boolean \| null` | | +| `description` | `string \| null` | | +| `discount` | `object \| null` | | +| `email` | `string \| null` | | +| `individual_name` | `string \| null` | | +| `invoice_credit_balance` | `object` | | +| `invoice_prefix` | `string \| null` | | +| `invoice_settings` | `object` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `name` | `string \| null` | | +| `next_invoice_sequence` | `integer \| null` | | +| `phone` | `string \| null` | | +| `preferred_locales` | `array \| null` | | +| `shipping` | `object \| null` | | +| `sources` | `object \| null` | | +| `subscriptions` | `object \| null` | | +| `tax_exempt` | `string \| null` | | +| `test_clock` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `has_more` | `boolean` | | + +
+ +#### Customers Get + +Retrieves a Customer object. + +**Python SDK** + +```python +stripe.customers.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "customers", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | The customer ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"customer"` | | +| `address` | `object \| null` | | +| `balance` | `integer` | | +| `business_name` | `string \| null` | | +| `cash_balance` | `object \| null` | | +| `created` | `integer` | | +| `currency` | `string \| null` | | +| `customer_account` | `string \| null` | | +| `default_currency` | `string \| null` | | +| `default_source` | `string \| null` | | +| `delinquent` | `boolean \| null` | | +| `description` | `string \| null` | | +| `discount` | `object \| null` | | +| `email` | `string \| null` | | +| `individual_name` | `string \| null` | | +| `invoice_credit_balance` | `object` | | +| `invoice_prefix` | `string \| null` | | +| `invoice_settings` | `object` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `name` | `string \| null` | | +| `next_invoice_sequence` | `integer \| null` | | +| `phone` | `string \| null` | | +| `preferred_locales` | `array \| null` | | +| `shipping` | `object \| null` | | +| `sources` | `object \| null` | | +| `subscriptions` | `object \| null` | | +| `tax_exempt` | `string \| null` | | +| `test_clock` | `string \| null` | | + + +
+ +#### Customers Search + +Search for customers using Stripe's Search Query Language. + +**Python SDK** + +```python +stripe.customers.search( + query="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "customers", + "action": "search", + "params": { + "query": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `query` | `string` | Yes | The search query string using Stripe's Search Query Language | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `page` | `string` | No | A cursor for pagination across multiple pages of results. Don’t include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"customer"` | | +| `address` | `object \| null` | | +| `balance` | `integer` | | +| `business_name` | `string \| null` | | +| `cash_balance` | `object \| null` | | +| `created` | `integer` | | +| `currency` | `string \| null` | | +| `customer_account` | `string \| null` | | +| `default_currency` | `string \| null` | | +| `default_source` | `string \| null` | | +| `delinquent` | `boolean \| null` | | +| `description` | `string \| null` | | +| `discount` | `object \| null` | | +| `email` | `string \| null` | | +| `individual_name` | `string \| null` | | +| `invoice_credit_balance` | `object` | | +| `invoice_prefix` | `string \| null` | | +| `invoice_settings` | `object` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `name` | `string \| null` | | +| `next_invoice_sequence` | `integer \| null` | | +| `phone` | `string \| null` | | +| `preferred_locales` | `array \| null` | | +| `shipping` | `object \| null` | | +| `sources` | `object \| null` | | +| `subscriptions` | `object \| null` | | +| `tax_exempt` | `string \| null` | | +| `test_clock` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `has_more` | `boolean` | | + +
+ +### Invoices + +#### Invoices List + +Returns a list of invoices + +**Python SDK** + +```python +stripe.invoices.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "invoices", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `collection_method` | `"charge_automatically" \| "send_invoice"` | No | The collection method of the invoices to retrieve | +| `created` | `object` | No | Only return customers that were created during the given date interval. | +| `created.gt` | `integer` | No | Minimum value to filter by (exclusive) | +| `created.gte` | `integer` | No | Minimum value to filter by (inclusive) | +| `created.lt` | `integer` | No | Maximum value to filter by (exclusive) | +| `created.lte` | `integer` | No | Maximum value to filter by (inclusive) | +| `customer` | `string` | No | Only return invoices for the customer specified by this customer ID. | +| `customer_account` | `string` | No | Only return invoices for the account specified by this account ID | +| `ending_before` | `string` | No | A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list. | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `starting_after` | `string` | No | A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list. | +| `status` | `"draft" \| "open" \| "paid" \| "uncollectible" \| "void"` | No | The status of the invoices to retrieve | +| `subscription` | `string` | No | Only return invoices for the subscription specified by this subscription ID. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"invoice"` | | +| `account_country` | `string \| null` | | +| `account_name` | `string \| null` | | +| `account_tax_ids` | `array \| null` | | +| `amount_due` | `integer` | | +| `amount_overpaid` | `integer` | | +| `amount_paid` | `integer` | | +| `amount_remaining` | `integer` | | +| `amount_shipping` | `integer` | | +| `application` | `string \| null` | | +| `application_fee_amount` | `integer \| null` | | +| `attempt_count` | `integer` | | +| `attempted` | `boolean` | | +| `auto_advance` | `boolean` | | +| `automatic_tax` | `object` | | +| `automatically_finalizes_at` | `integer \| null` | | +| `billing_reason` | `string \| null` | | +| `charge` | `string \| null` | | +| `collection_method` | `"charge_automatically" \| "send_invoice"` | | +| `confirmation_secret` | `object \| null` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `custom_fields` | `array \| null` | | +| `customer` | `string` | | +| `customer_account` | `string \| null` | | +| `customer_address` | `object \| null` | | +| `customer_email` | `string \| null` | | +| `customer_name` | `string \| null` | | +| `customer_phone` | `string \| null` | | +| `customer_shipping` | `object \| null` | | +| `customer_tax_exempt` | `string \| null` | | +| `customer_tax_ids` | `array \| null` | | +| `default_payment_method` | `string \| null` | | +| `default_source` | `string \| null` | | +| `default_tax_rates` | `array` | | +| `description` | `string \| null` | | +| `discount` | `object \| null` | | +| `discounts` | `array` | | +| `due_date` | `integer \| null` | | +| `effective_at` | `integer \| null` | | +| `ending_balance` | `integer \| null` | | +| `footer` | `string \| null` | | +| `from_invoice` | `object \| null` | | +| `hosted_invoice_url` | `string \| null` | | +| `invoice_pdf` | `string \| null` | | +| `issuer` | `object` | | +| `last_finalization_error` | `object \| null` | | +| `latest_revision` | `string \| null` | | +| `lines` | `object` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `next_payment_attempt` | `integer \| null` | | +| `number` | `string \| null` | | +| `on_behalf_of` | `string \| null` | | +| `paid` | `boolean \| null` | | +| `paid_out_of_band` | `boolean \| null` | | +| `parent` | `object \| null` | | +| `payment_intent` | `string \| null` | | +| `payment_settings` | `object` | | +| `payments` | `object` | | +| `period_end` | `integer` | | +| `period_start` | `integer` | | +| `post_payment_credit_notes_amount` | `integer` | | +| `pre_payment_credit_notes_amount` | `integer` | | +| `quote` | `string \| null` | | +| `receipt_number` | `string \| null` | | +| `rendering` | `object \| null` | | +| `rendering_options` | `object \| null` | | +| `shipping_cost` | `object \| null` | | +| `shipping_details` | `object \| null` | | +| `starting_balance` | `integer` | | +| `statement_descriptor` | `string \| null` | | +| `status` | `string \| null` | | +| `status_transitions` | `object` | | +| `subscription` | `string \| null` | | +| `subscription_details` | `object \| null` | | +| `subtotal` | `integer` | | +| `subtotal_excluding_tax` | `integer \| null` | | +| `tax` | `integer \| null` | | +| `test_clock` | `string \| null` | | +| `threshold_reason` | `object \| null` | | +| `total` | `integer` | | +| `total_discount_amounts` | `array \| null` | | +| `total_excluding_tax` | `integer \| null` | | +| `total_pretax_credit_amounts` | `array \| null` | | +| `total_tax_amounts` | `array \| null` | | +| `total_taxes` | `array \| null` | | +| `transfer_data` | `object \| null` | | +| `webhooks_delivered_at` | `integer \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `has_more` | `boolean` | | + + + +#### Invoices Get + +Retrieves the invoice with the given ID + +**Python SDK** + +```python +stripe.invoices.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "invoices", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | The invoice ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"invoice"` | | +| `account_country` | `string \| null` | | +| `account_name` | `string \| null` | | +| `account_tax_ids` | `array \| null` | | +| `amount_due` | `integer` | | +| `amount_overpaid` | `integer` | | +| `amount_paid` | `integer` | | +| `amount_remaining` | `integer` | | +| `amount_shipping` | `integer` | | +| `application` | `string \| null` | | +| `application_fee_amount` | `integer \| null` | | +| `attempt_count` | `integer` | | +| `attempted` | `boolean` | | +| `auto_advance` | `boolean` | | +| `automatic_tax` | `object` | | +| `automatically_finalizes_at` | `integer \| null` | | +| `billing_reason` | `string \| null` | | +| `charge` | `string \| null` | | +| `collection_method` | `"charge_automatically" \| "send_invoice"` | | +| `confirmation_secret` | `object \| null` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `custom_fields` | `array \| null` | | +| `customer` | `string` | | +| `customer_account` | `string \| null` | | +| `customer_address` | `object \| null` | | +| `customer_email` | `string \| null` | | +| `customer_name` | `string \| null` | | +| `customer_phone` | `string \| null` | | +| `customer_shipping` | `object \| null` | | +| `customer_tax_exempt` | `string \| null` | | +| `customer_tax_ids` | `array \| null` | | +| `default_payment_method` | `string \| null` | | +| `default_source` | `string \| null` | | +| `default_tax_rates` | `array` | | +| `description` | `string \| null` | | +| `discount` | `object \| null` | | +| `discounts` | `array` | | +| `due_date` | `integer \| null` | | +| `effective_at` | `integer \| null` | | +| `ending_balance` | `integer \| null` | | +| `footer` | `string \| null` | | +| `from_invoice` | `object \| null` | | +| `hosted_invoice_url` | `string \| null` | | +| `invoice_pdf` | `string \| null` | | +| `issuer` | `object` | | +| `last_finalization_error` | `object \| null` | | +| `latest_revision` | `string \| null` | | +| `lines` | `object` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `next_payment_attempt` | `integer \| null` | | +| `number` | `string \| null` | | +| `on_behalf_of` | `string \| null` | | +| `paid` | `boolean \| null` | | +| `paid_out_of_band` | `boolean \| null` | | +| `parent` | `object \| null` | | +| `payment_intent` | `string \| null` | | +| `payment_settings` | `object` | | +| `payments` | `object` | | +| `period_end` | `integer` | | +| `period_start` | `integer` | | +| `post_payment_credit_notes_amount` | `integer` | | +| `pre_payment_credit_notes_amount` | `integer` | | +| `quote` | `string \| null` | | +| `receipt_number` | `string \| null` | | +| `rendering` | `object \| null` | | +| `rendering_options` | `object \| null` | | +| `shipping_cost` | `object \| null` | | +| `shipping_details` | `object \| null` | | +| `starting_balance` | `integer` | | +| `statement_descriptor` | `string \| null` | | +| `status` | `string \| null` | | +| `status_transitions` | `object` | | +| `subscription` | `string \| null` | | +| `subscription_details` | `object \| null` | | +| `subtotal` | `integer` | | +| `subtotal_excluding_tax` | `integer \| null` | | +| `tax` | `integer \| null` | | +| `test_clock` | `string \| null` | | +| `threshold_reason` | `object \| null` | | +| `total` | `integer` | | +| `total_discount_amounts` | `array \| null` | | +| `total_excluding_tax` | `integer \| null` | | +| `total_pretax_credit_amounts` | `array \| null` | | +| `total_tax_amounts` | `array \| null` | | +| `total_taxes` | `array \| null` | | +| `transfer_data` | `object \| null` | | +| `webhooks_delivered_at` | `integer \| null` | | + + + + +#### Invoices Search + +Search for invoices using Stripe's Search Query Language + +**Python SDK** + +```python +stripe.invoices.search( + query="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "invoices", + "action": "search", + "params": { + "query": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `query` | `string` | Yes | The search query string using Stripe's Search Query Language | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `page` | `string` | No | A cursor for pagination across multiple pages of results. Don’t include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `object` | `"search_result"` | | +| `data` | `array` | | +| `data[].id` | `string` | | +| `data[].object` | `"invoice"` | | +| `data[].account_country` | `string \| null` | | +| `data[].account_name` | `string \| null` | | +| `data[].account_tax_ids` | `array \| null` | | +| `data[].amount_due` | `integer` | | +| `data[].amount_overpaid` | `integer` | | +| `data[].amount_paid` | `integer` | | +| `data[].amount_remaining` | `integer` | | +| `data[].amount_shipping` | `integer` | | +| `data[].application` | `string \| null` | | +| `data[].application_fee_amount` | `integer \| null` | | +| `data[].attempt_count` | `integer` | | +| `data[].attempted` | `boolean` | | +| `data[].auto_advance` | `boolean` | | +| `data[].automatic_tax` | `object` | | +| `data[].automatically_finalizes_at` | `integer \| null` | | +| `data[].billing_reason` | `string \| null` | | +| `data[].charge` | `string \| null` | | +| `data[].collection_method` | `"charge_automatically" \| "send_invoice"` | | +| `data[].confirmation_secret` | `object \| null` | | +| `data[].created` | `integer` | | +| `data[].currency` | `string` | | +| `data[].custom_fields` | `array \| null` | | +| `data[].customer` | `string` | | +| `data[].customer_account` | `string \| null` | | +| `data[].customer_address` | `object \| null` | | +| `data[].customer_email` | `string \| null` | | +| `data[].customer_name` | `string \| null` | | +| `data[].customer_phone` | `string \| null` | | +| `data[].customer_shipping` | `object \| null` | | +| `data[].customer_tax_exempt` | `string \| null` | | +| `data[].customer_tax_ids` | `array \| null` | | +| `data[].default_payment_method` | `string \| null` | | +| `data[].default_source` | `string \| null` | | +| `data[].default_tax_rates` | `array` | | +| `data[].description` | `string \| null` | | +| `data[].discount` | `object \| null` | | +| `data[].discounts` | `array` | | +| `data[].due_date` | `integer \| null` | | +| `data[].effective_at` | `integer \| null` | | +| `data[].ending_balance` | `integer \| null` | | +| `data[].footer` | `string \| null` | | +| `data[].from_invoice` | `object \| null` | | +| `data[].hosted_invoice_url` | `string \| null` | | +| `data[].invoice_pdf` | `string \| null` | | +| `data[].issuer` | `object` | | +| `data[].last_finalization_error` | `object \| null` | | +| `data[].latest_revision` | `string \| null` | | +| `data[].lines` | `object` | | +| `data[].livemode` | `boolean` | | +| `data[].metadata` | `object` | | +| `data[].next_payment_attempt` | `integer \| null` | | +| `data[].number` | `string \| null` | | +| `data[].on_behalf_of` | `string \| null` | | +| `data[].paid` | `boolean \| null` | | +| `data[].paid_out_of_band` | `boolean \| null` | | +| `data[].parent` | `object \| null` | | +| `data[].payment_intent` | `string \| null` | | +| `data[].payment_settings` | `object` | | +| `data[].payments` | `object` | | +| `data[].period_end` | `integer` | | +| `data[].period_start` | `integer` | | +| `data[].post_payment_credit_notes_amount` | `integer` | | +| `data[].pre_payment_credit_notes_amount` | `integer` | | +| `data[].quote` | `string \| null` | | +| `data[].receipt_number` | `string \| null` | | +| `data[].rendering` | `object \| null` | | +| `data[].rendering_options` | `object \| null` | | +| `data[].shipping_cost` | `object \| null` | | +| `data[].shipping_details` | `object \| null` | | +| `data[].starting_balance` | `integer` | | +| `data[].statement_descriptor` | `string \| null` | | +| `data[].status` | `string \| null` | | +| `data[].status_transitions` | `object` | | +| `data[].subscription` | `string \| null` | | +| `data[].subscription_details` | `object \| null` | | +| `data[].subtotal` | `integer` | | +| `data[].subtotal_excluding_tax` | `integer \| null` | | +| `data[].tax` | `integer \| null` | | +| `data[].test_clock` | `string \| null` | | +| `data[].threshold_reason` | `object \| null` | | +| `data[].total` | `integer` | | +| `data[].total_discount_amounts` | `array \| null` | | +| `data[].total_excluding_tax` | `integer \| null` | | +| `data[].total_pretax_credit_amounts` | `array \| null` | | +| `data[].total_tax_amounts` | `array \| null` | | +| `data[].total_taxes` | `array \| null` | | +| `data[].transfer_data` | `object \| null` | | +| `data[].webhooks_delivered_at` | `integer \| null` | | +| `has_more` | `boolean` | | +| `next_page` | `string \| null` | | +| `url` | `string` | | + + + + +### Charges + +#### Charges List + +Returns a list of charges you've previously created. The charges are returned in sorted order, with the most recent charges appearing first. + +**Python SDK** + +```python +stripe.charges.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "charges", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `created` | `object` | No | Only return customers that were created during the given date interval. | +| `created.gt` | `integer` | No | Minimum value to filter by (exclusive) | +| `created.gte` | `integer` | No | Minimum value to filter by (inclusive) | +| `created.lt` | `integer` | No | Maximum value to filter by (exclusive) | +| `created.lte` | `integer` | No | Maximum value to filter by (inclusive) | +| `customer` | `string` | No | Only return charges for the customer specified by this customer ID | +| `ending_before` | `string` | No | A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list. | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `payment_intent` | `string` | No | Only return charges that were created by the PaymentIntent specified by this ID | +| `starting_after` | `string` | No | A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"charge"` | | +| `created` | `integer` | | +| `livemode` | `boolean` | | +| `amount` | `integer` | | +| `amount_captured` | `integer` | | +| `amount_refunded` | `integer` | | +| `amount_updates` | `array \| null` | | +| `application` | `string \| null` | | +| `application_fee` | `string \| null` | | +| `application_fee_amount` | `integer \| null` | | +| `calculated_statement_descriptor` | `string \| null` | | +| `currency` | `string` | | +| `customer` | `string \| null` | | +| `description` | `string \| null` | | +| `destination` | `string \| null` | | +| `dispute` | `string \| null` | | +| `disputed` | `boolean` | | +| `failure_balance_transaction` | `string \| null` | | +| `failure_code` | `string \| null` | | +| `failure_message` | `string \| null` | | +| `fraud_details` | `object \| null` | | +| `invoice` | `string \| null` | | +| `on_behalf_of` | `string \| null` | | +| `order` | `string \| null` | | +| `outcome` | `object \| null` | | +| `paid` | `boolean` | | +| `payment_intent` | `string \| null` | | +| `payment_method` | `string \| null` | | +| `payment_method_details` | `object \| null` | | +| `presentment_details` | `object \| null` | | +| `receipt_email` | `string \| null` | | +| `receipt_number` | `string \| null` | | +| `receipt_url` | `string \| null` | | +| `refunded` | `boolean` | | +| `refunds` | `object \| null` | | +| `review` | `string \| null` | | +| `shipping` | `object \| null` | | +| `source` | `object \| null` | | +| `source_transfer` | `string \| null` | | +| `statement_descriptor` | `string \| null` | | +| `statement_descriptor_suffix` | `string \| null` | | +| `status` | `"succeeded" \| "pending" \| "failed"` | | +| `transfer_data` | `object \| null` | | +| `transfer_group` | `string \| null` | | +| `captured` | `boolean` | | +| `balance_transaction` | `string \| null` | | +| `billing_details` | `object` | | +| `metadata` | `object` | | +| `radar_options` | `object \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `has_more` | `boolean` | | + +
+ +#### Charges Get + +Retrieves the details of a charge that has previously been created + +**Python SDK** + +```python +stripe.charges.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "charges", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | The charge ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"charge"` | | +| `created` | `integer` | | +| `livemode` | `boolean` | | +| `amount` | `integer` | | +| `amount_captured` | `integer` | | +| `amount_refunded` | `integer` | | +| `amount_updates` | `array \| null` | | +| `application` | `string \| null` | | +| `application_fee` | `string \| null` | | +| `application_fee_amount` | `integer \| null` | | +| `calculated_statement_descriptor` | `string \| null` | | +| `currency` | `string` | | +| `customer` | `string \| null` | | +| `description` | `string \| null` | | +| `destination` | `string \| null` | | +| `dispute` | `string \| null` | | +| `disputed` | `boolean` | | +| `failure_balance_transaction` | `string \| null` | | +| `failure_code` | `string \| null` | | +| `failure_message` | `string \| null` | | +| `fraud_details` | `object \| null` | | +| `invoice` | `string \| null` | | +| `on_behalf_of` | `string \| null` | | +| `order` | `string \| null` | | +| `outcome` | `object \| null` | | +| `paid` | `boolean` | | +| `payment_intent` | `string \| null` | | +| `payment_method` | `string \| null` | | +| `payment_method_details` | `object \| null` | | +| `presentment_details` | `object \| null` | | +| `receipt_email` | `string \| null` | | +| `receipt_number` | `string \| null` | | +| `receipt_url` | `string \| null` | | +| `refunded` | `boolean` | | +| `refunds` | `object \| null` | | +| `review` | `string \| null` | | +| `shipping` | `object \| null` | | +| `source` | `object \| null` | | +| `source_transfer` | `string \| null` | | +| `statement_descriptor` | `string \| null` | | +| `statement_descriptor_suffix` | `string \| null` | | +| `status` | `"succeeded" \| "pending" \| "failed"` | | +| `transfer_data` | `object \| null` | | +| `transfer_group` | `string \| null` | | +| `captured` | `boolean` | | +| `balance_transaction` | `string \| null` | | +| `billing_details` | `object` | | +| `metadata` | `object` | | +| `radar_options` | `object \| null` | | + + +
+ +#### Charges Search + +Search for charges using Stripe's Search Query Language + +**Python SDK** + +```python +stripe.charges.search( + query="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "charges", + "action": "search", + "params": { + "query": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `query` | `string` | Yes | The search query string using Stripe's Search Query Language | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `page` | `string` | No | A cursor for pagination across multiple pages of results. Don’t include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `object` | `"search_result"` | | +| `data` | `array` | | +| `data[].id` | `string` | | +| `data[].object` | `"charge"` | | +| `data[].created` | `integer` | | +| `data[].livemode` | `boolean` | | +| `data[].amount` | `integer` | | +| `data[].amount_captured` | `integer` | | +| `data[].amount_refunded` | `integer` | | +| `data[].amount_updates` | `array \| null` | | +| `data[].application` | `string \| null` | | +| `data[].application_fee` | `string \| null` | | +| `data[].application_fee_amount` | `integer \| null` | | +| `data[].calculated_statement_descriptor` | `string \| null` | | +| `data[].currency` | `string` | | +| `data[].customer` | `string \| null` | | +| `data[].description` | `string \| null` | | +| `data[].destination` | `string \| null` | | +| `data[].dispute` | `string \| null` | | +| `data[].disputed` | `boolean` | | +| `data[].failure_balance_transaction` | `string \| null` | | +| `data[].failure_code` | `string \| null` | | +| `data[].failure_message` | `string \| null` | | +| `data[].fraud_details` | `object \| null` | | +| `data[].invoice` | `string \| null` | | +| `data[].on_behalf_of` | `string \| null` | | +| `data[].order` | `string \| null` | | +| `data[].outcome` | `object \| null` | | +| `data[].paid` | `boolean` | | +| `data[].payment_intent` | `string \| null` | | +| `data[].payment_method` | `string \| null` | | +| `data[].payment_method_details` | `object \| null` | | +| `data[].presentment_details` | `object \| null` | | +| `data[].receipt_email` | `string \| null` | | +| `data[].receipt_number` | `string \| null` | | +| `data[].receipt_url` | `string \| null` | | +| `data[].refunded` | `boolean` | | +| `data[].refunds` | `object \| null` | | +| `data[].review` | `string \| null` | | +| `data[].shipping` | `object \| null` | | +| `data[].source` | `object \| null` | | +| `data[].source_transfer` | `string \| null` | | +| `data[].statement_descriptor` | `string \| null` | | +| `data[].statement_descriptor_suffix` | `string \| null` | | +| `data[].status` | `"succeeded" \| "pending" \| "failed"` | | +| `data[].transfer_data` | `object \| null` | | +| `data[].transfer_group` | `string \| null` | | +| `data[].captured` | `boolean` | | +| `data[].balance_transaction` | `string \| null` | | +| `data[].billing_details` | `object` | | +| `data[].metadata` | `object` | | +| `data[].radar_options` | `object \| null` | | +| `has_more` | `boolean` | | +| `next_page` | `string \| null` | | +| `url` | `string` | | + + + + +### Subscriptions + +#### Subscriptions List + +By default, returns a list of subscriptions that have not been canceled + +**Python SDK** + +```python +stripe.subscriptions.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "subscriptions", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `automatic_tax` | `object` | No | Filter subscriptions by their automatic tax settings. | +| `automatic_tax.enabled` | `boolean` | No | Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription. | +| `collection_method` | `"charge_automatically" \| "send_invoice"` | No | The collection method of the subscriptions to retrieve | +| `created` | `object` | No | Only return customers that were created during the given date interval. | +| `created.gt` | `integer` | No | Minimum value to filter by (exclusive) | +| `created.gte` | `integer` | No | Minimum value to filter by (inclusive) | +| `created.lt` | `integer` | No | Maximum value to filter by (exclusive) | +| `created.lte` | `integer` | No | Maximum value to filter by (inclusive) | +| `current_period_end` | `object` | No | Only return subscriptions whose minimum item current_period_end falls within the given date interval. | +| `current_period_end.gt` | `integer` | No | Minimum value to filter by (exclusive) | +| `current_period_end.gte` | `integer` | No | Minimum value to filter by (inclusive) | +| `current_period_end.lt` | `integer` | No | Maximum value to filter by (exclusive) | +| `current_period_end.lte` | `integer` | No | Maximum value to filter by (inclusive) | +| `current_period_start` | `object` | No | Only return subscriptions whose maximum item current_period_start falls within the given date interval. | +| `current_period_start.gt` | `integer` | No | Minimum value to filter by (exclusive) | +| `current_period_start.gte` | `integer` | No | Minimum value to filter by (inclusive) | +| `current_period_start.lt` | `integer` | No | Maximum value to filter by (exclusive) | +| `current_period_start.lte` | `integer` | No | Maximum value to filter by (inclusive) | +| `customer` | `string` | No | Only return subscriptions for the customer specified by this customer ID | +| `customer_account` | `string` | No | The ID of the account whose subscriptions will be retrieved. | +| `ending_before` | `string` | No | A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list. | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `price` | `string` | No | Filter for subscriptions that contain this recurring price ID. | +| `starting_after` | `string` | No | A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list. | +| `status` | `"canceled" \| "ended" \| "all"` | No | The status of the subscriptions to retrieve. Passing in a value of canceled will return all canceled subscriptions, including those belonging to deleted customers. Pass ended to find subscriptions that are canceled and subscriptions that are expired due to incomplete payment. Passing in a value of all will return subscriptions of all statuses. If no value is supplied, all subscriptions that have not been canceled are returned. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"subscription"` | | +| `application` | `string \| null` | | +| `application_fee_percent` | `number \| null` | | +| `automatic_tax` | `object` | | +| `billing_cycle_anchor` | `integer` | | +| `billing_cycle_anchor_config` | `object \| null` | | +| `billing_mode` | `object` | | +| `billing_thresholds` | `object \| null` | | +| `cancel_at` | `integer \| null` | | +| `cancel_at_period_end` | `boolean` | | +| `canceled_at` | `integer \| null` | | +| `cancellation_details` | `object \| null` | | +| `collection_method` | `"charge_automatically" \| "send_invoice"` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `customer` | `string` | | +| `customer_account` | `string \| null` | | +| `days_until_due` | `integer \| null` | | +| `default_payment_method` | `string \| null` | | +| `default_source` | `string \| null` | | +| `default_tax_rates` | `array \| null` | | +| `description` | `string \| null` | | +| `discounts` | `array` | | +| `ended_at` | `integer \| null` | | +| `invoice_settings` | `object` | | +| `items` | `object` | | +| `latest_invoice` | `string \| null` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `next_pending_invoice_item_invoice` | `integer \| null` | | +| `on_behalf_of` | `string \| null` | | +| `pause_collection` | `object \| null` | | +| `payment_settings` | `object \| null` | | +| `status` | `"incomplete" \| "incomplete_expired" \| "trialing" \| "active" \| "past_due" \| "canceled" \| "unpaid" \| "paused"` | | +| `current_period_start` | `integer` | | +| `current_period_end` | `integer` | | +| `start_date` | `integer` | | +| `trial_start` | `integer \| null` | | +| `trial_end` | `integer \| null` | | +| `discount` | `object \| null` | | +| `plan` | `object \| null` | | +| `quantity` | `integer \| null` | | +| `schedule` | `string \| null` | | +| `test_clock` | `string \| null` | | +| `transfer_data` | `object \| null` | | +| `trial_settings` | `object \| null` | | +| `pending_invoice_item_interval` | `object \| null` | | +| `pending_setup_intent` | `string \| null` | | +| `pending_update` | `object \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `has_more` | `boolean` | | + +
+ +#### Subscriptions Get + +Retrieves the subscription with the given ID + +**Python SDK** + +```python +stripe.subscriptions.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "subscriptions", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | The subscription ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"subscription"` | | +| `application` | `string \| null` | | +| `application_fee_percent` | `number \| null` | | +| `automatic_tax` | `object` | | +| `billing_cycle_anchor` | `integer` | | +| `billing_cycle_anchor_config` | `object \| null` | | +| `billing_mode` | `object` | | +| `billing_thresholds` | `object \| null` | | +| `cancel_at` | `integer \| null` | | +| `cancel_at_period_end` | `boolean` | | +| `canceled_at` | `integer \| null` | | +| `cancellation_details` | `object \| null` | | +| `collection_method` | `"charge_automatically" \| "send_invoice"` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `customer` | `string` | | +| `customer_account` | `string \| null` | | +| `days_until_due` | `integer \| null` | | +| `default_payment_method` | `string \| null` | | +| `default_source` | `string \| null` | | +| `default_tax_rates` | `array \| null` | | +| `description` | `string \| null` | | +| `discounts` | `array` | | +| `ended_at` | `integer \| null` | | +| `invoice_settings` | `object` | | +| `items` | `object` | | +| `latest_invoice` | `string \| null` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `next_pending_invoice_item_invoice` | `integer \| null` | | +| `on_behalf_of` | `string \| null` | | +| `pause_collection` | `object \| null` | | +| `payment_settings` | `object \| null` | | +| `status` | `"incomplete" \| "incomplete_expired" \| "trialing" \| "active" \| "past_due" \| "canceled" \| "unpaid" \| "paused"` | | +| `current_period_start` | `integer` | | +| `current_period_end` | `integer` | | +| `start_date` | `integer` | | +| `trial_start` | `integer \| null` | | +| `trial_end` | `integer \| null` | | +| `discount` | `object \| null` | | +| `plan` | `object \| null` | | +| `quantity` | `integer \| null` | | +| `schedule` | `string \| null` | | +| `test_clock` | `string \| null` | | +| `transfer_data` | `object \| null` | | +| `trial_settings` | `object \| null` | | +| `pending_invoice_item_interval` | `object \| null` | | +| `pending_setup_intent` | `string \| null` | | +| `pending_update` | `object \| null` | | + + +
+ +#### Subscriptions Search + +Search for subscriptions using Stripe's Search Query Language + +**Python SDK** + +```python +stripe.subscriptions.search( + query="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "subscriptions", + "action": "search", + "params": { + "query": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `query` | `string` | Yes | The search query string using Stripe's Search Query Language | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `page` | `string` | No | A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `object` | `"search_result"` | | +| `data` | `array` | | +| `data[].id` | `string` | | +| `data[].object` | `"subscription"` | | +| `data[].application` | `string \| null` | | +| `data[].application_fee_percent` | `number \| null` | | +| `data[].automatic_tax` | `object` | | +| `data[].billing_cycle_anchor` | `integer` | | +| `data[].billing_cycle_anchor_config` | `object \| null` | | +| `data[].billing_mode` | `object` | | +| `data[].billing_thresholds` | `object \| null` | | +| `data[].cancel_at` | `integer \| null` | | +| `data[].cancel_at_period_end` | `boolean` | | +| `data[].canceled_at` | `integer \| null` | | +| `data[].cancellation_details` | `object \| null` | | +| `data[].collection_method` | `"charge_automatically" \| "send_invoice"` | | +| `data[].created` | `integer` | | +| `data[].currency` | `string` | | +| `data[].customer` | `string` | | +| `data[].customer_account` | `string \| null` | | +| `data[].days_until_due` | `integer \| null` | | +| `data[].default_payment_method` | `string \| null` | | +| `data[].default_source` | `string \| null` | | +| `data[].default_tax_rates` | `array \| null` | | +| `data[].description` | `string \| null` | | +| `data[].discounts` | `array` | | +| `data[].ended_at` | `integer \| null` | | +| `data[].invoice_settings` | `object` | | +| `data[].items` | `object` | | +| `data[].latest_invoice` | `string \| null` | | +| `data[].livemode` | `boolean` | | +| `data[].metadata` | `object` | | +| `data[].next_pending_invoice_item_invoice` | `integer \| null` | | +| `data[].on_behalf_of` | `string \| null` | | +| `data[].pause_collection` | `object \| null` | | +| `data[].payment_settings` | `object \| null` | | +| `data[].status` | `"incomplete" \| "incomplete_expired" \| "trialing" \| "active" \| "past_due" \| "canceled" \| "unpaid" \| "paused"` | | +| `data[].current_period_start` | `integer` | | +| `data[].current_period_end` | `integer` | | +| `data[].start_date` | `integer` | | +| `data[].trial_start` | `integer \| null` | | +| `data[].trial_end` | `integer \| null` | | +| `data[].discount` | `object \| null` | | +| `data[].plan` | `object \| null` | | +| `data[].quantity` | `integer \| null` | | +| `data[].schedule` | `string \| null` | | +| `data[].test_clock` | `string \| null` | | +| `data[].transfer_data` | `object \| null` | | +| `data[].trial_settings` | `object \| null` | | +| `data[].pending_invoice_item_interval` | `object \| null` | | +| `data[].pending_setup_intent` | `string \| null` | | +| `data[].pending_update` | `object \| null` | | +| `has_more` | `boolean` | | +| `next_page` | `string \| null` | | +| `url` | `string` | | + + + + +### Refunds + +#### Refunds List + +Returns a list of all refunds you've previously created. The refunds are returned in sorted order, with the most recent refunds appearing first. + +**Python SDK** + +```python +stripe.refunds.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "refunds", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `charge` | `string` | No | Only return refunds for the charge specified by this charge ID | +| `created` | `object` | No | Only return customers that were created during the given date interval. | +| `created.gt` | `integer` | No | Minimum value to filter by (exclusive) | +| `created.gte` | `integer` | No | Minimum value to filter by (inclusive) | +| `created.lt` | `integer` | No | Maximum value to filter by (exclusive) | +| `created.lte` | `integer` | No | Maximum value to filter by (inclusive) | +| `ending_before` | `string` | No | A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list. | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `payment_intent` | `string` | No | Only return refunds for the PaymentIntent specified by this ID | +| `starting_after` | `string` | No | A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"refund"` | | +| `amount` | `integer` | | +| `balance_transaction` | `string \| null` | | +| `charge` | `string \| null` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `description` | `string \| null` | | +| `destination_details` | `object \| null` | | +| `failure_balance_transaction` | `string \| null` | | +| `failure_reason` | `string \| null` | | +| `instructions_email` | `string \| null` | | +| `metadata` | `object \| null` | | +| `next_action` | `object \| null` | | +| `payment_intent` | `string \| null` | | +| `pending_reason` | `string \| null` | | +| `reason` | `string \| null` | | +| `receipt_number` | `string \| null` | | +| `source_transfer_reversal` | `string \| null` | | +| `status` | `string \| null` | | +| `transfer_reversal` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `has_more` | `boolean` | | + +
+ +#### Refunds Get + +Retrieves the details of an existing refund + +**Python SDK** + +```python +stripe.refunds.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "refunds", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | The refund ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"refund"` | | +| `amount` | `integer` | | +| `balance_transaction` | `string \| null` | | +| `charge` | `string \| null` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `description` | `string \| null` | | +| `destination_details` | `object \| null` | | +| `failure_balance_transaction` | `string \| null` | | +| `failure_reason` | `string \| null` | | +| `instructions_email` | `string \| null` | | +| `metadata` | `object \| null` | | +| `next_action` | `object \| null` | | +| `payment_intent` | `string \| null` | | +| `pending_reason` | `string \| null` | | +| `reason` | `string \| null` | | +| `receipt_number` | `string \| null` | | +| `source_transfer_reversal` | `string \| null` | | +| `status` | `string \| null` | | +| `transfer_reversal` | `string \| null` | | + + +
+ +### Products + +#### Products List + +Returns a list of your products. The products are returned sorted by creation date, with the most recent products appearing first. + +**Python SDK** + +```python +stripe.products.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "products", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `active` | `boolean` | No | Only return products that are active or inactive | +| `created` | `object` | No | Only return products that were created during the given date interval. | +| `created.gt` | `integer` | No | Minimum value to filter by (exclusive) | +| `created.gte` | `integer` | No | Minimum value to filter by (inclusive) | +| `created.lt` | `integer` | No | Maximum value to filter by (exclusive) | +| `created.lte` | `integer` | No | Maximum value to filter by (inclusive) | +| `ending_before` | `string` | No | A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list. | +| `ids` | `array` | No | Only return products with the given IDs | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `shippable` | `boolean` | No | Only return products that can be shipped | +| `starting_after` | `string` | No | A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list. | +| `url` | `string` | No | Only return products with the given url | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"product"` | | +| `active` | `boolean` | | +| `attributes` | `array` | | +| `created` | `integer` | | +| `default_price` | `string \| null` | | +| `description` | `string \| null` | | +| `features` | `array` | | +| `images` | `array` | | +| `livemode` | `boolean` | | +| `marketing_features` | `array` | | +| `metadata` | `object` | | +| `name` | `string` | | +| `package_dimensions` | `object \| null` | | +| `shippable` | `boolean \| null` | | +| `statement_descriptor` | `string \| null` | | +| `tax_code` | `string \| null` | | +| `type` | `"good" \| "service"` | | +| `unit_label` | `string \| null` | | +| `updated` | `integer` | | +| `url` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `has_more` | `boolean` | | + + + +#### Products Get + +Retrieves the details of an existing product. Supply the unique product ID and Stripe will return the corresponding product information. + +**Python SDK** + +```python +stripe.products.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "products", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | The product ID | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"product"` | | +| `active` | `boolean` | | +| `attributes` | `array` | | +| `created` | `integer` | | +| `default_price` | `string \| null` | | +| `description` | `string \| null` | | +| `features` | `array` | | +| `images` | `array` | | +| `livemode` | `boolean` | | +| `marketing_features` | `array` | | +| `metadata` | `object` | | +| `name` | `string` | | +| `package_dimensions` | `object \| null` | | +| `shippable` | `boolean \| null` | | +| `statement_descriptor` | `string \| null` | | +| `tax_code` | `string \| null` | | +| `type` | `"good" \| "service"` | | +| `unit_label` | `string \| null` | | +| `updated` | `integer` | | +| `url` | `string \| null` | | + + + + +#### Products Search + +Search for products using Stripe's Search Query Language. + +**Python SDK** + +```python +stripe.products.search( + query="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "products", + "action": "search", + "params": { + "query": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `query` | `string` | Yes | The search query string using Stripe's Search Query Language | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `page` | `string` | No | A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"product"` | | +| `active` | `boolean` | | +| `attributes` | `array` | | +| `created` | `integer` | | +| `default_price` | `string \| null` | | +| `description` | `string \| null` | | +| `features` | `array` | | +| `images` | `array` | | +| `livemode` | `boolean` | | +| `marketing_features` | `array` | | +| `metadata` | `object` | | +| `name` | `string` | | +| `package_dimensions` | `object \| null` | | +| `shippable` | `boolean \| null` | | +| `statement_descriptor` | `string \| null` | | +| `tax_code` | `string \| null` | | +| `type` | `"good" \| "service"` | | +| `unit_label` | `string \| null` | | +| `updated` | `integer` | | +| `url` | `string \| null` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `has_more` | `boolean` | | + + + +### Balance + +#### Balance Get + +Retrieves the current account balance, based on the authentication that was used to make the request. + +**Python SDK** + +```python +stripe.balance.get() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "balance", + "action": "get" +}' +``` + + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `object` | `"balance"` | | +| `livemode` | `boolean` | | +| `available` | `array` | | +| `connect_reserved` | `array \| null` | | +| `instant_available` | `array \| null` | | +| `issuing` | `object \| null` | | +| `pending` | `array` | | +| `refund_and_dispute_prefunding` | `object \| null` | | + + + + +### Balance Transactions + +#### Balance Transactions List + +Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first. + +**Python SDK** + +```python +stripe.balance_transactions.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "balance_transactions", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `created` | `object` | No | Only return transactions that were created during the given date interval. | +| `created.gt` | `integer` | No | Minimum value to filter by (exclusive) | +| `created.gte` | `integer` | No | Minimum value to filter by (inclusive) | +| `created.lt` | `integer` | No | Maximum value to filter by (exclusive) | +| `created.lte` | `integer` | No | Maximum value to filter by (inclusive) | +| `currency` | `string` | No | Only return transactions in a certain currency. Three-letter ISO currency code, in lowercase. | +| `ending_before` | `string` | No | A cursor for use in pagination. ending_before is an object ID that defines your place in the list. | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `payout` | `string` | No | For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID. | +| `source` | `string` | No | Only returns the original transaction. | +| `starting_after` | `string` | No | A cursor for use in pagination. starting_after is an object ID that defines your place in the list. | +| `type` | `string` | No | Only returns transactions of the given type. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"balance_transaction"` | | +| `amount` | `integer` | | +| `available_on` | `integer` | | +| `balance_type` | `"issuing" \| "payments" \| "refund_and_dispute_prefunding"` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `description` | `string \| null` | | +| `exchange_rate` | `number \| null` | | +| `fee` | `integer` | | +| `fee_details` | `array` | | +| `net` | `integer` | | +| `reporting_category` | `string` | | +| `source` | `string \| null` | | +| `status` | `"available" \| "pending"` | | +| `type` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `has_more` | `boolean` | | + + + +#### Balance Transactions Get + +Retrieves the balance transaction with the given ID. + +**Python SDK** + +```python +stripe.balance_transactions.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "balance_transactions", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | The ID of the desired balance transaction | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"balance_transaction"` | | +| `amount` | `integer` | | +| `available_on` | `integer` | | +| `balance_type` | `"issuing" \| "payments" \| "refund_and_dispute_prefunding"` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `description` | `string \| null` | | +| `exchange_rate` | `number \| null` | | +| `fee` | `integer` | | +| `fee_details` | `array` | | +| `net` | `integer` | | +| `reporting_category` | `string` | | +| `source` | `string \| null` | | +| `status` | `"available" \| "pending"` | | +| `type` | `string` | | + + + + +### Payment Intents + +#### Payment Intents List + +Returns a list of PaymentIntents. The payment intents are returned sorted by creation date, with the most recent payment intents appearing first. + +**Python SDK** + +```python +stripe.payment_intents.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "payment_intents", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `created` | `object` | No | Only return payment intents that were created during the given date interval. | +| `created.gt` | `integer` | No | Minimum value to filter by (exclusive) | +| `created.gte` | `integer` | No | Minimum value to filter by (inclusive) | +| `created.lt` | `integer` | No | Maximum value to filter by (exclusive) | +| `created.lte` | `integer` | No | Maximum value to filter by (inclusive) | +| `customer` | `string` | No | Only return payment intents for the customer specified by this customer ID | +| `customer_account` | `string` | No | Only return payment intents for the account specified by this account ID | +| `ending_before` | `string` | No | A cursor for use in pagination. ending_before is an object ID that defines your place in the list. | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `starting_after` | `string` | No | A cursor for use in pagination. starting_after is an object ID that defines your place in the list. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"payment_intent"` | | +| `amount` | `integer` | | +| `amount_capturable` | `integer` | | +| `amount_received` | `integer` | | +| `application` | `string \| null` | | +| `application_fee_amount` | `integer \| null` | | +| `capture_method` | `"automatic" \| "automatic_async" \| "manual"` | | +| `client_secret` | `string \| null` | | +| `confirmation_method` | `"automatic" \| "manual"` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `customer` | `string \| null` | | +| `description` | `string \| null` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `payment_method` | `string \| null` | | +| `payment_method_types` | `array` | | +| `status` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `has_more` | `boolean` | | + +
+ +#### Payment Intents Get + +Retrieves the details of a PaymentIntent that has previously been created. + +**Python SDK** + +```python +stripe.payment_intents.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "payment_intents", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | The ID of the payment intent | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"payment_intent"` | | +| `amount` | `integer` | | +| `amount_capturable` | `integer` | | +| `amount_received` | `integer` | | +| `application` | `string \| null` | | +| `application_fee_amount` | `integer \| null` | | +| `capture_method` | `"automatic" \| "automatic_async" \| "manual"` | | +| `client_secret` | `string \| null` | | +| `confirmation_method` | `"automatic" \| "manual"` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `customer` | `string \| null` | | +| `description` | `string \| null` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `payment_method` | `string \| null` | | +| `payment_method_types` | `array` | | +| `status` | `string` | | + + +
+ +#### Payment Intents Search + +Search for payment intents using Stripe's Search Query Language. + +**Python SDK** + +```python +stripe.payment_intents.search( + query="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "payment_intents", + "action": "search", + "params": { + "query": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `query` | `string` | Yes | The search query string using Stripe's Search Query Language | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `page` | `string` | No | A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"payment_intent"` | | +| `amount` | `integer` | | +| `amount_capturable` | `integer` | | +| `amount_received` | `integer` | | +| `application` | `string \| null` | | +| `application_fee_amount` | `integer \| null` | | +| `capture_method` | `"automatic" \| "automatic_async" \| "manual"` | | +| `client_secret` | `string \| null` | | +| `confirmation_method` | `"automatic" \| "manual"` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `customer` | `string \| null` | | +| `description` | `string \| null` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `payment_method` | `string \| null` | | +| `payment_method_types` | `array` | | +| `status` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `has_more` | `boolean` | | + +
+ +### Disputes + +#### Disputes List + +Returns a list of your disputes. The disputes are returned sorted by creation date, with the most recent disputes appearing first. + +**Python SDK** + +```python +stripe.disputes.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "disputes", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `charge` | `string` | No | Only return disputes associated to the charge specified by this charge ID | +| `created` | `object` | No | Only return disputes that were created during the given date interval. | +| `created.gt` | `integer` | No | Minimum value to filter by (exclusive) | +| `created.gte` | `integer` | No | Minimum value to filter by (inclusive) | +| `created.lt` | `integer` | No | Maximum value to filter by (exclusive) | +| `created.lte` | `integer` | No | Maximum value to filter by (inclusive) | +| `ending_before` | `string` | No | A cursor for use in pagination. ending_before is an object ID that defines your place in the list. | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `payment_intent` | `string` | No | Only return disputes associated to the PaymentIntent specified by this PaymentIntent ID | +| `starting_after` | `string` | No | A cursor for use in pagination. starting_after is an object ID that defines your place in the list. | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"dispute"` | | +| `amount` | `integer` | | +| `balance_transactions` | `array` | | +| `charge` | `string` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `enhanced_eligibility_types` | `array` | | +| `evidence` | `object` | | +| `evidence_details` | `object` | | +| `is_charge_refundable` | `boolean` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `payment_intent` | `string \| null` | | +| `payment_method_details` | `object \| null` | | +| `reason` | `string` | | +| `status` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `has_more` | `boolean` | | + + + +#### Disputes Get + +Retrieves the dispute with the given ID. + +**Python SDK** + +```python +stripe.disputes.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "disputes", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | The ID of the dispute | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"dispute"` | | +| `amount` | `integer` | | +| `balance_transactions` | `array` | | +| `charge` | `string` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `enhanced_eligibility_types` | `array` | | +| `evidence` | `object` | | +| `evidence_details` | `object` | | +| `is_charge_refundable` | `boolean` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `payment_intent` | `string \| null` | | +| `payment_method_details` | `object \| null` | | +| `reason` | `string` | | +| `status` | `string` | | + + + + +### Payouts + +#### Payouts List + +Returns a list of existing payouts sent to third-party bank accounts or payouts that Stripe sent to you. The payouts return in sorted order, with the most recently created payouts appearing first. + +**Python SDK** + +```python +stripe.payouts.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "payouts", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `arrival_date` | `object` | No | Filter payouts by expected arrival date range. | +| `arrival_date.gt` | `integer` | No | Minimum value to filter by (exclusive) | +| `arrival_date.gte` | `integer` | No | Minimum value to filter by (inclusive) | +| `arrival_date.lt` | `integer` | No | Maximum value to filter by (exclusive) | +| `arrival_date.lte` | `integer` | No | Maximum value to filter by (inclusive) | +| `created` | `object` | No | Only return payouts that were created during the given date interval. | +| `created.gt` | `integer` | No | Minimum value to filter by (exclusive) | +| `created.gte` | `integer` | No | Minimum value to filter by (inclusive) | +| `created.lt` | `integer` | No | Maximum value to filter by (exclusive) | +| `created.lte` | `integer` | No | Maximum value to filter by (inclusive) | +| `destination` | `string` | No | The ID of the external account the payout was sent to. | +| `ending_before` | `string` | No | A cursor for use in pagination. ending_before is an object ID that defines your place in the list. | +| `limit` | `integer` | No | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. | +| `starting_after` | `string` | No | A cursor for use in pagination. starting_after is an object ID that defines your place in the list. | +| `status` | `"pending" \| "paid" \| "failed" \| "canceled"` | No | Only return payouts that have the given status | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"payout"` | | +| `amount` | `integer` | | +| `application_fee` | `string \| null` | | +| `application_fee_amount` | `integer \| null` | | +| `arrival_date` | `integer` | | +| `automatic` | `boolean` | | +| `balance_transaction` | `string \| null` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `description` | `string \| null` | | +| `destination` | `string \| null` | | +| `failure_balance_transaction` | `string \| null` | | +| `failure_code` | `string \| null` | | +| `failure_message` | `string \| null` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `method` | `"standard" \| "instant"` | | +| `original_payout` | `string \| null` | | +| `payout_method` | `string \| null` | | +| `reconciliation_status` | `string` | | +| `reversed_by` | `string \| null` | | +| `source_balance` | `string \| null` | | +| `source_type` | `string` | | +| `statement_descriptor` | `string \| null` | | +| `status` | `string` | | +| `trace_id` | `object \| null` | | +| `type` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `has_more` | `boolean` | | + +
+ +#### Payouts Get + +Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list, and Stripe will return the corresponding payout information. + +**Python SDK** + +```python +stripe.payouts.get( + id="" +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "payouts", + "action": "get", + "params": { + "id": "" + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `string` | Yes | The ID of the payout | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `string` | | +| `object` | `"payout"` | | +| `amount` | `integer` | | +| `application_fee` | `string \| null` | | +| `application_fee_amount` | `integer \| null` | | +| `arrival_date` | `integer` | | +| `automatic` | `boolean` | | +| `balance_transaction` | `string \| null` | | +| `created` | `integer` | | +| `currency` | `string` | | +| `description` | `string \| null` | | +| `destination` | `string \| null` | | +| `failure_balance_transaction` | `string \| null` | | +| `failure_code` | `string \| null` | | +| `failure_message` | `string \| null` | | +| `livemode` | `boolean` | | +| `metadata` | `object` | | +| `method` | `"standard" \| "instant"` | | +| `original_payout` | `string \| null` | | +| `payout_method` | `string \| null` | | +| `reconciliation_status` | `string` | | +| `reversed_by` | `string \| null` | | +| `source_balance` | `string \| null` | | +| `source_type` | `string` | | +| `statement_descriptor` | `string \| null` | | +| `status` | `string` | | +| `trace_id` | `object \| null` | | +| `type` | `string` | | + + +
+ + + +## Authentication + +The Stripe connector supports the following authentication methods: + + +### API Key Authentication + +| Field Name | Type | Required | Description | +|------------|------|----------|-------------| +| `api_key` | `str` | Yes | Your Stripe API Key (starts with sk_test_ or sk_live_) | + +#### Example + +**Python SDK** + +```python +StripeConnector( + auth_config=StripeAuthConfig( + api_key="" + ) +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "connector_definition_id": "e094cb9a-26de-4645-8761-65c0c425d1de", + "auth_config": { + "api_key": "" + }, + "name": "My Stripe Connector" +}' +``` + diff --git a/docs/ai-agents/connectors/zendesk-support/CHANGELOG.md b/docs/ai-agents/connectors/zendesk-support/CHANGELOG.md new file mode 100644 index 00000000000..9a8ab8597a8 --- /dev/null +++ b/docs/ai-agents/connectors/zendesk-support/CHANGELOG.md @@ -0,0 +1,146 @@ +# Changelog + +## [0.18.11] - 2025-12-13 +- Updated connector definition (YAML version 0.1.3) +- Source commit: 1ab72bd8 +- SDK version: 0.1.0 + +## [0.18.10] - 2025-12-12 +- Updated connector definition (YAML version 0.1.3) +- Source commit: 4d366cb5 +- SDK version: 0.1.0 + +## [0.18.9] - 2025-12-12 +- Updated connector definition (YAML version 0.1.2) +- Source commit: 89d7172b +- SDK version: 0.1.0 + +## [0.18.8] - 2025-12-12 +- Updated connector definition (YAML version 0.1.1) +- Source commit: dc79dc8b +- SDK version: 0.1.0 + +## [0.18.7] - 2025-12-12 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 9f7f8a98 +- SDK version: 0.1.0 + +## [0.18.6] - 2025-12-11 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 8c06aa10 +- SDK version: 0.1.0 + +## [0.18.5] - 2025-12-11 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 11427ac3 +- SDK version: 0.1.0 + +## [0.18.4] - 2025-12-11 +- Updated connector definition (YAML version 0.1.1) +- Source commit: bdd5df6d +- SDK version: 0.1.0 + +## [0.18.3] - 2025-12-11 +- Updated connector definition (YAML version 0.1.1) +- Source commit: f2497f71 +- SDK version: 0.1.0 + +## [0.18.2] - 2025-12-11 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 7d738be5 +- SDK version: 0.1.0 + +## [0.18.1] - 2025-12-10 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 76636830 +- SDK version: 0.1.0 + +## [0.18.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.1) +- Source commit: f2ad5029 +- SDK version: 0.1.0 + +## [0.17.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 139b0b0d +- SDK version: 0.1.0 + +## [0.16.0] - 2025-12-08 +- Updated connector definition (YAML version 0.1.1) +- Source commit: 60b6c91f +- SDK version: 0.1.0 + +## [0.15.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: e96bed3d +- SDK version: 0.1.0 + +## [0.14.0] - 2025-12-05 +- Updated connector definition (YAML version 0.1.0) +- Source commit: ed697b90 +- SDK version: 0.1.0 + +## [0.13.0] - 2025-12-05 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 20618410 +- SDK version: 0.1.0 + +## [0.12.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 4a01e446 +- SDK version: 0.1.0 + +## [0.11.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 5ec76dde +- SDK version: 0.1.0 + +## [0.10.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: df32a458 +- SDK version: 0.1.0 + +## [0.9.0] - 2025-12-04 +- Updated connector definition (YAML version 1.0.0) +- Source commit: a506b369 +- SDK version: 0.1.0 + +## [0.8.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 92a39ab5 +- SDK version: 0.1.0 + +## [0.7.0] - 2025-12-03 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 0ce38253 +- SDK version: 0.1.0 + +## [0.6.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: c8e326d9 +- SDK version: 0.1.0 + +## [0.5.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: ad0b961b +- SDK version: 0.1.0 + +## [0.4.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 7153780a +- SDK version: 0.1.0 + +## [0.3.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 01f71cad +- SDK version: 0.1.0 + +## [0.2.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: 4c17f060 +- SDK version: 0.1.0 + +## [0.1.0] - 2025-12-02 +- Updated connector definition (YAML version 1.0.0) +- Source commit: cd499acd +- SDK version: 0.1.0 diff --git a/docs/ai-agents/connectors/zendesk-support/README.md b/docs/ai-agents/connectors/zendesk-support/README.md new file mode 100644 index 00000000000..2305b958e03 --- /dev/null +++ b/docs/ai-agents/connectors/zendesk-support/README.md @@ -0,0 +1,87 @@ +# Airbyte Zendesk-Support AI Connector + +Zendesk Support is a customer service platform that helps businesses manage support +tickets, customer interactions, and help center content. This connector provides +access to tickets, users, organizations, groups, comments, attachments, automations, +triggers, macros, views, satisfaction ratings, SLA policies, and help center articles +for customer support analytics and service performance insights. + + +## Example Questions + +- Show me the tickets assigned to me last week +- What are the top 5 support issues our organization has faced this month? +- List all unresolved tickets for [customerX] +- Analyze the satisfaction ratings for our support team in the last 30 days +- Compare ticket resolution times across different support groups +- Show me the details of recent tickets tagged with [specific tag] +- Identify the most common ticket fields used in our support workflow +- Summarize the performance of our SLA policies this quarter + +## Unsupported Questions + +- Create a new support ticket for [customerX] +- Update the priority of this ticket +- Assign this ticket to [teamMember] +- Delete these old support tickets +- Send an automatic response to [customerX] + +## Installation + +```bash +uv pip install airbyte-ai-zendesk-support +``` + +## Usage + +```python +from airbyte_ai_zendesk_support import ZendeskSupportConnector, ZendeskSupportAuthConfig + +connector = ZendeskSupportConnector( + auth_config=ZendeskSupportAuthConfig( + access_token="...", + refresh_token="..." + ) +) +result = connector.tickets.list() +``` + +## Documentation + +| Entity | Actions | +|--------|---------| +| Tickets | [List](./REFERENCE.md#tickets-list), [Get](./REFERENCE.md#tickets-get) | +| Users | [List](./REFERENCE.md#users-list), [Get](./REFERENCE.md#users-get) | +| Organizations | [List](./REFERENCE.md#organizations-list), [Get](./REFERENCE.md#organizations-get) | +| Groups | [List](./REFERENCE.md#groups-list), [Get](./REFERENCE.md#groups-get) | +| Ticket Comments | [List](./REFERENCE.md#ticket-comments-list) | +| Attachments | [Get](./REFERENCE.md#attachments-get), [Download](./REFERENCE.md#attachments-download) | +| Ticket Audits | [List](./REFERENCE.md#ticket-audits-list), [List](./REFERENCE.md#ticket-audits-list) | +| Ticket Metrics | [List](./REFERENCE.md#ticket-metrics-list) | +| Ticket Fields | [List](./REFERENCE.md#ticket-fields-list), [Get](./REFERENCE.md#ticket-fields-get) | +| Brands | [List](./REFERENCE.md#brands-list), [Get](./REFERENCE.md#brands-get) | +| Views | [List](./REFERENCE.md#views-list), [Get](./REFERENCE.md#views-get) | +| Macros | [List](./REFERENCE.md#macros-list), [Get](./REFERENCE.md#macros-get) | +| Triggers | [List](./REFERENCE.md#triggers-list), [Get](./REFERENCE.md#triggers-get) | +| Automations | [List](./REFERENCE.md#automations-list), [Get](./REFERENCE.md#automations-get) | +| Tags | [List](./REFERENCE.md#tags-list) | +| Satisfaction Ratings | [List](./REFERENCE.md#satisfaction-ratings-list), [Get](./REFERENCE.md#satisfaction-ratings-get) | +| Group Memberships | [List](./REFERENCE.md#group-memberships-list) | +| Organization Memberships | [List](./REFERENCE.md#organization-memberships-list) | +| Sla Policies | [List](./REFERENCE.md#sla-policies-list), [Get](./REFERENCE.md#sla-policies-get) | +| Ticket Forms | [List](./REFERENCE.md#ticket-forms-list), [Get](./REFERENCE.md#ticket-forms-get) | +| Articles | [List](./REFERENCE.md#articles-list), [Get](./REFERENCE.md#articles-get) | +| Article Attachments | [List](./REFERENCE.md#article-attachments-list), [Get](./REFERENCE.md#article-attachments-get), [Download](./REFERENCE.md#article-attachments-download) | + + +For detailed documentation on available actions and parameters, see [REFERENCE.md](./REFERENCE.md). + +For the service's official API docs, see [Zendesk-Support API Reference](https://developer.zendesk.com/api-reference/ticketing/introduction/). + +## Version Information + +**Package Version:** 0.18.11 + +**Connector Version:** 0.1.3 + +**Generated with connector-sdk:** 1ab72bd8e7249872a4cf66327dd1a0bf68905acb \ No newline at end of file diff --git a/docs/ai-agents/connectors/zendesk-support/REFERENCE.md b/docs/ai-agents/connectors/zendesk-support/REFERENCE.md new file mode 100644 index 00000000000..8aebaa41e4e --- /dev/null +++ b/docs/ai-agents/connectors/zendesk-support/REFERENCE.md @@ -0,0 +1,2689 @@ +# Zendesk-Support + +## Supported Entities and Actions + +| Entity | Actions | +|--------|---------| +| Tickets | [List](#tickets-list), [Get](#tickets-get) | +| Users | [List](#users-list), [Get](#users-get) | +| Organizations | [List](#organizations-list), [Get](#organizations-get) | +| Groups | [List](#groups-list), [Get](#groups-get) | +| Ticket Comments | [List](#ticket-comments-list) | +| Attachments | [Get](#attachments-get), [Download](#attachments-download) | +| Ticket Audits | [List](#ticket-audits-list), [List](#ticket-audits-list) | +| Ticket Metrics | [List](#ticket-metrics-list) | +| Ticket Fields | [List](#ticket-fields-list), [Get](#ticket-fields-get) | +| Brands | [List](#brands-list), [Get](#brands-get) | +| Views | [List](#views-list), [Get](#views-get) | +| Macros | [List](#macros-list), [Get](#macros-get) | +| Triggers | [List](#triggers-list), [Get](#triggers-get) | +| Automations | [List](#automations-list), [Get](#automations-get) | +| Tags | [List](#tags-list) | +| Satisfaction Ratings | [List](#satisfaction-ratings-list), [Get](#satisfaction-ratings-get) | +| Group Memberships | [List](#group-memberships-list) | +| Organization Memberships | [List](#organization-memberships-list) | +| Sla Policies | [List](#sla-policies-list), [Get](#sla-policies-get) | +| Ticket Forms | [List](#ticket-forms-list), [Get](#ticket-forms-get) | +| Articles | [List](#articles-list), [Get](#articles-get) | +| Article Attachments | [List](#article-attachments-list), [Get](#article-attachments-get), [Download](#article-attachments-download) | + +### Tickets + +#### Tickets List + +Returns a list of all tickets in your account + +**Python SDK** + +```python +zendesk_support.tickets.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "tickets", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | +| `external_id` | `string` | No | Lists tickets by external id | +| `sort` | `"id" \| "status" \| "updated_at" \| "-id" \| "-status" \| "-updated_at"` | No | Sort order | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `external_id` | `string \| null` | | +| `type` | `string \| null` | | +| `subject` | `string \| null` | | +| `raw_subject` | `string \| null` | | +| `description` | `string` | | +| `priority` | `string \| null` | | +| `status` | `"new" \| "open" \| "pending" \| "hold" \| "solved" \| "closed"` | | +| `recipient` | `string \| null` | | +| `requester_id` | `integer` | | +| `submitter_id` | `integer` | | +| `assignee_id` | `integer \| null` | | +| `organization_id` | `integer \| null` | | +| `group_id` | `integer \| null` | | +| `collaborator_ids` | `array` | | +| `follower_ids` | `array` | | +| `email_cc_ids` | `array` | | +| `forum_topic_id` | `integer \| null` | | +| `problem_id` | `integer \| null` | | +| `has_incidents` | `boolean` | | +| `is_public` | `boolean` | | +| `due_at` | `string \| null` | | +| `tags` | `array` | | +| `custom_fields` | `array` | | +| `satisfaction_rating` | `object` | | +| `sharing_agreement_ids` | `array` | | +| `custom_status_id` | `integer` | | +| `fields` | `array` | | +| `followup_ids` | `array` | | +| `ticket_form_id` | `integer` | | +| `brand_id` | `integer` | | +| `allow_channelback` | `boolean` | | +| `allow_attachments` | `boolean` | | +| `from_messaging_channel` | `boolean` | | +| `generated_timestamp` | `integer` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | +| `via` | `object` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + + + +#### Tickets Get + +Returns a ticket by its ID + +**Python SDK** + +```python +zendesk_support.tickets.get( + ticket_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "tickets", + "action": "get", + "params": { + "ticket_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `ticket_id` | `integer` | Yes | The ID of the ticket | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `external_id` | `string \| null` | | +| `type` | `string \| null` | | +| `subject` | `string \| null` | | +| `raw_subject` | `string \| null` | | +| `description` | `string` | | +| `priority` | `string \| null` | | +| `status` | `"new" \| "open" \| "pending" \| "hold" \| "solved" \| "closed"` | | +| `recipient` | `string \| null` | | +| `requester_id` | `integer` | | +| `submitter_id` | `integer` | | +| `assignee_id` | `integer \| null` | | +| `organization_id` | `integer \| null` | | +| `group_id` | `integer \| null` | | +| `collaborator_ids` | `array` | | +| `follower_ids` | `array` | | +| `email_cc_ids` | `array` | | +| `forum_topic_id` | `integer \| null` | | +| `problem_id` | `integer \| null` | | +| `has_incidents` | `boolean` | | +| `is_public` | `boolean` | | +| `due_at` | `string \| null` | | +| `tags` | `array` | | +| `custom_fields` | `array` | | +| `satisfaction_rating` | `object` | | +| `sharing_agreement_ids` | `array` | | +| `custom_status_id` | `integer` | | +| `fields` | `array` | | +| `followup_ids` | `array` | | +| `ticket_form_id` | `integer` | | +| `brand_id` | `integer` | | +| `allow_channelback` | `boolean` | | +| `allow_attachments` | `boolean` | | +| `from_messaging_channel` | `boolean` | | +| `generated_timestamp` | `integer` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | +| `via` | `object` | | + + + + +### Users + +#### Users List + +Returns a list of all users in your account + +**Python SDK** + +```python +zendesk_support.users.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | +| `role` | `"end-user" \| "agent" \| "admin"` | No | Filter by role | +| `external_id` | `string` | No | Filter by external id | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `name` | `string` | | +| `email` | `string \| null` | | +| `alias` | `string \| null` | | +| `phone` | `string \| null` | | +| `time_zone` | `string` | | +| `locale` | `string` | | +| `locale_id` | `integer` | | +| `organization_id` | `integer \| null` | | +| `role` | `"end-user" \| "agent" \| "admin"` | | +| `role_type` | `integer \| null` | | +| `custom_role_id` | `integer \| null` | | +| `external_id` | `string \| null` | | +| `tags` | `array` | | +| `active` | `boolean` | | +| `verified` | `boolean` | | +| `shared` | `boolean` | | +| `shared_agent` | `boolean` | | +| `shared_phone_number` | `boolean \| null` | | +| `signature` | `string \| null` | | +| `details` | `string \| null` | | +| `notes` | `string \| null` | | +| `suspended` | `boolean` | | +| `restricted_agent` | `boolean` | | +| `only_private_comments` | `boolean` | | +| `moderator` | `boolean` | | +| `ticket_restriction` | `string \| null` | | +| `default_group_id` | `integer \| null` | | +| `report_csv` | `boolean` | | +| `photo` | `object \| null` | | +| `user_fields` | `object` | | +| `last_login_at` | `string \| null` | | +| `two_factor_auth_enabled` | `boolean \| null` | | +| `iana_time_zone` | `string` | | +| `permanently_deleted` | `boolean` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + +
+ +#### Users Get + +Returns a user by their ID + +**Python SDK** + +```python +zendesk_support.users.get( + user_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "users", + "action": "get", + "params": { + "user_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `user_id` | `integer` | Yes | The ID of the user | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `name` | `string` | | +| `email` | `string \| null` | | +| `alias` | `string \| null` | | +| `phone` | `string \| null` | | +| `time_zone` | `string` | | +| `locale` | `string` | | +| `locale_id` | `integer` | | +| `organization_id` | `integer \| null` | | +| `role` | `"end-user" \| "agent" \| "admin"` | | +| `role_type` | `integer \| null` | | +| `custom_role_id` | `integer \| null` | | +| `external_id` | `string \| null` | | +| `tags` | `array` | | +| `active` | `boolean` | | +| `verified` | `boolean` | | +| `shared` | `boolean` | | +| `shared_agent` | `boolean` | | +| `shared_phone_number` | `boolean \| null` | | +| `signature` | `string \| null` | | +| `details` | `string \| null` | | +| `notes` | `string \| null` | | +| `suspended` | `boolean` | | +| `restricted_agent` | `boolean` | | +| `only_private_comments` | `boolean` | | +| `moderator` | `boolean` | | +| `ticket_restriction` | `string \| null` | | +| `default_group_id` | `integer \| null` | | +| `report_csv` | `boolean` | | +| `photo` | `object \| null` | | +| `user_fields` | `object` | | +| `last_login_at` | `string \| null` | | +| `two_factor_auth_enabled` | `boolean \| null` | | +| `iana_time_zone` | `string` | | +| `permanently_deleted` | `boolean` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +
+ +### Organizations + +#### Organizations List + +Returns a list of all organizations in your account + +**Python SDK** + +```python +zendesk_support.organizations.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "organizations", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `name` | `string` | | +| `details` | `string \| null` | | +| `notes` | `string \| null` | | +| `group_id` | `integer \| null` | | +| `shared_tickets` | `boolean` | | +| `shared_comments` | `boolean` | | +| `external_id` | `string \| null` | | +| `domain_names` | `array` | | +| `tags` | `array` | | +| `organization_fields` | `object` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + +
+ +#### Organizations Get + +Returns an organization by its ID + +**Python SDK** + +```python +zendesk_support.organizations.get( + organization_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "organizations", + "action": "get", + "params": { + "organization_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `organization_id` | `integer` | Yes | The ID of the organization | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `name` | `string` | | +| `details` | `string \| null` | | +| `notes` | `string \| null` | | +| `group_id` | `integer \| null` | | +| `shared_tickets` | `boolean` | | +| `shared_comments` | `boolean` | | +| `external_id` | `string \| null` | | +| `domain_names` | `array` | | +| `tags` | `array` | | +| `organization_fields` | `object` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +
+ +### Groups + +#### Groups List + +Returns a list of all groups in your account + +**Python SDK** + +```python +zendesk_support.groups.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "groups", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | +| `exclude_deleted` | `boolean` | No | Exclude deleted groups | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `name` | `string` | | +| `description` | `string` | | +| `default` | `boolean` | | +| `deleted` | `boolean` | | +| `is_public` | `boolean` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + +
+ +#### Groups Get + +Returns a group by its ID + +**Python SDK** + +```python +zendesk_support.groups.get( + group_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "groups", + "action": "get", + "params": { + "group_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `group_id` | `integer` | Yes | The ID of the group | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `name` | `string` | | +| `description` | `string` | | +| `default` | `boolean` | | +| `deleted` | `boolean` | | +| `is_public` | `boolean` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +
+ +### Ticket Comments + +#### Ticket Comments List + +Returns a list of comments for a specific ticket + +**Python SDK** + +```python +zendesk_support.ticket_comments.list( + ticket_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "ticket_comments", + "action": "list", + "params": { + "ticket_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `ticket_id` | `integer` | Yes | The ID of the ticket | +| `page` | `integer` | No | Page number for pagination | +| `include_inline_images` | `boolean` | No | Include inline images in the response | +| `sort` | `"created_at" \| "-created_at"` | No | Sort order | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `type` | `string` | | +| `body` | `string` | | +| `html_body` | `string` | | +| `plain_body` | `string` | | +| `public` | `boolean` | | +| `author_id` | `integer` | | +| `attachments` | `array` | | +| `audit_id` | `integer` | | +| `via` | `object` | | +| `metadata` | `object` | | +| `created_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + + + +### Attachments + +#### Attachments Get + +Returns an attachment by its ID + +**Python SDK** + +```python +zendesk_support.attachments.get( + attachment_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "attachments", + "action": "get", + "params": { + "attachment_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `attachment_id` | `integer` | Yes | The ID of the attachment | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `file_name` | `string` | | +| `content_url` | `string` | | +| `mapped_content_url` | `string` | | +| `content_type` | `string` | | +| `size` | `integer` | | +| `width` | `integer \| null` | | +| `height` | `integer \| null` | | +| `inline` | `boolean` | | +| `deleted` | `boolean` | | +| `malware_access_override` | `boolean` | | +| `malware_scan_result` | `string` | | +| `url` | `string` | | +| `thumbnails` | `array` | | + + + + +#### Attachments Download + +Downloads the file content of a ticket attachment + +**Python SDK** + +```python +async for chunk in zendesk_support.attachments.download( attachment_id=0):# Process each chunk (e.g., write to file) + file.write(chunk) +``` + +> **Note**: Download operations return an async iterator of bytes chunks for memory-efficient streaming. Use `async for` to process chunks as they arrive. + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "attachments", + "action": "download", + "params": { + "attachment_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `attachment_id` | `integer` | Yes | The ID of the attachment | +| `range_header` | `string` | No | Optional Range header for partial downloads (e.g., 'bytes=0-99') | + + +### Ticket Audits + +#### Ticket Audits List + +Returns a list of all ticket audits + +**Python SDK** + +```python +zendesk_support.ticket_audits.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "ticket_audits", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `ticket_id` | `integer` | | +| `author_id` | `integer` | | +| `metadata` | `object` | | +| `via` | `object` | | +| `events` | `array` | | +| `created_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + + + +#### Ticket Audits List + +Returns a list of audits for a specific ticket + +**Python SDK** + +```python +zendesk_support.ticket_audits.list( + ticket_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "ticket_audits", + "action": "list", + "params": { + "ticket_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `ticket_id` | `integer` | Yes | The ID of the ticket | +| `page` | `integer` | No | Page number for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `ticket_id` | `integer` | | +| `author_id` | `integer` | | +| `metadata` | `object` | | +| `via` | `object` | | +| `events` | `array` | | +| `created_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + + + +### Ticket Metrics + +#### Ticket Metrics List + +Returns a list of all ticket metrics + +**Python SDK** + +```python +zendesk_support.ticket_metrics.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "ticket_metrics", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `ticket_id` | `integer` | | +| `group_stations` | `integer` | | +| `assignee_stations` | `integer` | | +| `reopens` | `integer` | | +| `replies` | `integer` | | +| `assignee_updated_at` | `string \| null` | | +| `requester_updated_at` | `string` | | +| `status_updated_at` | `string` | | +| `initially_assigned_at` | `string \| null` | | +| `assigned_at` | `string \| null` | | +| `solved_at` | `string \| null` | | +| `latest_comment_added_at` | `string` | | +| `reply_time_in_minutes` | `object` | | +| `first_resolution_time_in_minutes` | `object` | | +| `full_resolution_time_in_minutes` | `object` | | +| `agent_wait_time_in_minutes` | `object` | | +| `requester_wait_time_in_minutes` | `object` | | +| `on_hold_time_in_minutes` | `object` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + +
+ +### Ticket Fields + +#### Ticket Fields List + +Returns a list of all ticket fields + +**Python SDK** + +```python +zendesk_support.ticket_fields.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "ticket_fields", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | +| `locale` | `string` | No | Locale for the results | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `type` | `string` | | +| `title` | `string` | | +| `raw_title` | `string` | | +| `description` | `string` | | +| `raw_description` | `string` | | +| `position` | `integer` | | +| `active` | `boolean` | | +| `required` | `boolean` | | +| `collapsed_for_agents` | `boolean` | | +| `regexp_for_validation` | `string \| null` | | +| `title_in_portal` | `string` | | +| `raw_title_in_portal` | `string` | | +| `visible_in_portal` | `boolean` | | +| `editable_in_portal` | `boolean` | | +| `required_in_portal` | `boolean` | | +| `tag` | `string \| null` | | +| `custom_field_options` | `array` | | +| `system_field_options` | `array` | | +| `sub_type_id` | `integer` | | +| `removable` | `boolean` | | +| `agent_description` | `string \| null` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + + + +#### Ticket Fields Get + +Returns a ticket field by its ID + +**Python SDK** + +```python +zendesk_support.ticket_fields.get( + ticket_field_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "ticket_fields", + "action": "get", + "params": { + "ticket_field_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `ticket_field_id` | `integer` | Yes | The ID of the ticket field | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `type` | `string` | | +| `title` | `string` | | +| `raw_title` | `string` | | +| `description` | `string` | | +| `raw_description` | `string` | | +| `position` | `integer` | | +| `active` | `boolean` | | +| `required` | `boolean` | | +| `collapsed_for_agents` | `boolean` | | +| `regexp_for_validation` | `string \| null` | | +| `title_in_portal` | `string` | | +| `raw_title_in_portal` | `string` | | +| `visible_in_portal` | `boolean` | | +| `editable_in_portal` | `boolean` | | +| `required_in_portal` | `boolean` | | +| `tag` | `string \| null` | | +| `custom_field_options` | `array` | | +| `system_field_options` | `array` | | +| `sub_type_id` | `integer` | | +| `removable` | `boolean` | | +| `agent_description` | `string \| null` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + + + +### Brands + +#### Brands List + +Returns a list of all brands for the account + +**Python SDK** + +```python +zendesk_support.brands.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "brands", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `name` | `string` | | +| `brand_url` | `string` | | +| `subdomain` | `string` | | +| `host_mapping` | `string \| null` | | +| `has_help_center` | `boolean` | | +| `help_center_state` | `string` | | +| `active` | `boolean` | | +| `default` | `boolean` | | +| `is_deleted` | `boolean` | | +| `logo` | `object \| null` | | +| `ticket_form_ids` | `array` | | +| `signature_template` | `string` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + +
+ +#### Brands Get + +Returns a brand by its ID + +**Python SDK** + +```python +zendesk_support.brands.get( + brand_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "brands", + "action": "get", + "params": { + "brand_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `brand_id` | `integer` | Yes | The ID of the brand | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `name` | `string` | | +| `brand_url` | `string` | | +| `subdomain` | `string` | | +| `host_mapping` | `string \| null` | | +| `has_help_center` | `boolean` | | +| `help_center_state` | `string` | | +| `active` | `boolean` | | +| `default` | `boolean` | | +| `is_deleted` | `boolean` | | +| `logo` | `object \| null` | | +| `ticket_form_ids` | `array` | | +| `signature_template` | `string` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +
+ +### Views + +#### Views List + +Returns a list of all views for the account + +**Python SDK** + +```python +zendesk_support.views.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "views", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | +| `access` | `"personal" \| "shared" \| "account"` | No | Filter by access level | +| `active` | `boolean` | No | Filter by active status | +| `group_id` | `integer` | No | Filter by group ID | +| `sort_by` | `"alphabetical" \| "created_at" \| "updated_at" \| "position"` | No | Sort results | +| `sort_order` | `"asc" \| "desc"` | No | Sort order | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `title` | `string` | | +| `active` | `boolean` | | +| `position` | `integer` | | +| `description` | `string \| null` | | +| `execution` | `object` | | +| `conditions` | `object` | | +| `restriction` | `object \| null` | | +| `raw_title` | `string` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + +
+ +#### Views Get + +Returns a view by its ID + +**Python SDK** + +```python +zendesk_support.views.get( + view_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "views", + "action": "get", + "params": { + "view_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `view_id` | `integer` | Yes | The ID of the view | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `title` | `string` | | +| `active` | `boolean` | | +| `position` | `integer` | | +| `description` | `string \| null` | | +| `execution` | `object` | | +| `conditions` | `object` | | +| `restriction` | `object \| null` | | +| `raw_title` | `string` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +
+ +### Macros + +#### Macros List + +Returns a list of all macros for the account + +**Python SDK** + +```python +zendesk_support.macros.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "macros", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | +| `access` | `"personal" \| "shared" \| "account"` | No | Filter by access level | +| `active` | `boolean` | No | Filter by active status | +| `category` | `integer` | No | Filter by category | +| `group_id` | `integer` | No | Filter by group ID | +| `only_viewable` | `boolean` | No | Return only viewable macros | +| `sort_by` | `"alphabetical" \| "created_at" \| "updated_at" \| "position"` | No | Sort results | +| `sort_order` | `"asc" \| "desc"` | No | Sort order | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `title` | `string` | | +| `active` | `boolean` | | +| `position` | `integer` | | +| `description` | `string` | | +| `actions` | `array` | | +| `restriction` | `object \| null` | | +| `raw_title` | `string` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + + + +#### Macros Get + +Returns a macro by its ID + +**Python SDK** + +```python +zendesk_support.macros.get( + macro_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "macros", + "action": "get", + "params": { + "macro_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `macro_id` | `integer` | Yes | The ID of the macro | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `title` | `string` | | +| `active` | `boolean` | | +| `position` | `integer` | | +| `description` | `string` | | +| `actions` | `array` | | +| `restriction` | `object \| null` | | +| `raw_title` | `string` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + + + +### Triggers + +#### Triggers List + +Returns a list of all triggers for the account + +**Python SDK** + +```python +zendesk_support.triggers.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "triggers", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | +| `active` | `boolean` | No | Filter by active status | +| `category_id` | `string` | No | Filter by category ID | +| `sort` | `"alphabetical" \| "created_at" \| "updated_at" \| "position"` | No | Sort results | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `title` | `string` | | +| `active` | `boolean` | | +| `position` | `integer` | | +| `description` | `string \| null` | | +| `conditions` | `object` | | +| `actions` | `array` | | +| `raw_title` | `string` | | +| `category_id` | `string` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + + + +#### Triggers Get + +Returns a trigger by its ID + +**Python SDK** + +```python +zendesk_support.triggers.get( + trigger_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "triggers", + "action": "get", + "params": { + "trigger_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `trigger_id` | `integer` | Yes | The ID of the trigger | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `title` | `string` | | +| `active` | `boolean` | | +| `position` | `integer` | | +| `description` | `string \| null` | | +| `conditions` | `object` | | +| `actions` | `array` | | +| `raw_title` | `string` | | +| `category_id` | `string` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + + + +### Automations + +#### Automations List + +Returns a list of all automations for the account + +**Python SDK** + +```python +zendesk_support.automations.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "automations", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | +| `active` | `boolean` | No | Filter by active status | +| `sort` | `"alphabetical" \| "created_at" \| "updated_at" \| "position"` | No | Sort results | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `title` | `string` | | +| `active` | `boolean` | | +| `position` | `integer` | | +| `conditions` | `object` | | +| `actions` | `array` | | +| `raw_title` | `string` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + + + +#### Automations Get + +Returns an automation by its ID + +**Python SDK** + +```python +zendesk_support.automations.get( + automation_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "automations", + "action": "get", + "params": { + "automation_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `automation_id` | `integer` | Yes | The ID of the automation | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `title` | `string` | | +| `active` | `boolean` | | +| `position` | `integer` | | +| `conditions` | `object` | | +| `actions` | `array` | | +| `raw_title` | `string` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + + + +### Tags + +#### Tags List + +Returns a list of all tags used in the account + +**Python SDK** + +```python +zendesk_support.tags.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "tags", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `name` | `string` | | +| `count` | `integer` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + +
+ +### Satisfaction Ratings + +#### Satisfaction Ratings List + +Returns a list of all satisfaction ratings + +**Python SDK** + +```python +zendesk_support.satisfaction_ratings.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "satisfaction_ratings", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | +| `score` | `"offered" \| "unoffered" \| "received" \| "good" \| "bad"` | No | Filter by score | +| `start_time` | `integer` | No | Start time (Unix epoch) | +| `end_time` | `integer` | No | End time (Unix epoch) | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `assignee_id` | `integer \| null` | | +| `group_id` | `integer \| null` | | +| `requester_id` | `integer` | | +| `ticket_id` | `integer` | | +| `score` | `string` | | +| `comment` | `string \| null` | | +| `reason` | `string \| null` | | +| `reason_id` | `integer \| null` | | +| `reason_code` | `integer \| null` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + +
+ +#### Satisfaction Ratings Get + +Returns a satisfaction rating by its ID + +**Python SDK** + +```python +zendesk_support.satisfaction_ratings.get( + satisfaction_rating_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "satisfaction_ratings", + "action": "get", + "params": { + "satisfaction_rating_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `satisfaction_rating_id` | `integer` | Yes | The ID of the satisfaction rating | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `assignee_id` | `integer \| null` | | +| `group_id` | `integer \| null` | | +| `requester_id` | `integer` | | +| `ticket_id` | `integer` | | +| `score` | `string` | | +| `comment` | `string \| null` | | +| `reason` | `string \| null` | | +| `reason_id` | `integer \| null` | | +| `reason_code` | `integer \| null` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +
+ +### Group Memberships + +#### Group Memberships List + +Returns a list of all group memberships + +**Python SDK** + +```python +zendesk_support.group_memberships.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "group_memberships", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `user_id` | `integer` | | +| `group_id` | `integer` | | +| `default` | `boolean` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + +
+ +### Organization Memberships + +#### Organization Memberships List + +Returns a list of all organization memberships + +**Python SDK** + +```python +zendesk_support.organization_memberships.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "organization_memberships", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `user_id` | `integer` | | +| `organization_id` | `integer` | | +| `default` | `boolean` | | +| `organization_name` | `string` | | +| `view_tickets` | `boolean` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + +
+ +### Sla Policies + +#### Sla Policies List + +Returns a list of all SLA policies + +**Python SDK** + +```python +zendesk_support.sla_policies.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "sla_policies", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `title` | `string` | | +| `description` | `string` | | +| `position` | `integer` | | +| `filter` | `object` | | +| `policy_metrics` | `array` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + + + +#### Sla Policies Get + +Returns an SLA policy by its ID + +**Python SDK** + +```python +zendesk_support.sla_policies.get( + sla_policy_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "sla_policies", + "action": "get", + "params": { + "sla_policy_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `sla_policy_id` | `integer` | Yes | The ID of the SLA policy | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `title` | `string` | | +| `description` | `string` | | +| `position` | `integer` | | +| `filter` | `object` | | +| `policy_metrics` | `array` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + + + +### Ticket Forms + +#### Ticket Forms List + +Returns a list of all ticket forms for the account + +**Python SDK** + +```python +zendesk_support.ticket_forms.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "ticket_forms", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | +| `active` | `boolean` | No | Filter by active status | +| `end_user_visible` | `boolean` | No | Filter by end user visibility | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `name` | `string` | | +| `display_name` | `string` | | +| `raw_name` | `string` | | +| `raw_display_name` | `string` | | +| `position` | `integer` | | +| `active` | `boolean` | | +| `end_user_visible` | `boolean` | | +| `default` | `boolean` | | +| `in_all_brands` | `boolean` | | +| `restricted_brand_ids` | `array` | | +| `ticket_field_ids` | `array` | | +| `agent_conditions` | `array` | | +| `end_user_conditions` | `array` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + + + +#### Ticket Forms Get + +Returns a ticket form by its ID + +**Python SDK** + +```python +zendesk_support.ticket_forms.get( + ticket_form_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "ticket_forms", + "action": "get", + "params": { + "ticket_form_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `ticket_form_id` | `integer` | Yes | The ID of the ticket form | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `name` | `string` | | +| `display_name` | `string` | | +| `raw_name` | `string` | | +| `raw_display_name` | `string` | | +| `position` | `integer` | | +| `active` | `boolean` | | +| `end_user_visible` | `boolean` | | +| `default` | `boolean` | | +| `in_all_brands` | `boolean` | | +| `restricted_brand_ids` | `array` | | +| `ticket_field_ids` | `array` | | +| `agent_conditions` | `array` | | +| `end_user_conditions` | `array` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + + + +### Articles + +#### Articles List + +Returns a list of all articles in the Help Center + +**Python SDK** + +```python +zendesk_support.articles.list() +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "articles", + "action": "list" +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `page` | `integer` | No | Page number for pagination | +| `sort_by` | `"created_at" \| "updated_at" \| "title" \| "position"` | No | Sort articles by field | +| `sort_order` | `"asc" \| "desc"` | No | Sort order | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `html_url` | `string` | | +| `title` | `string` | | +| `body` | `string` | | +| `locale` | `string` | | +| `author_id` | `integer` | | +| `section_id` | `integer` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | +| `vote_sum` | `integer` | | +| `vote_count` | `integer` | | +| `label_names` | `array` | | +| `draft` | `boolean` | | +| `promoted` | `boolean` | | +| `position` | `integer` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + +
+ +#### Articles Get + +Retrieves the details of a specific article + +**Python SDK** + +```python +zendesk_support.articles.get( + id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "articles", + "action": "get", + "params": { + "id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `id` | `integer` | Yes | The unique ID of the article | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `html_url` | `string` | | +| `title` | `string` | | +| `body` | `string` | | +| `locale` | `string` | | +| `author_id` | `integer` | | +| `section_id` | `integer` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | +| `vote_sum` | `integer` | | +| `vote_count` | `integer` | | +| `label_names` | `array` | | +| `draft` | `boolean` | | +| `promoted` | `boolean` | | +| `position` | `integer` | | + + +
+ +### Article Attachments + +#### Article Attachments List + +Returns a list of all attachments for a specific article + +**Python SDK** + +```python +zendesk_support.article_attachments.list( + article_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "article_attachments", + "action": "list", + "params": { + "article_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `article_id` | `integer` | Yes | The unique ID of the article | +| `page` | `integer` | No | Page number for pagination | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `article_id` | `integer` | | +| `file_name` | `string` | | +| `content_type` | `string` | | +| `content_url` | `string` | | +| `size` | `integer` | | +| `inline` | `boolean` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +**Meta** + +| Field Name | Type | Description | +|------------|------|-------------| +| `next_page` | `string \| null` | | +| `previous_page` | `string \| null` | | +| `count` | `integer` | | + +
+ +#### Article Attachments Get + +Retrieves the metadata of a specific attachment for a specific article + +**Python SDK** + +```python +zendesk_support.article_attachments.get( + article_id=0, + attachment_id=0 +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "article_attachments", + "action": "get", + "params": { + "article_id": 0, + "attachment_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `article_id` | `integer` | Yes | The unique ID of the article | +| `attachment_id` | `integer` | Yes | The unique ID of the attachment | + + +
+Response Schema + +**Records** + +| Field Name | Type | Description | +|------------|------|-------------| +| `id` | `integer` | | +| `url` | `string` | | +| `article_id` | `integer` | | +| `file_name` | `string` | | +| `content_type` | `string` | | +| `content_url` | `string` | | +| `size` | `integer` | | +| `inline` | `boolean` | | +| `created_at` | `string` | | +| `updated_at` | `string` | | + + +
+ +#### Article Attachments Download + +Downloads the file content of a specific attachment + +**Python SDK** + +```python +async for chunk in zendesk_support.article_attachments.download( article_id=0, attachment_id=0):# Process each chunk (e.g., write to file) + file.write(chunk) +``` + +> **Note**: Download operations return an async iterator of bytes chunks for memory-efficient streaming. Use `async for` to process chunks as they arrive. + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances/{your_connector_instance_id}/execute' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "entity": "article_attachments", + "action": "download", + "params": { + "article_id": 0, + "attachment_id": 0 + } +}' +``` + + +**Params** + +| Parameter Name | Type | Required | Description | +|----------------|------|----------|-------------| +| `article_id` | `integer` | Yes | The unique ID of the article | +| `attachment_id` | `integer` | Yes | The unique ID of the attachment | +| `range_header` | `string` | No | Optional Range header for partial downloads (e.g., 'bytes=0-99') | + + + + +## Configuration + +The connector requires the following configuration variables: + +| Variable | Type | Required | Default | Description | +|----------|------|----------|---------|-------------| +| `subdomain` | `string` | Yes | your-subdomain | Your Zendesk subdomain | + +These variables are used to construct the base API URL. Pass them via the `config` parameter when initializing the connector. + + +## Authentication + +The Zendesk-Support connector supports the following authentication methods: + + +### OAuth 2.0 + +| Field Name | Type | Required | Description | +|------------|------|----------|-------------| +| `access_token` | `str` | Yes | OAuth 2.0 access token | +| `refresh_token` | `str` | No | OAuth 2.0 refresh token (optional) | + +#### Example + +**Python SDK** + +```python +ZendeskSupportConnector( + auth_config=ZendeskSupportAuthConfig( + access_token="", + refresh_token="" + ) +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "connector_definition_id": "79c1aa37-dae3-42ae-b333-d1c105477715", + "auth_config": { + "access_token": "", + "refresh_token": "" + }, + "name": "My Zendesk-Support Connector" +}' +``` + + +### API Token + +| Field Name | Type | Required | Description | +|------------|------|----------|-------------| +| `email` | `str` | Yes | Your Zendesk account email address | +| `api_token` | `str` | Yes | Your Zendesk API token from Admin Center | + +#### Example + +**Python SDK** + +```python +ZendeskSupportConnector( + auth_config=ZendeskSupportAuthConfig( + email="", + api_token="" + ) +) +``` + +**API** + +```bash +curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \ +--header 'Content-Type: application/json' \ +--header 'Authorization: Bearer {your_auth_token}' \ +--data '{ + "connector_definition_id": "79c1aa37-dae3-42ae-b333-d1c105477715", + "auth_config": { + "email": "", + "api_token": "" + }, + "name": "My Zendesk-Support Connector" +}' +``` + diff --git a/docs/ai-agents/quickstarts/readme.md b/docs/ai-agents/quickstarts/readme.md new file mode 100644 index 00000000000..1f770e1d41a --- /dev/null +++ b/docs/ai-agents/quickstarts/readme.md @@ -0,0 +1,11 @@ +--- +sidebar_position: 2 +--- + +import DocCardList from '@theme/DocCardList'; + +# Agent connectors quickstarts + +These tutorials get you started using Airbyte's [agent connectors](../connectors). + + diff --git a/docs/ai-agents/connectors/tutorial-mcp.md b/docs/ai-agents/quickstarts/tutorial-mcp.md similarity index 95% rename from docs/ai-agents/connectors/tutorial-mcp.md rename to docs/ai-agents/quickstarts/tutorial-mcp.md index ed217986084..704a9dcb19a 100644 --- a/docs/ai-agents/connectors/tutorial-mcp.md +++ b/docs/ai-agents/quickstarts/tutorial-mcp.md @@ -1,15 +1,20 @@ --- sidebar_label: "Connector MCP tutorial" +sidebar_position: 2 --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Get started with agent connectors: Connector MCP +# Agent connector tutorial: Connector MCP In this tutorial, you'll install and run Airbyte's connector MCP server locally, connect the MCP server to Claude Code or your preferred agent, and learn to use natural language to explore your data. This tutorial uses Stripe, but if you don't have a Stripe account, you can use one of Airbyte's other agent connectors. -The MCP server is quick and easy to set up, but it affords less control over how you use agent connectors compared to the Python SDK. Data goes directly from the API to your AI agent. +:::warning +The Connector MCP server is experimental. It's quick and easy to set up, but it affords less control over how you use agent connectors compared to the Python SDK. Data goes directly from the API to your AI agent. + +Feel free to try the MCP server, but it's better to use the [Python SDK](tutorial-python) to build a more robust agent. +::: ## Overview diff --git a/docs/ai-agents/connectors/tutorial-python.md b/docs/ai-agents/quickstarts/tutorial-python.md similarity index 94% rename from docs/ai-agents/connectors/tutorial-python.md rename to docs/ai-agents/quickstarts/tutorial-python.md index abbb0b9e9e3..32abfab4ca7 100644 --- a/docs/ai-agents/connectors/tutorial-python.md +++ b/docs/ai-agents/quickstarts/tutorial-python.md @@ -1,10 +1,11 @@ --- sidebar_label: "Python SDK tutorial" +sidebar_position: 1 --- -# Get started with agent connectors: Python SDK +# Agent connector tutorial: Python SDK -In this tutorial, you'll create a new Python project with `uv`, add a Pydantic AI agent, equip it to use one of Airbyte's agent connectors, and use natural language to explore your data. This tutorial uses GitHub, but if you don't have a GitHub account, you can use one of Airbyte's other agent connectors and perform different operations. +In this tutorial, you'll create a new Python project with uv, add a Pydantic AI agent, equip it to use one of Airbyte's agent connectors, and use natural language to explore your data. This tutorial uses GitHub, but if you don't have a GitHub account, you can use one of Airbyte's other agent connectors and perform different operations. Using the Python SDK is more time-consuming than the Connector MCP server, but affords you the most control over the context you send to your agent. @@ -134,7 +135,7 @@ connector = GithubConnector( ) ``` -### Create the agent +### Define the agent Create a Pydantic AI agent with a system prompt that describes its purpose: @@ -228,14 +229,14 @@ The agent has basic message history within each session, and you can ask followu If your agent fails to retrieve GitHub data, check the following: - **HTTP 401 errors**: Your `GITHUB_ACCESS_TOKEN` is invalid or expired. Generate a new token and update your `.env` file. -- **HTTP 403 errors**: Your token doesn't have the required scopes. Ensure your token has `repo` scope for accessing repository data. +- **HTTP 403 errors**: Your `GITHUB_ACCESS_TOKEN` doesn't have the required scopes. Ensure your token has `repo` scope for accessing repository data. - **OpenAI errors**: Verify your `OPENAI_API_KEY` is valid, has available credits, and won't exceed rate limits. ## Summary In this tutorial, you learned how to: -- Set up a new Python project with `uv` +- Set up a new Python project with uv - Add Pydantic AI and Airbyte's GitHub agent connector to your project - Configure environment variables and authentication - Add tools to your agent using the GitHub connector diff --git a/docs/platform/readme.md b/docs/platform/readme.md index 6f91540118c..af7aa42df6e 100644 --- a/docs/platform/readme.md +++ b/docs/platform/readme.md @@ -2,7 +2,7 @@ products: all --- -# Data replication platform +# Platform import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; @@ -46,7 +46,6 @@ Data replication _isn't_ ideal when you: - Are working with a small amount of data - Need to trigger side effects, like sending an email or closing a ticket -If data replication isn't what you're looking for, [Agent engine](/ai-agents) might be. ### Taxonomy of data movement @@ -78,7 +77,7 @@ Airbyte's data replication platform is available as a self-managed, hybrid, or f - + diff --git a/docusaurus/docusaurus.config.ts b/docusaurus/docusaurus.config.ts index cb2c2046d6c..75f05c2459d 100644 --- a/docusaurus/docusaurus.config.ts +++ b/docusaurus/docusaurus.config.ts @@ -395,7 +395,7 @@ const config: Config = { position: "left", docsPluginId: "platform", sidebarId: "platform", - label: "Data replication", + label: "Platform", }, { type: "docSidebar", diff --git a/docusaurus/src/pages/index.js b/docusaurus/src/pages/index.js index ac9ecfd9233..20453de1a39 100644 --- a/docusaurus/src/pages/index.js +++ b/docusaurus/src/pages/index.js @@ -85,7 +85,7 @@ export default function Home() { const navLinks = [ { - title: 'Data replication platform', + title: 'Platform', link: '/platform/', description: 'Use Airbyte\'s data replication platform to create connections, build custom connectors, and start syncing data in minutes.', icon: PlatformIcon, @@ -103,9 +103,9 @@ export default function Home() { icon: ReleaseNotesIcon, }, { - title: 'Agent engine', + title: 'AI agents', link: '/ai-agents/', - description: 'Use Airbyte\'s Agent engine to build intelligent data pipelines, explore your data, and work with it with help from AI.', + description: 'Equip your AI agents to explore and work with your data.', icon: AIAgentsIcon, }, { @@ -136,8 +136,7 @@ export default function Home() {

Airbyte is an open source data integration, activation, and agentic data platform. Use our data replication platform to consolidate data from hundreds of sources into your data warehouses, data lakes, and databases. - Then, move data into the operational tools where work happens, like CRMs, marketing platforms, and support systems. - Or, use our Agent engine to ask questions, explore, and update your data with AI agents. + Then, move data into the operational tools where work happens, like CRMs, marketing platforms, and support systems.