version: 2.0.0 type: DeclarativeSource check: type: CheckStream stream_names: - tags definitions: bearer_authenticator: type: BearerAuthenticator api_token: "{{ config['credentials']['access_token'] }}" basic_authenticator: type: BasicHttpAuthenticator username: "{{ config['credentials']['email'] + '/token' }}" password: "{{ config['credentials']['api_token'] }}" retriever: type: SimpleRetriever requester: type: HttpRequester url_base: https://{{ config['subdomain'] }}.zendesk.com/api/v2/ http_method: GET authenticator: type: SelectiveAuthenticator authenticator_selection_path: ["credentials", "credentials"] authenticators: oauth2.0: "#/definitions/bearer_authenticator" api_token: "#/definitions/basic_authenticator" error_handler: type: DefaultErrorHandler response_filters: - http_codes: [403, 404] action: FAIL failure_type: config_error error_message: "Unable to read data for stream {{ parameters.get('name') }} due to an issue with permissions. Please ensure that your account has the necessary access level. You can try to re-authenticate on the Set Up Connector page or you can disable stream {{ parameters.get('name') }} on the Schema Tab. Error message: {{ response.get('error') }}" backoff_strategies: - type: WaitTimeFromHeader header: Retry-After record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: ["{{ parameters.get('data_path') or parameters.get('name') }}"] schema_normalization: Default paginator: type: DefaultPaginator page_size_option: type: RequestOption field_name: "per_page" inject_into: request_parameter pagination_strategy: type: CursorPagination page_size: 100 cursor_value: '{{ response.get("next_page", {}) }}' stop_condition: "{{ last_page_size == 0 }}" page_token_option: type: RequestPath base_stream: type: DeclarativeStream retriever: $ref: "#/definitions/retriever" # Semi-incremental streams for endpoints that doesn't support filtering or sorting but include updated or created fields semi_incremental_stream: $ref: "#/definitions/base_stream" retriever: $ref: "#/definitions/retriever" record_selector: $ref: "#/definitions/retriever/record_selector" record_filter: condition: "{{ record[parameters['cursor_field']] >= stream_interval.get('start_time', config.get('start_date')) }}" incremental_sync: type: DatetimeBasedCursor cursor_datetime_formats: - "%Y-%m-%dT%H:%M:%SZ" - "%Y-%m-%dT%H:%M:%S%z" datetime_format: "%Y-%m-%dT%H:%M:%SZ" cursor_field: "{{ parameters.get('cursor_field', 'updated_at') }}" start_datetime: datetime: "{{ config.get('start_date') or day_delta(-730, '%Y-%m-%dT%H:%M:%SZ') }}" cursor_incremental_sync: type: DatetimeBasedCursor cursor_datetime_formats: - "%s" - "%Y-%m-%dT%H:%M:%SZ" - "%Y-%m-%dT%H:%M:%S%z" datetime_format: "%s" cursor_field: "{{ parameters.get('cursor_field', 'updated_at') }}" start_datetime: datetime: "{{ timestamp(config.get('start_date')) | int if config.get('start_date') else day_delta(-730, '%s') }}" start_time_option: inject_into: request_parameter field_name: "{{ parameters['cursor_filter'] }}" type: RequestOption base_incremental_stream: $ref: "#/definitions/base_stream" incremental_sync: $ref: "#/definitions/cursor_incremental_sync" # Paginators links_next_paginator: type: DefaultPaginator pagination_strategy: type: CursorPagination cursor_value: "{{ response['links']['next'] }}" stop_condition: "{{ not response['meta']['has_more'] }}" page_size: 100 page_token_option: type: RequestPath page_size_option: type: RequestOption field_name: "page[size]" inject_into: request_parameter after_url_paginator: type: DefaultPaginator pagination_strategy: type: CursorPagination cursor_value: '{{ response.get("after_url") }}' # there is a `end_of_stream` property inside the `response`, # we should use it, instead of relying on `last_page_size`, # which could be `[]` but, `end_of_stream == false` and `after_url != null` stop_condition: '{{ response.get("end_of_stream") }}' page_size: 100 page_token_option: type: RequestPath end_of_stream_paginator: type: DefaultPaginator pagination_strategy: type: CursorPagination cursor_value: '{{ response.get("next_page", {}) }}' stop_condition: '{{ response.get("end_of_stream") }}' page_token_option: type: RequestPath # Full-refresh streams account_attributes_stream: $ref: "#/definitions/base_stream" $parameters: name: "account_attributes" path: "routing/attributes" data_path: "attributes" primary_key: "id" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/account_attributes" attribute_definitions_stream: $ref: "#/definitions/base_stream" retriever: $ref: "#/definitions/retriever" record_selector: type: RecordSelector extractor: type: CustomRecordExtractor class_name: source_declarative_manifest.components.ZendeskSupportAttributeDefinitionsExtractor schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/attribute_definitions" $parameters: name: "attribute_definitions" path: "routing/attributes/definitions" data_path: "attributes" brands_stream: # ToDo: add incremental sync $ref: "#/definitions/base_stream" retriever: $ref: "#/definitions/retriever" paginator: $ref: "#/definitions/links_next_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/brands" $parameters: name: "brands" path: "brands" primary_key: "id" user_fields_stream: $ref: "#/definitions/base_stream" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/user_fields" $parameters: name: "user_fields" path: "user_fields" primary_key: "id" tags_stream: $ref: "#/definitions/base_stream" retriever: $ref: "#/definitions/retriever" paginator: $ref: "#/definitions/links_next_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/tags" $parameters: name: "tags" path: "tags" primary_key: "name" automations_stream: $ref: "#/definitions/base_stream" retriever: $ref: "#/definitions/retriever" paginator: $ref: "#/definitions/links_next_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/automations" $parameters: name: "automations" path: "automations" primary_key: "id" categories_stream: $ref: "#/definitions/base_stream" retriever: $ref: "#/definitions/retriever" paginator: $ref: "#/definitions/links_next_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/categories" $parameters: name: "categories" path: "help_center/categories" primary_key: "id" sections_stream: $ref: "#/definitions/base_stream" retriever: $ref: "#/definitions/retriever" paginator: $ref: "#/definitions/links_next_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/sections" $parameters: name: "sections" path: "help_center/sections" primary_key: "id" # Incremental cursor-based streams articles_stream: $ref: "#/definitions/base_incremental_stream" name: "articles" primary_key: "id" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/articles" incremental_sync: $ref: "#/definitions/cursor_incremental_sync" start_time_option: $ref: "#/definitions/cursor_incremental_sync/start_time_option" field_name: "start_time" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true requester: $ref: "#/definitions/retriever/requester" path: "help_center/incremental/articles" paginator: type: DefaultPaginator pagination_strategy: type: CursorPagination cursor_value: '{{ response.get("next_page", {}) }}' stop_condition: "{{ last_page_size == 0 }}" page_token_option: type: RequestPath record_selector: extractor: type: DpathExtractor field_path: ["articles"] article_attachments_stream: $ref: "#/definitions/base_incremental_stream" name: "article_attachments" primary_key: "id" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/article_attachments" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true requester: $ref: "#/definitions/retriever/requester" path: "help_center/articles/{{ stream_partition.article_id }}/attachments" partition_router: type: SubstreamPartitionRouter parent_stream_configs: - type: ParentStreamConfig parent_key: "id" partition_field: "article_id" stream: $ref: "#/definitions/articles_stream" incremental_dependency: true record_selector: extractor: type: DpathExtractor field_path: ["article_attachments"] file_uploader: type: FileUploader requester: type: HttpRequester url_base: "{{download_target}}" http_method: GET authenticator: type: SelectiveAuthenticator authenticator_selection_path: ["credentials", "credentials"] authenticators: oauth2.0: "#/definitions/bearer_authenticator" api_token: "#/definitions/basic_authenticator" download_target_extractor: type: DpathExtractor field_path: ["content_url"] filename_extractor: "{{ record.id }}/{{ record.file_name }}/" article_comments_stream: $ref: "#/definitions/base_incremental_stream" name: "article_comments" primary_key: "id" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/article_comments" incremental_sync: $ref: "#/definitions/cursor_incremental_sync" start_time_option: $ref: "#/definitions/cursor_incremental_sync/start_time_option" field_name: "start_time" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true requester: $ref: "#/definitions/retriever/requester" path: "help_center/articles/{{ stream_partition.article_id }}/comments" paginator: $ref: "#/definitions/links_next_paginator" partition_router: type: SubstreamPartitionRouter parent_stream_configs: - type: ParentStreamConfig parent_key: "id" partition_field: "article_id" stream: $ref: "#/definitions/articles_stream" incremental_dependency: true record_selector: extractor: type: DpathExtractor field_path: ["comments"] transformations: - type: AddFields fields: - path: - _airbyte_parent_id # used for article_comment_votes stream value: "{{ { 'article_id': record['source_id'], 'comment_id': record['id'] } }}" article_votes_stream: $ref: "#/definitions/base_incremental_stream" name: "article_votes" primary_key: "id" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/votes" incremental_sync: $ref: "#/definitions/cursor_incremental_sync" start_time_option: $ref: "#/definitions/cursor_incremental_sync/start_time_option" field_name: "start_time" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true requester: $ref: "#/definitions/retriever/requester" path: "help_center/articles/{{ stream_partition.article_id }}/votes" paginator: $ref: "#/definitions/links_next_paginator" partition_router: type: SubstreamPartitionRouter parent_stream_configs: - type: ParentStreamConfig parent_key: "id" partition_field: "article_id" stream: $ref: "#/definitions/articles_stream" incremental_dependency: true record_selector: extractor: type: DpathExtractor field_path: ["votes"] article_comment_votes_stream: $ref: "#/definitions/base_incremental_stream" name: "article_comment_votes" primary_key: "id" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/votes" incremental_sync: $ref: "#/definitions/cursor_incremental_sync" start_time_option: $ref: "#/definitions/cursor_incremental_sync/start_time_option" field_name: "start_time" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true requester: $ref: "#/definitions/retriever/requester" path: "help_center/articles/{{ stream_partition.id.article_id }}/comments/{{ stream_partition.id.comment_id }}/votes" paginator: $ref: "#/definitions/links_next_paginator" partition_router: type: SubstreamPartitionRouter parent_stream_configs: - type: ParentStreamConfig parent_key: "_airbyte_parent_id" partition_field: "id" stream: $ref: "#/definitions/article_comments_stream" incremental_dependency: true record_selector: extractor: type: DpathExtractor field_path: ["votes"] audit_logs_stream: $ref: "#/definitions/base_incremental_stream" retriever: $ref: "#/definitions/base_stream/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true requester: $ref: "#/definitions/retriever/requester" request_parameters: filter[created_at][]: "{{ [ stream_interval['start_time'], stream_interval['end_time'] ] if next_page_token is none else '' }}" sort: "created_at" paginator: $ref: "#/definitions/links_next_paginator" incremental_sync: type: DatetimeBasedCursor cursor_datetime_formats: - "%Y-%m-%dT%H:%M:%SZ" - "%Y-%m-%dT%H:%M:%S%z" datetime_format: "%Y-%m-%dT%H:%M:%SZ" cursor_field: "{{ parameters.get('cursor_field', 'updated_at') }}" start_datetime: datetime: "{{ config.get('start_date') or day_delta(-3650, '%Y-%m-%dT%H:%M:%SZ') }}" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/audit_logs" $parameters: name: "audit_logs" path: "audit_logs" cursor_field: "created_at" cursor_filter: "filter[created_at][]" primary_key: "id" custom_roles_stream: $ref: "#/definitions/semi_incremental_stream" retriever: $ref: "#/definitions/semi_incremental_stream/retriever" paginator: type: DefaultPaginator pagination_strategy: type: CursorPagination cursor_value: '{{ response.get("next_page", {}) }}' stop_condition: "{{ last_page_size == 0 }}" page_token_option: type: RequestPath schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/custom_roles" $parameters: name: "custom_roles" path: "custom_roles" data_path: "custom_roles" cursor_field: "updated_at" primary_key: "id" group_memberships_stream: $ref: "#/definitions/semi_incremental_stream" retriever: $ref: "#/definitions/semi_incremental_stream/retriever" paginator: $ref: "#/definitions/links_next_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/group_memberships" $parameters: name: "group_memberships" path: "group_memberships" cursor_field: "updated_at" primary_key: "id" groups_stream: $ref: "#/definitions/semi_incremental_stream" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/groups" $parameters: name: "groups" path: "groups" cursor_field: "updated_at" primary_key: "id" macros_stream: $ref: "#/definitions/base_incremental_stream" retriever: $ref: "#/definitions/semi_incremental_stream/retriever" requester: $ref: "#/definitions/retriever/requester" request_parameters: sort_by: "created_at" sort_order: "asc" paginator: $ref: "#/definitions/links_next_paginator" incremental_sync: $ref: "#/definitions/semi_incremental_stream/incremental_sync" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/macros" $parameters: name: "macros" path: "macros" cursor_field: "updated_at" primary_key: "id" organization_fields_stream: $ref: "#/definitions/semi_incremental_stream" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/organization_fields" $parameters: name: "organization_fields" path: "organization_fields" cursor_field: "updated_at" primary_key: "id" organization_memberships_stream: $ref: "#/definitions/semi_incremental_stream" retriever: $ref: "#/definitions/semi_incremental_stream/retriever" paginator: $ref: "#/definitions/links_next_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/organization_memberships" $parameters: name: "organization_memberships" path: "organization_memberships" cursor_field: "updated_at" primary_key: "id" organizations_stream: $ref: "#/definitions/base_incremental_stream" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true paginator: $ref: "#/definitions/end_of_stream_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/organizations" $parameters: name: "organizations" path: "incremental/organizations" cursor_field: "updated_at" cursor_filter: "start_time" primary_key: "id" posts_stream: $ref: "#/definitions/base_incremental_stream" name: "posts" primary_key: "id" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/posts" incremental_sync: $ref: "#/definitions/cursor_incremental_sync" start_time_option: $ref: "#/definitions/cursor_incremental_sync/start_time_option" field_name: "start_time" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true requester: $ref: "#/definitions/retriever/requester" path: "community/posts" paginator: $ref: "#/definitions/links_next_paginator" record_selector: extractor: type: DpathExtractor field_path: ["posts"] schema_normalization: None post_comments_stream: $ref: "#/definitions/base_incremental_stream" name: "post_comments" primary_key: "id" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/post_comments" incremental_sync: $ref: "#/definitions/cursor_incremental_sync" start_time_option: $ref: "#/definitions/cursor_incremental_sync/start_time_option" field_name: "start_time" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true requester: $ref: "#/definitions/retriever/requester" path: "community/posts/{{ stream_partition.post_id }}/comments" paginator: $ref: "#/definitions/links_next_paginator" partition_router: type: SubstreamPartitionRouter parent_stream_configs: - type: ParentStreamConfig parent_key: id partition_field: post_id stream: $ref: "#/definitions/posts_stream" incremental_dependency: true record_selector: extractor: type: DpathExtractor field_path: ["comments"] transformations: - type: AddFields fields: - path: - _airbyte_parent_id # used for post_comment_votes stream value: "{{ { 'post_id': record['post_id'], 'comment_id': record['id'] } }}" post_votes_stream: $ref: "#/definitions/base_incremental_stream" name: "post_votes" primary_key: "id" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/votes" incremental_sync: $ref: "#/definitions/cursor_incremental_sync" start_time_option: $ref: "#/definitions/cursor_incremental_sync/start_time_option" field_name: "start_time" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true requester: $ref: "#/definitions/retriever/requester" path: "community/posts/{{ stream_partition.post_id }}/votes" paginator: $ref: "#/definitions/links_next_paginator" partition_router: type: SubstreamPartitionRouter parent_stream_configs: - type: ParentStreamConfig parent_key: id partition_field: post_id stream: $ref: "#/definitions/posts_stream" incremental_dependency: true record_selector: extractor: type: DpathExtractor field_path: ["votes"] post_comment_votes_stream: $ref: "#/definitions/base_incremental_stream" name: "post_comment_votes" primary_key: "id" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/votes" incremental_sync: $ref: "#/definitions/cursor_incremental_sync" start_time_option: $ref: "#/definitions/cursor_incremental_sync/start_time_option" field_name: "start_time" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true requester: $ref: "#/definitions/retriever/requester" path: "community/posts/{{ stream_partition.id.post_id }}/comments/{{ stream_partition.id.comment_id }}/votes" paginator: $ref: "#/definitions/links_next_paginator" partition_router: type: SubstreamPartitionRouter parent_stream_configs: - type: ParentStreamConfig parent_key: "_airbyte_parent_id" partition_field: id stream: $ref: "#/definitions/post_comments_stream" incremental_dependency: true record_selector: extractor: type: DpathExtractor field_path: ["votes"] satisfaction_ratings_stream: $ref: "#/definitions/base_incremental_stream" retriever: $ref: "#/definitions/retriever" requester: $ref: "#/definitions/retriever/requester" request_parameters: sort: "created_at" paginator: $ref: "#/definitions/links_next_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/satisfaction_ratings" $parameters: name: "satisfaction_ratings" path: "satisfaction_ratings" cursor_field: "updated_at" cursor_filter: "start_time" primary_key: "id" schedules_stream: $ref: "#/definitions/semi_incremental_stream" retriever: $ref: "#/definitions/semi_incremental_stream/retriever" paginator: $ref: "#/definitions/retriever/paginator" page_size_option: type: RequestOption field_name: "page[size]" inject_into: request_parameter schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/schedules" $parameters: name: "schedules" path: "business_hours/schedules.json" cursor_field: "updated_at" primary_key: "id" sla_policies_stream: $ref: "#/definitions/semi_incremental_stream" retriever: $ref: "#/definitions/semi_incremental_stream/retriever" paginator: type: DefaultPaginator pagination_strategy: type: CursorPagination cursor_value: '{{ response.get("next_page", {}) }}' stop_condition: "{{ last_page_size == 0 }}" page_token_option: type: RequestPath schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/sla_policies" $parameters: name: "sla_policies" path: "slas/policies.json" cursor_field: "updated_at" primary_key: "id" ticket_activities_stream: $ref: "#/definitions/semi_incremental_stream" retriever: $ref: "#/definitions/semi_incremental_stream/retriever" requester: $ref: "#/definitions/retriever/requester" request_parameters: sort: "created_at" sort_by: "created_at" sort_order: "asc" paginator: $ref: "#/definitions/links_next_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/ticket_activities" $parameters: name: "ticket_activities" path: "activities" data_path: "activities" cursor_field: "updated_at" primary_key: "id" ticket_audits_stream: $ref: "#/definitions/semi_incremental_stream" retriever: $ref: "#/definitions/semi_incremental_stream/retriever" requester: $ref: "#/definitions/retriever/requester" request_parameters: sort_by: "created_at" sort_order: "desc" error_handler: type: DefaultErrorHandler backoff_strategies: - type: WaitTimeFromHeader header: Retry-After response_filters: - http_codes: [504] action: FAIL error_message: "Skipping stream `{{ parameters.get('name') }}`. Timed out waiting for response: {{ response.text }}..." - http_codes: [403, 404] action: FAIL failure_type: config_error error_message: "Unable to read data for stream {{ parameters.get('name') }} due to an issue with permissions. Please ensure that your account has the necessary access level. You can try to re-authenticate on the Set Up Connector page or you can disable stream {{ parameters.get('name') }} on the Schema Tab. Error message: {{ response.get('error') }}" paginator: type: DefaultPaginator page_size_option: type: RequestOption field_name: "limit" inject_into: request_parameter pagination_strategy: type: CursorPagination page_size: 200 cursor_value: "{{ response.get('before_url') }}" stop_condition: "{{ last_page_size == 0 }}" page_token_option: type: RequestPath incremental_sync: $ref: "#/definitions/semi_incremental_stream/incremental_sync" is_data_feed: true schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/ticket_audits" $parameters: name: "ticket_audits" path: "ticket_audits" data_path: "audits" cursor_field: "created_at" primary_key: "id" ticket_comments_stream: $ref: "#/definitions/base_incremental_stream" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true requester: $ref: "#/definitions/retriever/requester" request_parameters: include: "comment_events" record_selector: type: RecordSelector extractor: type: CustomRecordExtractor class_name: source_declarative_manifest.components.ZendeskSupportExtractorEvents field_path: ["ticket_events", "*", "child_events", "*"] paginator: $ref: "#/definitions/end_of_stream_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/ticket_comments" $parameters: name: "ticket_comments" path: "incremental/ticket_events.json" cursor_field: "created_at" cursor_filter: "start_time" primary_key: "id" ticket_fields_stream: $ref: "#/definitions/semi_incremental_stream" retriever: $ref: "#/definitions/semi_incremental_stream/retriever" paginator: $ref: "#/definitions/links_next_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/ticket_fields" $parameters: name: "ticket_fields" path: "ticket_fields" cursor_field: "updated_at" primary_key: "id" ticket_forms_stream: $ref: "#/definitions/semi_incremental_stream" retriever: $ref: "#/definitions/retriever" requester: $ref: "#/definitions/retriever/requester" error_handler: type: CompositeErrorHandler error_handlers: - type: DefaultErrorHandler response_filters: - http_codes: [403, 404] action: FAIL # fail as this stream used to define enterprise plan error_message: "Unable to read data for stream {{ parameters.get('name') }} due to an issue with permissions. Please ensure that your account has the necessary access level. You can try to re-authenticate on the Set Up Connector page or you can disable stream {{ parameters.get('name') }} on the Schema Tab. Error message: {{ response.get('error') }}" - type: DefaultErrorHandler backoff_strategies: - type: WaitTimeFromHeader header: Retry-After paginator: type: DefaultPaginator pagination_strategy: type: CursorPagination cursor_value: '{{ response.get("next_page", {}) }}' stop_condition: "{{ last_page_size == 0 }}" page_token_option: type: RequestPath schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/ticket_forms" $parameters: name: "ticket_forms" path: "ticket_forms" cursor_field: "updated_at" primary_key: "id" ticket_metric_events_stream: $ref: "#/definitions/base_incremental_stream" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true paginator: $ref: "#/definitions/links_next_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/ticket_metric_events" $parameters: name: "ticket_metric_events" path: "incremental/ticket_metric_events" cursor_field: "time" cursor_filter: "start_time" primary_key: "id" ticket_skips_stream: $ref: "#/definitions/semi_incremental_stream" retriever: $ref: "#/definitions/semi_incremental_stream/retriever" requester: $ref: "#/definitions/retriever/requester" request_parameters: sort_order: "desc" paginator: $ref: "#/definitions/links_next_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/ticket_skips" $parameters: name: "ticket_skips" path: "skips.json" data_path: "skips" cursor_field: "updated_at" primary_key: "id" tickets_stream: $ref: "#/definitions/base_incremental_stream" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true paginator: $ref: "#/definitions/after_url_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/tickets" $parameters: name: "tickets" path: "incremental/tickets/cursor.json" cursor_field: "generated_timestamp" cursor_filter: "start_time" primary_key: "id" ticket_metrics_stream: type: StateDelegatingStream name: "ticket_metrics" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/ticket_metrics" full_refresh_stream: $ref: "#/definitions/base_incremental_stream" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/ticket_metrics" name: "ticket_metrics" primary_key: "id" incremental_sync: type: DatetimeBasedCursor cursor_datetime_formats: - "%s" datetime_format: "%s" cursor_field: "_ab_updated_at" start_datetime: datetime: "0" # not used as the API does not take filters in and we don't define a step so there is only one request retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true requester: $ref: "#/definitions/retriever/requester" path: "ticket_metrics" paginator: $ref: "#/definitions/links_next_paginator" record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: ["ticket_metrics"] transformations: - type: AddFields fields: - path: - "_ab_updated_at" value: "{{ format_datetime(record['updated_at'], '%s') }}" incremental_stream: $ref: "#/definitions/base_incremental_stream" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/ticket_metrics" name: "ticket_metrics" primary_key: "id" incremental_sync: type: DatetimeBasedCursor cursor_datetime_formats: - "%s" datetime_format: "%s" cursor_field: "_ab_updated_at" start_datetime: datetime: "0" # not used as we should start from the state value retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true requester: $ref: "#/definitions/retriever/requester" path: "tickets/{{ stream_partition.ticket_id }}/metrics" error_handler: type: DefaultErrorHandler backoff_strategies: - type: WaitTimeFromHeader header: Retry-After response_filters: - http_codes: [403] action: IGNORE failure_type: config_error error_message: "Please ensure the authenticated user has access to stream: {self.name}. If the issue persists, contact Zendesk support." - http_codes: [404] action: IGNORE failure_type: config_error error_message: "Not found. Ticket was deleted. If the issue persists, contact Zendesk support." paginator: type: NoPagination record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: ["ticket_metric"] partition_router: type: SubstreamPartitionRouter parent_stream_configs: - type: ParentStreamConfig parent_key: "id" partition_field: "ticket_id" extra_fields: - ["generated_timestamp"] stream: $ref: "#/definitions/tickets_stream" incremental_dependency: true transformations: - type: AddFields fields: - path: - "_ab_updated_at" value: "{{ record['generated_timestamp'] if 'generated_timestamp' in record else stream_slice.extra_fields['generated_timestamp'] }}" value_type: "integer" topics_stream: $ref: "#/definitions/semi_incremental_stream" retriever: $ref: "#/definitions/semi_incremental_stream/retriever" paginator: $ref: "#/definitions/links_next_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/topics" $parameters: name: "topics" path: "community/topics" cursor_field: "updated_at" primary_key: "id" triggers_stream: $ref: "#/definitions/semi_incremental_stream" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/triggers" $parameters: name: "triggers" path: "triggers" cursor_field: "updated_at" primary_key: "id" users_stream: $ref: "#/definitions/base_incremental_stream" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true paginator: $ref: "#/definitions/after_url_paginator" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/users" $parameters: name: "users" path: "incremental/users/cursor.json" cursor_field: "updated_at" cursor_filter: "start_time" primary_key: "id" users_identities_stream: $ref: "#/definitions/base_incremental_stream" retriever: $ref: "#/definitions/retriever" ignore_stream_slicer_parameters_on_paginated_requests: true paginator: $ref: "#/definitions/after_url_paginator" requester: $ref: "#/definitions/retriever/requester" request_parameters: include: "identities" schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/user_identities" $parameters: name: "user_identities" data_path: "identities" path: "incremental/users/cursor.json" cursor_field: "updated_at" cursor_filter: "start_time" primary_key: "id" streams: # Full refresh streams - $ref: "#/definitions/account_attributes_stream" - $ref: "#/definitions/attribute_definitions_stream" - $ref: "#/definitions/brands_stream" - $ref: "#/definitions/custom_roles_stream" - $ref: "#/definitions/schedules_stream" - $ref: "#/definitions/sla_policies_stream" - $ref: "#/definitions/tags_stream" - $ref: "#/definitions/ticket_fields_stream" - $ref: "#/definitions/ticket_forms_stream" - $ref: "#/definitions/topics_stream" - $ref: "#/definitions/user_fields_stream" - $ref: "#/definitions/automations_stream" - $ref: "#/definitions/categories_stream" - $ref: "#/definitions/sections_stream" # Incremental streams - $ref: "#/definitions/articles_stream" - $ref: "#/definitions/article_attachments_stream" - $ref: "#/definitions/article_comments_stream" - $ref: "#/definitions/article_votes_stream" - $ref: "#/definitions/article_comment_votes_stream" - $ref: "#/definitions/audit_logs_stream" - $ref: "#/definitions/groups_stream" - $ref: "#/definitions/group_memberships_stream" - $ref: "#/definitions/macros_stream" - $ref: "#/definitions/organization_fields_stream" - $ref: "#/definitions/organization_memberships_stream" - $ref: "#/definitions/organizations_stream" - $ref: "#/definitions/posts_stream" - $ref: "#/definitions/post_comment_votes_stream" - $ref: "#/definitions/post_comments_stream" - $ref: "#/definitions/post_votes_stream" - $ref: "#/definitions/satisfaction_ratings_stream" - $ref: "#/definitions/ticket_activities_stream" - $ref: "#/definitions/ticket_audits_stream" - $ref: "#/definitions/ticket_comments_stream" - $ref: "#/definitions/ticket_metric_events_stream" - $ref: "#/definitions/ticket_skips_stream" - $ref: "#/definitions/tickets_stream" - $ref: "#/definitions/ticket_metrics_stream" - $ref: "#/definitions/triggers_stream" - $ref: "#/definitions/users_stream" - $ref: "#/definitions/users_identities_stream" # todo: The following streams are enterprise-only streams. However, the low-code CDK does not support # ConditionalStreams based on an API endpoint. These should be under that component once the CDK supports it. # - $ref: "#/definitions/ticket_forms_stream" # - $ref: "#/definitions/account_attributes_stream" # - $ref: "#/definitions/attribute_definitions_stream" # Zendesk Support offers four tiers of rate limits: # - Team: 200 req/min (3.3 req/sec) # - Professional: 400 req/min (6.7 req/sec) # - Enterprise: 700 req/min (11.7 req/sec) # - High Volume API add-on: 2500 req/min (41.7 req/sec) # # We use defer to a level of 3 because we assume by default that customers are on the Team tier, but # customers can specify a higher concurrency level as needed up to the theoretical max rate limit. concurrency_level: type: ConcurrencyLevel default_concurrency: "{{ config.get('num_workers', 3) }}" max_concurrency: 40 spec: type: Spec documentationUrl: "https://docs.airbyte.com/integrations/sources/zendesk-support" connection_specification: $schema: "http://json-schema.org/draft-07/schema#" title: Source Zendesk Support Spec type: object required: - subdomain additionalProperties: true properties: start_date: type: string title: Start Date description: >- The UTC date and time from which you'd like to replicate data, in the format YYYY-MM-DDT00:00:00Z. All data generated after this date will be replicated. examples: - "2020-10-15T00:00:00Z" pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$" pattern_descriptor: "YYYY-MM-DDTHH:mm:ssZ" format: date-time order: 2 subdomain: type: string title: Subdomain description: >- This is your unique Zendesk subdomain that can be found in your account URL. For example, in https://MY_SUBDOMAIN.zendesk.com/, MY_SUBDOMAIN is the value of your subdomain. order: 0 credentials: title: Authentication type: object description: >- Zendesk allows two authentication methods. We recommend using `OAuth2.0` for Airbyte Cloud users and `API token` for Airbyte Open Source users. order: 1 oneOf: - title: OAuth2.0 type: object required: - access_token additionalProperties: true properties: credentials: type: string const: oauth2.0 order: 0 access_token: type: string title: Access Token description: >- The OAuth access token. See the Zendesk docs for more information on generating this token. airbyte_secret: true client_id: type: string title: Client ID description: >- The OAuth client's ID. See this guide for more information. airbyte_secret: true client_secret: type: string title: Client Secret description: >- The OAuth client secret. See this guide for more information. airbyte_secret: true - title: API Token type: object required: - email - api_token additionalProperties: true properties: credentials: type: string const: api_token order: 0 email: title: Email type: string description: The user email for your Zendesk account. api_token: title: API Token type: string description: >- The value of the API token generated. See our full documentation for more information on generating this token. airbyte_secret: true ignore_pagination: type: boolean default: false description: "[Deprecated] Makes each stream read a single page of data." title: >- [Deprecated] Should the connector read the second and further pages of data. airbyte_hidden: true num_workers: type: integer title: Number of concurrent workers minimum: 1 maximum: 40 default: 3 examples: - 1 - 2 - 3 description: >- The number of worker threads to use for the sync. The performance upper boundary is based on the limit of your Zendesk Support plan. More info about the rate limit plan tiers can be found on Zendesk's API docs. order: 3 advanced_auth: auth_flow_type: oauth2.0 predicate_key: - credentials - credentials predicate_value: oauth2.0 oauth_config_specification: complete_oauth_output_specification: type: object additionalProperties: false properties: access_token: type: string path_in_connector_config: - credentials - access_token complete_oauth_server_input_specification: type: object additionalProperties: false properties: client_id: type: string client_secret: type: string complete_oauth_server_output_specification: type: object additionalProperties: false properties: client_id: type: string path_in_connector_config: - credentials - client_id client_secret: type: string path_in_connector_config: - credentials - client_secret oauth_user_input_from_connector_config_specification: type: object additionalProperties: false properties: subdomain: type: string path_in_connector_config: - subdomain schemas: article_attachments: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: id: description: Assigned ID when the article attachment is created. type: - "null" - integer url: description: The URL of the article attachment. type: - "null" - string article_id: description: The associated article, if present. type: - "null" - integer display_file_name: description: The file name displayed. type: - "null" - string file_name: description: The file name. type: - "null" - string locale: description: TThe locale of translation that the attachment will be attached to and can only be set on inline attachments. type: - "null" - string content_url: description: URL where the attachment file can be downloaded. type: - "null" - string relative_path: description: Relative path of the file. type: - "null" - string content_type: description: "The file type. Example: image/png" type: - "null" - string size: description: The attachment file size in bytes. type: - "null" - integer inline: description: The attached file is shown in the admin interface for inline attachments. type: - "null" - boolean created_at: description: The time the article attachment was created. type: - "null" - string format: date-time updated_at: description: The time the article attachment was last updated. type: - "null" - string format: date-time categories: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: id: description: Unique identifier for the category. type: - "null" - integer name: description: Name of the category. type: - "null" - string position: description: The position of this category relative to other categories. type: - "null" - integer description: description: The description of the category. type: - "null" - string locale: description: The locale where the category is displayed. type: - "null" - string url: description: The API url of this category. type: - "null" - string html_url: description: The url of this category in Help Center. type: - "null" - string source_locale: description: The source (default) locale of the category. type: - "null" - string outdated: description: Whether the category is out of date. type: - "null" - string created_at: description: Timestamp of when the category was created. type: - "null" - string format: date-time updated_at: description: Timestamp of when the category was last updated. type: - "null" - string format: date-time sla_policies: $schema: https://json-schema.org/draft-07/schema# type: - object properties: id: description: The unique identifier for the SLA policy. type: - integer url: description: The URL link to access the SLA policy details. type: - "null" - string title: description: The title of the SLA policy. type: - "null" - string description: description: The description of the SLA policy. type: - "null" - string position: description: The position of the SLA policy. type: - "null" - integer filter: description: Contains filtering criteria for retrieving SLA policies data. properties: all: description: All conditions within this array must be met for a policy to be returned. type: - "null" - array items: description: Defines specific conditions for filtering SLA policies. properties: field: description: The field to filter on. type: - "null" - string operator: description: The operator for the filter. type: - "null" - string value: description: The value to filter by. type: - "null" - string - number - boolean type: - object any: description: At least one condition within this array must be met for a policy to be returned. type: - "null" - array items: description: Defines specific conditions for filtering SLA policies. properties: field: description: The field to filter on. type: - "null" - string operator: description: The operator for the filter. type: - "null" - string value: description: The value to filter by. type: - "null" - string type: - object type: - "null" - object policy_metrics: description: Contains metrics associated with SLA policies. type: - "null" - array items: description: Specifies individual metrics related to SLA policies. properties: priority: description: The priority level of the SLA policy. type: - "null" - string target: description: The target value for the metric. type: - "null" - integer business_hours: description: The business hours considered for the SLA policy. type: - "null" - boolean metric: description: The metric to measure the SLA policy against. type: - "null" - string type: - "null" - object created_at: description: The timestamp for when the SLA policy was created. type: - "null" - string format: date-time updated_at: description: The timestamp for when the SLA policy was last updated. type: - "null" - string format: date-time satisfaction_ratings: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: id: description: The unique identifier of the satisfaction rating entry. type: - "null" - integer assignee_id: description: The unique identifier of the user assigned to the ticket. type: - "null" - integer group_id: description: The unique identifier of the group associated with the ticket. type: - "null" - integer reason_id: description: The unique identifier of the selected satisfaction rating reason. type: - "null" - integer requester_id: description: The unique identifier of the requester who provided the rating. type: - "null" - integer ticket_id: description: The unique identifier of the ticket associated with the satisfaction rating. type: - "null" - integer updated_at: description: The date and time when the satisfaction rating was last updated. type: - "null" - string format: date-time created_at: description: The date and time when the satisfaction rating was created. type: - "null" - string format: date-time url: description: The URL to access the details of the satisfaction rating. type: - "null" - string score: description: The satisfaction score given by the requester (usually a numeric value). type: - "null" - string reason: description: The reason selected by the requester for the satisfaction rating. type: - "null" - string comment: description: The feedback comment provided by the requester. type: - "null" - string automations: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: actions: type: array description: An object describing what the automation will do items: type: - object - "null" properties: field: type: - string - "null" value: type: - string - "null" active: type: - boolean - "null" description: Whether the automation is active conditions: type: object description: An object that describes the conditions under which the automation will execute properties: all: type: array items: type: - object - "null" properties: field: type: - string - "null" operator: type: - string - "null" value: type: - string - "null" any: type: array items: type: - object - "null" properties: field: type: - string - "null" operator: type: - string - "null" value: type: - string - "null" created_at: description: The time the automation was created type: - string - "null" default: type: - boolean - "null" description: If true, the automation is a default automation id: type: - integer - "null" description: Automatically assigned when created position: type: - integer - "null" description: The position of the automation which specifies the order it will be executed raw_title: type: - string - "null" description: The raw title of the automation title: type: - string - "null" description: The title of the automation updated_at: description: The time of the last update of the automation type: - string - "null" post_comments: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: author_id: description: The unique identifier of the author of the comment. type: - "null" - integer body: description: The content of the comment. type: - "null" - string created_at: description: The timestamp when the comment was created. type: - "null" - string format: date-time html_url: description: The URL to access the comment in HTML format. type: - "null" - string id: description: The unique identifier of the comment. type: - "null" - integer non_author_editor_id: description: The unique identifier of the non-author editor of the comment. type: - "null" - integer non_author_updated_at: description: The timestamp when the comment was last updated by a non-author editor. type: - "null" - string format: date-time official: description: Indicates if the comment is from an official source. type: - "null" - boolean post_id: description: The unique identifier of the post to which the comment belongs. type: - "null" - integer updated_at: description: The timestamp when the comment was last updated. type: - "null" - string format: date-time url: description: The URL to access the comment. type: - "null" - string vote_count: description: The total count of votes the comment has received. type: - "null" - integer vote_sum: description: The sum of all votes (positive and negative) the comment has received. type: - "null" - integer ticket_audits: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: events: description: List of events related to the ticket audit type: - "null" - array items: type: - "null" - object properties: attachments: description: Attachments associated with the event items: properties: id: description: Unique identifier for the attachment type: - "null" - integer size: description: Size of the attachment in bytes type: - "null" - integer url: description: URL to access the attachment type: - "null" - string inline: description: Indicates if the attachment is displayed inline type: - "null" - boolean height: description: Height of the attachment (if applicable) type: - "null" - integer width: description: Width of the attachment (if applicable) type: - "null" - integer content_url: description: URL to access the content of the attachment type: - "null" - string mapped_content_url: description: Mapped URL to access the content of the attachment type: - "null" - string content_type: description: Type of content of the attachment type: - "null" - string file_name: description: Name of the attachment file type: - "null" - string thumbnails: description: Thumbnails associated with the attachment items: properties: id: description: Unique identifier for the thumbnail attachment type: - "null" - integer size: description: Size of the thumbnail attachment in bytes type: - "null" - integer url: description: URL to access the thumbnail attachment type: - "null" - string inline: description: Indicates if the thumbnail attachment is displayed inline type: - "null" - boolean height: description: Height of the thumbnail attachment type: - "null" - integer width: description: Width of the thumbnail attachment type: - "null" - integer content_url: description: URL to access the content of the thumbnail attachment type: - "null" - string mapped_content_url: description: Mapped URL to access the content of the thumbnail attachment type: - "null" - string content_type: description: Type of content of the thumbnail attachment type: - "null" - string file_name: description: Name of the thumbnail attachment file type: - "null" - string type: - "null" - object type: - "null" - array deleted: description: Indicates if the attachment has been deleted type: - "null" - boolean malware_access_override: description: Malware access override status for the attachment type: - "null" - boolean malware_scan_result: description: Result of malware scan for the attachment type: - "null" - string type: - "null" - object type: - "null" - array created_at: description: Date and time when the event was created type: - "null" - string format: date-time data: description: Data associated with the event type: - "null" - object properties: author_id: description: ID of the author of the event type: - "null" - integer brand_id: description: ID of the brand associated with the event type: - "null" - integer call_id: description: ID of the call associated with the event type: - "null" - integer line_type: description: Type of line used for the event type: - "null" - string location: description: Location associated with the event type: - "null" - string public: description: Indicates if the event is public type: - "null" - boolean recorded: description: Indicates if the event was recorded type: - "null" - boolean recording_consent_action: description: Action taken for recording consent type: - "null" - string recording_type: description: Type of recording for the event type: - "null" - string via_id: description: ID of the channel via which the event occurred type: - "null" - integer transcription_status: description: Status of transcription for the event type: - "null" - string transcription_text: description: Transcribed text of the event type: - "null" - string to: description: Recipient of the event type: - "null" - string call_duration: description: Duration of the call for the event type: - "null" - number answered_by_name: description: Name of the user who answered the event type: - "null" - string recording_url: description: URL to access the recording of the event type: - "null" - string started_at: description: Date and time when the event started type: - "null" - string format: date-time answered_by_id: description: ID of the user who answered the event type: - "null" - integer from: description: Sender of the event type: - "null" - string current_followers: description: List of current followers for the event type: - "null" - array items: type: - "null" - string previous_followers: description: List of previous followers for the event type: - "null" - array items: type: - "null" - string formatted_from: description: Formatted sender of the event type: - "null" - string formatted_to: description: Formatted recipient of the event type: - "null" - string transcription_visible: description: Indicates if transcription is visible for the event type: - "null" - boolean trusted: description: Indicates the trust level of the event type: - "null" - boolean html_body: description: HTML content of the event body type: - "null" - string subject: description: Subject of the event type: - "null" - string field_name: description: Name of the field changed in the event type: - "null" - string audit_id: description: ID of the audit related to the event type: - "null" - integer value: description: Current value of the field changed in the event oneOf: - type: array items: type: - "null" - string - type: object properties: {} additionalProperties: true - type: string - type: "null" author_id: description: ID of the author of the event type: - "null" - integer via: description: Channel via which the event occurred properties: channel: description: Type of channel used for the event type: - "null" - string source: description: Source details of the channel properties: to: description: Recipient details properties: address: description: Recipient address type: - "null" - string name: description: Name of the recipient type: - "null" - string type: - "null" - object from: description: Sender details properties: title: description: Title associated with the sender type: - "null" - string address: description: Sender address type: - "null" - string subject: description: Subject associated with the sender type: - "null" - string deleted: description: Indicates if the sender was deleted type: - "null" - boolean name: description: Name of the sender type: - "null" - string original_recipients: description: Original recipients of the sender items: type: - "null" - string type: - "null" - array id: description: ID of the sender type: - "null" - integer ticket_id: description: ID of the ticket associated with the sender type: - "null" - integer revision_id: description: Revision ID of the sender type: - "null" - integer type: - "null" - object rel: description: Relationship with the target type: - "null" - string type: - "null" - object type: - "null" - object type: description: Type of the event type: - "null" - string macro_id: description: ID of the macro associated with the event type: - "null" - string body: description: Body content of the event type: - "null" - string recipients: description: List of recipients for the event type: - "null" - array items: type: - "null" - integer macro_deleted: description: Indicates if a macro was deleted during the event type: - "null" - boolean plain_body: description: Plain text content of the event body type: - "null" - string id: description: Unique identifier for the event type: - "null" - integer previous_value: description: Previous value of the field changed in the event type: - "null" - string macro_title: description: Title of the macro associated with the event type: - "null" - string public: description: Indicates if the event is public type: - "null" - boolean resource: description: Resource associated with the event type: - "null" - string author_id: description: ID of the author of the ticket audit type: - "null" - integer metadata: description: Metadata associated with the ticket audit type: - "null" - object properties: suspension_type_id: description: ID of the suspension type associated with the audit type: - "null" - integer custom: description: Custom metadata for the audit type: - "null" - object properties: {} additionalProperties: true trusted: description: Indicates the trust level of the audit type: - "null" - boolean notifications_suppressed_for: description: List of notifications suppressed for the audit type: - "null" - array items: type: - "null" - integer decoration: description: Decoration details for the audit type: - "null" - object properties: channels: description: Channels details for the audit type: - "null" - object properties: allow_channelback: description: Indicates if channelback is allowed for the audit type: - "null" - boolean additionalProperties: true source: description: Source details for the audit type: - "null" - object properties: id: description: ID of the source type: - "null" - string name: description: Name of the source type: - "null" - string zendesk_id: description: Zendesk ID associated with the source type: - "null" - integer additionalProperties: true created_at: description: Date and time when the audit was created type: - "null" - string external_id: description: External ID associated with the audit type: - "null" - string resource_type: description: Type of resource associated with the audit type: - "null" - string type: description: Type of decoration for the audit type: - "null" - string version: description: Version of the audit type: - "null" - integer additionalProperties: true flags_options: description: Options for flags associated with the audit type: - "null" - object properties: "2": description: Flag option 2 details type: - "null" - object properties: trusted: description: Indicates the trust level of flag option 2 type: - "null" - boolean "11": description: Flag option 11 details type: - "null" - object properties: trusted: description: Indicates the trust level of flag option 11 type: - "null" - boolean message: description: Message associated with flag option 11 type: - "null" - object properties: user: description: User associated with the message type: - "null" - string "15": description: Flag option 15 details type: - "null" - object properties: trusted: description: Indicates the trust level of flag option 15 type: - "null" - boolean message: description: Message associated with flag option 15 type: - "null" - object properties: user: description: User associated with the message type: - "null" - string flags: description: Flags associated with the audit type: - "null" - array items: type: - "null" - integer system: description: System details for the audit type: - "null" - object properties: location: description: Location details associated with the system type: - "null" - string longitude: description: Longitude of the location associated with the system type: - "null" - number message_id: description: Message ID associated with the system type: - "null" - string raw_email_identifier: description: Raw email identifier associated with the system type: - "null" - string ip_address: description: IP address associated with the system type: - "null" - string json_email_identifier: description: JSON email identifier associated with the system type: - "null" - string client: description: Client associated with the system type: - "null" - string latitude: description: Latitude of the location associated with the system type: - "null" - number email_id: description: Email ID associated with the system type: - "null" - string eml_redacted: description: Indicates if EML content is redacted type: - "null" - boolean id: description: Unique identifier for the ticket audit type: - "null" - integer created_at: description: Date and time when the ticket audit was created type: - "null" - string format: date-time ticket_id: description: ID of the ticket associated with the audit type: - "null" - integer via: description: Details of the channel via which the audit occurred type: - "null" - object properties: channel: description: Type of channel used for the audit type: - "null" - string source: description: Source details of the channel type: - "null" - object properties: from: description: Sender details type: - "null" - object properties: ticket_ids: description: List of ticket IDs associated with the sender type: - "null" - array items: type: - "null" - integer subject: description: Subject associated with the sender type: - "null" - string channel: description: Type of channel used by the sender type: - "null" - string name: description: Name of the sender type: - "null" - string address: description: Sender address type: - "null" - string formatted_phone: description: Formatted phone number of the sender type: - "null" - string phone: description: Phone number of the sender type: - "null" - string original_recipients: description: Original recipients of the sender type: - "null" - array items: type: - "null" - string id: description: ID of the sender type: - "null" - integer ticket_id: description: ID of the ticket associated with the sender type: - "null" - integer deleted: description: Indicates if the sender was deleted type: - "null" - boolean title: description: Title associated with the sender type: - "null" - string to: description: Recipient details type: - "null" - object properties: name: description: Name of the recipient type: - "null" - string brand_id: description: ID of the brand associated with the recipient type: - "null" - integer address: description: Recipient address type: - "null" - string formatted_phone: description: Formatted phone number of the recipient type: - "null" - string phone: description: Phone number of the recipient type: - "null" - string rel: description: Relationship with the target type: - "null" - string attachments: description: Attachments associated with the ticket audit type: - "null" - array items: type: - "null" - object properties: content_type: description: Type of content of the attachment type: - "null" - string content_url: description: URL to access the content of the attachment type: - "null" - string deleted: description: Indicates if the attachment has been deleted type: - "null" - boolean file_name: description: Name of the attachment file type: - "null" - string height: description: Height of the attachment (if applicable) type: - "null" - integer id: description: Unique identifier for the attachment type: - "null" - integer inline: description: Indicates if the attachment is displayed inline type: - "null" - boolean malware_access_override: description: Malware access override status for the attachment type: - "null" - boolean malware_scan_result: description: Result of malware scan for the attachment type: - "null" - string mapped_content_url: description: Mapped URL to access the content of the attachment type: - "null" - string size: description: Size of the attachment in bytes type: - "null" - integer thumbnails: description: Thumbnails associated with the attachment type: - "null" - array items: type: - "null" - object properties: {} additionalProperties: true url: description: URL to access the attachment type: - "null" - string width: description: Width of the attachment (if applicable) type: - "null" - integer additionalProperties: true ticket_comments: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: created_at: description: Timestamp indicating when the ticket comment was created. type: - "null" - string format: date-time timestamp: description: UNIX timestamp representing the time the ticket comment was created. type: - "null" - integer body: description: Text body of the ticket comment. type: - "null" - string id: description: Unique identifier for the ticket comment. type: - "null" - integer ticket_id: description: Identifier of the ticket to which the comment belongs. type: - "null" - integer event_type: description: Type of event associated with the ticket comment. type: - "null" - string type: description: Type of the ticket comment. type: - "null" - string via_reference_id: description: Reference ID associated with the channel through which the ticket comment was created. type: - "null" - integer html_body: description: HTML formatted body of the ticket comment. type: - "null" - string plain_body: description: Plain text version of the ticket comment body. type: - "null" - string public: description: Flag indicating if the ticket comment is public or private. type: - "null" - boolean audit_id: description: Unique identifier for the audit associated with this ticket comment. type: - "null" - integer author_id: description: Identifier of the author of the ticket comment. type: - "null" - integer via: description: Channel through which the ticket comment was created. type: - "null" - object properties: channel: type: - "null" - string source: type: - "null" - object properties: from: type: - "null" - object properties: ticket_ids: type: - "null" - array items: type: - "null" - integer subject: type: - "null" - string channel: type: - "null" - string name: type: - "null" - string address: type: - "null" - string original_recipients: type: - "null" - array items: type: - "null" - string id: type: - "null" - integer ticket_id: type: - "null" - integer deleted: type: - "null" - boolean title: type: - "null" - string to: type: - "null" - object properties: name: type: - "null" - string address: type: - "null" - string rel: type: - "null" - string metadata: description: Additional metadata associated with the ticket comment. type: - "null" - object properties: custom: type: - "null" - object properties: {} additionalProperties: true trusted: type: - "null" - boolean notifications_suppressed_for: type: - "null" - array items: type: - "null" - integer flags_options: type: - "null" - object properties: "2": type: - "null" - object properties: trusted: type: - "null" - boolean "11": type: - "null" - object properties: trusted: type: - "null" - boolean message: type: - "null" - object properties: user: type: - "null" - string flags: type: - "null" - array items: type: - "null" - integer system: type: - "null" - object properties: location: type: - "null" - string longitude: type: - "null" - number message_id: type: - "null" - string raw_email_identifier: type: - "null" - string ip_address: type: - "null" - string json_email_identifier: type: - "null" - string client: type: - "null" - string latitude: type: - "null" - number attachments: description: Information about any attachments included in the ticket comment. type: - "null" - array items: properties: id: type: - "null" - integer size: type: - "null" - integer url: type: - "null" - string malware_scan_result: type: - "null" - string inline: type: - "null" - boolean deleted: type: - "null" - boolean malware_access_override: type: - "null" - boolean height: type: - "null" - integer width: type: - "null" - integer content_url: type: - "null" - string mapped_content_url: type: - "null" - string content_type: type: - "null" - string file_name: type: - "null" - string thumbnails: items: properties: id: type: - "null" - integer size: type: - "null" - integer url: type: - "null" - string inline: type: - "null" - boolean height: type: - "null" - integer width: type: - "null" - integer content_url: type: - "null" - string mapped_content_url: type: - "null" - string content_type: type: - "null" - string file_name: type: - "null" - string type: - "null" - object type: - "null" - array type: - "null" - object uploads: description: Information about any file uploads associated with the ticket comment. type: - "null" - array triggers: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: actions: type: - array - "null" description: An array of actions describing what the ticket trigger will do items: type: object properties: field: type: - string - "null" value: type: - string - "null" active: description: Whether the ticket trigger is active type: boolean category_id: description: The ID of the category the ticket trigger belongs to type: - string - "null" conditions: description: An object that describes the circumstances under which the trigger performs its actions type: object properties: all: type: - array - "null" items: type: object properties: field: type: - string - "null" operator: type: - string - "null" value: type: - string - "null" any: type: - array - "null" items: type: object properties: field: type: - string - "null" operator: type: - string - "null" value: type: - string - "null" created_at: description: The time the ticket trigger was created type: - string - "null" default: description: If true, the ticket trigger is a standard trigger type: boolean description: description: The description of the ticket trigger type: - string - "null" id: description: Automatically assigned when created type: integer position: description: Position of the ticket trigger, determines the order they will execute in type: integer raw_title: description: The raw format of the title of the ticket trigger type: - string - "null" title: description: The title of the ticket trigger type: - string - "null" updated_at: description: The time of the last update of the ticket trigger type: - string - "null" url: description: The url of the ticket trigger type: - string - "null" ticket_metrics: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: metric: description: Ticket metrics data type: - "null" - string id: description: Unique identifier for the ticket type: - "null" - integer time: description: Time related to the ticket type: - "null" - string instance_id: description: ID of the Zendesk instance associated with the ticket type: - "null" - integer ticket_id: description: ID of the ticket type: - "null" - integer status: description: The current status of the ticket (open, pending, solved, etc.). properties: calendar: description: The status of the ticket in calendar hours type: - "null" - integer business: description: The status of the ticket in business hours type: - "null" - integer type: - "null" - object type: description: Type of ticket type: - "null" - string agent_wait_time_in_minutes: description: The total time an agent spent waiting before responding to the ticket. type: - "null" - object properties: calendar: description: Time spent waiting for an agent to respond in calendar hours type: - "null" - integer business: description: Time spent waiting for an agent to respond in business hours type: - "null" - integer assignee_stations: description: Number of stations assigned to the ticket's assignee type: - "null" - integer created_at: description: Timestamp when the ticket was created type: - "null" - string format: date-time first_resolution_time_in_minutes: description: The time taken to provide the initial resolution to the ticket. type: - "null" - object properties: calendar: description: Time taken to provide the first resolution in calendar hours type: - "null" - integer business: description: Time taken to provide the first resolution in business hours type: - "null" - integer full_resolution_time_in_minutes: description: The total time taken to completely resolve the ticket. type: - "null" - object properties: calendar: description: Total time taken to fully resolve the ticket in calendar hours type: - "null" - integer business: description: Total time taken to fully resolve the ticket in business hours type: - "null" - integer group_stations: description: Number of stations assigned to the ticket's group type: - "null" - integer latest_comment_added_at: description: Timestamp when the latest comment was added type: - "null" - string format: date-time on_hold_time_in_minutes: description: The cumulative time the ticket spent on hold during its lifecycle. type: - "null" - object properties: calendar: description: Total time the ticket was on hold in calendar hours type: - "null" - integer business: description: Total time the ticket was on hold in business hours type: - "null" - integer reopens: description: Number of times the ticket has been reopened type: - "null" - integer replies: description: Number of replies made on the ticket type: - "null" - integer reply_time_in_minutes: description: The time taken to reply to the ticket after initial submission. type: - "null" - object properties: calendar: description: Average time taken to reply to the ticket in calendar hours type: - "null" - integer business: description: Average time taken to reply to the ticket in business hours type: - "null" - integer requester_updated_at: description: Timestamp when the requester information was last updated type: - "null" - string format: date-time requester_wait_time_in_minutes: description: The time a requester had to wait before the ticket was assigned to an agent. type: - "null" - object properties: calendar: description: Time spent waiting for a requester response in calendar hours type: - "null" - integer business: description: Time spent waiting for a requester response in business hours type: - "null" - integer status_updated_at: description: Timestamp when the status of the ticket was last updated type: - "null" - string format: date-time updated_at: description: Datetime when the ticket last created a ticket event type: - "null" - string format: date-time _ab_updated_at: description: Cursor field managed by Airbyte to enable incremental mode for the stream type: - "null" - integer generated_timestamp: description: Timestamp of when record was last updated type: - "null" - integer url: description: URL link to the ticket details type: - "null" - string initially_assigned_at: description: Timestamp when the ticket was initially assigned type: - "null" - string format: date-time assigned_at: description: Timestamp when the ticket was assigned to an agent type: - "null" - string format: date-time solved_at: description: Timestamp when the ticket was solved type: - "null" - string format: date-time assignee_updated_at: description: Timestamp when the assignee was last updated type: - "null" - string format: date-time custom_status_updated_at: description: Timestamp when the custom status was last updated type: - "null" - string format: date-time reply_time_in_seconds: description: The time taken to reply to the ticket after initial submission in seconds. type: - "null" - object properties: calendar: description: Average time taken to reply to the ticket in seconds (calendar hours) type: - "null" - integer business: description: Average time taken to reply to the ticket in seconds (business hours) type: - "null" - integer account_attributes: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: id: description: The unique identifier for the account attribute. type: - "null" - string name: description: The name or label of the account attribute. type: - "null" - string created_at: description: The timestamp indicating when the account attribute was created. type: - "null" - string format: date-time updated_at: description: The timestamp indicating when the account attribute was last updated. type: - "null" - string format: date-time url: description: The URL that can be used to access the account attribute. type: - "null" - string deleted_tickets: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: actor: description: The user who performed the deletion action type: - "null" - object properties: id: description: The unique identifier of the user type: - "null" - integer name: description: The name of the user type: - "null" - string id: description: The unique identifier of the deleted ticket type: - "null" - integer subject: description: The subject or title of the deleted ticket type: - "null" - string description: description: Additional details or comments about the deleted ticket type: - "null" - string deleted_at: description: The timestamp when the ticket was deleted type: - "null" - string format: date-time previous_state: description: The state of the ticket before it was deleted type: - "null" - string organizations: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: group_id: description: The ID of the group to which the organization belongs type: - "null" - integer created_at: description: The date and time when the organization was created type: - "null" - string format: date-time tags: description: List of tags associated with the organization type: - "null" - array items: type: - "null" - string shared_tickets: description: Indicates if tickets are shared with this organization type: - "null" - boolean organization_fields: description: Custom fields associated with the organization type: - "null" - object properties: {} additionalProperties: true notes: description: Any notes or comments related to the organization type: - "null" - string domain_names: description: List of domain names associated with the organization type: - "null" - array items: type: - "null" - string shared_comments: description: Indicates if comments are shared with this organization type: - "null" - boolean details: description: Additional details about the organization type: - "null" - string updated_at: description: The date and time when the organization was last updated type: - "null" - string format: date-time name: description: The name of the organization type: - "null" - string external_id: description: The external ID of the organization type: - "null" - string url: description: The URL of the organization type: - "null" - string id: description: The unique ID of the organization type: - "null" - integer deleted_at: description: The date and time when the organization was deleted type: - "null" - string format: date-time group_memberships: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: default: description: Flag indicating if this group membership is the default one. type: - "null" - boolean url: description: URL pointing to the group membership resource. type: - "null" - string user_id: description: The unique identifier of the user associated with this group membership. type: - "null" - integer updated_at: description: Timestamp indicating when the group membership was last updated. type: - "null" - string format: date-time group_id: description: The unique identifier of the group this membership belongs to. type: - "null" - integer created_at: description: Timestamp indicating when the group membership was created. type: - "null" - string format: date-time id: description: The unique identifier of the group membership. type: - "null" - integer organization_fields: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: active: description: Indicates whether the organization field is currently active or not type: - "null" - boolean created_at: description: The date and time when the organization field was created type: - "null" - string format: date-time custom_field_options: description: The list of custom field options available for this organization field type: - "null" - array description: description: The description of the organization field type: - "null" - string id: description: The unique identifier of the organization field type: - "null" - integer key: description: The key associated with the organization field type: - "null" - string position: description: The position of the organization field type: - "null" - integer raw_description: description: The raw description of the organization field type: - "null" - string raw_title: description: The raw title of the organization field type: - "null" - string regexp_for_validation: description: Regular expression for validation of the organization field data type: - "null" - string relationship_filter: description: Relationship filter associated with the organization field type: - "null" - object relationship_target_type: description: The target type of the relationship for this organization field type: - "null" - string system: description: Indicates whether the organization field is a system field or not type: - "null" - boolean tag: description: Tags associated with the organization field type: - "null" - string title: description: The title of the organization field type: - "null" - string type: description: The type of the organization field data type: - "null" - string updated_at: description: The date and time when the organization field was last updated type: - "null" - string format: date-time url: description: The URL associated with the organization field type: - "null" - string users: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: verified: description: Indicates if the user's account is verified. type: - "null" - boolean role: description: The role or position of the user. type: - "null" - string tags: description: Tags associated with the user. items: description: A tag associated with the user. type: - "null" - string type: - "null" - array chat_only: description: Specifies if the user can only participate in chat interactions. type: - "null" - boolean role_type: description: The type of role assigned to the user. type: - "null" - integer phone: description: The phone number associated with the user. type: - "null" - string organization_id: description: The ID of the organization the user belongs to. type: - "null" - integer details: description: Additional details or information about the user. type: - "null" - string email: description: The email address associated with the user. type: - "null" - string only_private_comments: description: Indicates if the user can only create private comments. type: - "null" - boolean signature: description: The user's email signature. type: - "null" - string restricted_agent: description: Specifies if the user is a restricted agent. type: - "null" - boolean moderator: description: Specifies if the user has moderator privileges. type: - "null" - boolean updated_at: description: The datetime when the user account was last updated. type: - "null" - string format: date-time external_id: description: An external identifier for the user. type: - "null" - string time_zone: description: The time zone of the user. type: - "null" - string photo: description: Information about the user's profile photo. type: - "null" - object properties: thumbnails: description: Thumbnails of the user's profile photo. items: type: - "null" - object properties: width: description: The width of the thumbnail. type: - "null" - integer url: description: The URL of the thumbnail. type: - "null" - string inline: description: Specifies if the thumbnail should be displayed inline. type: - "null" - boolean content_url: description: The URL to access the thumbnail content. type: - "null" - string content_type: description: The content type of the thumbnail. type: - "null" - string file_name: description: The file name of the thumbnail. type: - "null" - string size: description: The size of the thumbnail. type: - "null" - integer mapped_content_url: description: The mapped URL to access the thumbnail content. type: - "null" - string id: description: The ID of the thumbnail. type: - "null" - integer height: description: The height of the thumbnail. type: - "null" - integer type: - "null" - array width: description: The width of the photo. type: - "null" - integer url: description: The URL of the user's profile photo. type: - "null" - string inline: description: Specifies if the photo should be displayed inline. type: - "null" - boolean content_url: description: The URL to access the photo content. type: - "null" - string content_type: description: The content type of the photo. type: - "null" - string file_name: description: The file name of the photo. type: - "null" - string size: description: The size of the photo. type: - "null" - integer mapped_content_url: description: The mapped URL to access the photo content. type: - "null" - string id: description: The ID of the photo. type: - "null" - integer height: description: The height of the photo. type: - "null" - integer name: description: The name of the user. type: - "null" - string shared: description: Indicates if the user's account is shared. type: - "null" - boolean id: description: Unique identifier for the user. type: - "null" - integer created_at: description: The datetime when the user account was created. type: - "null" - string format: date-time suspended: description: Indicates if the user's account is suspended. type: - "null" - boolean shared_agent: description: Specifies if the user is a shared agent. type: - "null" - boolean shared_phone_number: description: Specifies if the user has a shared phone number. type: - "null" - boolean user_fields: description: Custom fields associated with the user. type: - "null" - object properties: {} additionalProperties: true last_login_at: description: The datetime of the user's last login. type: - "null" - string format: date-time alias: description: An alternative name or identifier for the user. type: - "null" - string two_factor_auth_enabled: description: Specifies if two-factor authentication is enabled for the user. type: - "null" - boolean notes: description: Any notes or comments related to the user. type: - "null" - string default_group_id: description: The default group ID for the user. type: - "null" - integer url: description: The URL of the user's details. type: - "null" - string active: description: Indicates if the user is currently active. type: - "null" - boolean permanently_deleted: description: Specifies if the user has been permanently deleted. type: - "null" - boolean locale_id: description: The locale ID of the user. type: - "null" - integer custom_role_id: description: The custom role ID assigned to the user. type: - "null" - integer ticket_restriction: description: Specifies the user's ticket restriction. type: - "null" - string locale: description: The preferred locale of the user. type: - "null" - string report_csv: description: The report in CSV format associated with the user. type: - "null" - boolean iana_time_zone: description: The IANA time zone of the user. type: - "null" - string organization_memberships: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: default: description: Flag indicating if this organization membership is the default one for the user. type: - "null" - boolean url: description: The URL for accessing the details of this organization membership. type: - "null" - string updated_at: description: The date and time when the organization membership was last updated. type: - "null" - string format: date-time created_at: description: The date and time when the organization membership was created. type: - "null" - string format: date-time id: description: Unique identifier for the organization membership. type: - "null" - integer user_id: description: The ID of the user associated with the organization membership. type: - "null" - integer organization_id: description: The ID of the organization associated with the membership. type: - "null" - integer organization_name: description: The name of the organization associated with the membership. type: - "null" - string view_tickets: description: Flag indicating if the user can view tickets within the organization. type: - "null" - boolean user_identities: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: verified: description: Indicates if the user identity is verified. type: - "null" - boolean primary: description: Indicates if the user identity is the user's primary. type: - "null" - boolean type: description: The type of user identity (e.g. email). type: - "null" - string value: description: The user identity value. type: - "null" - string user_id: description: The ID of the user the identity belongs to. type: - "null" - integer id: description: Unique identifier for the user identity. type: - "null" - integer created_at: description: The datetime when the user identity was created. type: - "null" - string format: date-time updated_at: description: The datetime when the user identity was updated. type: - "null" - string format: date-time ticket_metric_events: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: metric: description: Type of metric being tracked for the ticket type: - "null" - string id: description: Unique identifier for the ticket metric event type: - "null" - integer time: description: Timestamp when the metric event occurred type: - "null" - string instance_id: description: Unique identifier for the specific instance of the metric event type: - "null" - integer ticket_id: description: Unique identifier for the ticket associated with the metric event type: - "null" - integer type: description: Type of metric event (e.g., update, change, escalation) type: - "null" - string ticket_forms: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: agent_conditions: description: Conditions that restrict when the ticket form is available to agents. type: - "null" - array end_user_conditions: description: Conditions that restrict when the ticket form is available to end users. type: - "null" - array created_at: description: The date and time when the ticket form was created. type: - "null" - string format: date-time name: description: The name of the ticket form. type: - "null" - string display_name: description: The display name of the ticket form. type: - "null" - string raw_display_name: description: The raw display name of the ticket form. type: - "null" - string position: description: The order position of the ticket form within a list. type: - "null" - integer raw_name: description: The raw name of the ticket form. type: - "null" - string updated_at: description: The date and time when the ticket form was last updated. type: - "null" - string format: date-time active: description: Indicates if the ticket form is currently active. type: - "null" - boolean default: description: Indicates if the ticket form is the default form. type: - "null" - boolean in_all_brands: description: Indicates if the ticket form is available in all brands. type: - "null" - boolean end_user_visible: description: Indicates if the ticket form is visible to end users. type: - "null" - boolean url: description: The URL to access the ticket form. type: - "null" - string id: description: Unique identifier for the ticket form. type: - "null" - integer restricted_brand_ids: description: An array of brand IDs under which the ticket form is restricted to be used. type: - "null" - array items: type: - "null" - integer ticket_field_ids: description: An array of ticket field IDs that are associated with the ticket form. type: - "null" - array items: type: - "null" - integer attribute_definitions: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: title: description: Title of the attribute definition. type: - "null" - string subject: description: Subject or topic of this attribute definition. type: - "null" - string type: description: Data type of the attribute. type: - "null" - string group: description: The group to which this attribute definition belongs. type: - "null" - string nullable: description: Indicates if this attribute definition can be null. type: - "null" - boolean repeatable: description: Specifies if this attribute definition can be repeated. type: - "null" - boolean operators: description: List of operators allowed for this attribute definition. type: - "null" - array items: description: Operator details. type: - "null" - object properties: value: description: Value associated with the operator. type: - "null" - string title: description: Title/name of the operator. type: - "null" - string terminal: description: Whether the operator is terminal or not. type: - "null" - boolean values: description: List of values available for this attribute definition. type: - "null" - array items: description: Value details. type: - "null" - object properties: value: description: Actual value. type: - "null" - string title: description: Title/name of the value. type: - "null" - string enabled: description: Whether the value is enabled or disabled. type: - "null" - boolean condition: description: The condition that needs to be met for this attribute definition. type: - "null" - string confition: description: Missing field description, please add. type: - "null" - string metadata: description: Additional metadata related to this attribute definition. type: - "null" - object properties: collection_key: description: Key for the collection associated with this metadata. type: - "null" - string item_key: description: Key for the item associated with this metadata. type: - "null" - string additionalProperties: true macros: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: id: description: Unique identifier for the macro type: - "null" - integer position: description: The position/order of the macro type: - "null" - integer restriction: description: Restrictions applied to the macro. properties: id: description: Unique identifier for the restriction type: - "null" - integer ids: description: IDs for specific restrictions applied. items: description: Unique identifiers associated with the restriction type: - "null" - integer type: - "null" - array type: description: Type of restriction applied type: - "null" - string type: - "null" - object title: description: The title of the macro type: - "null" - string created_at: description: The date and time when the macro was created type: - "null" - string format: date-time url: description: URL to access the macro details type: - "null" - string description: description: Additional information or notes about the macro type: - "null" - string default: description: Indicates if the macro is set as the default type: - "null" - boolean updated_at: description: The date and time when the macro was last updated type: - "null" - string format: date-time active: description: Indicates if the macro is currently active type: - "null" - boolean raw_title: description: The title of the macro in its raw form type: - "null" - string actions: description: List of actions defined within the macro. items: description: Properties of each action within the macro. properties: field: description: The field affected by the action type: - "null" - string value: description: The value assigned to the field type: - "null" - string type: - "null" - object type: - "null" - array ticket_fields: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: created_at: description: The date and time when the ticket field was created. type: - "null" - string format: date-time title_in_portal: description: The title of the ticket field visible in the portal. type: - "null" - string visible_in_portal: description: Indicates whether the ticket field is visible in the portal or not. type: - "null" - boolean collapsed_for_agents: description: Specifies if the ticket field is collapsed for agents. type: - "null" - boolean regexp_for_validation: description: Regular expression for validation of the ticket field value. type: - "null" - string title: description: The title of the ticket field. type: - "null" - string position: description: Position of the ticket field. type: - "null" - integer type: description: Type of the ticket field. type: - "null" - string editable_in_portal: description: Indicates whether the ticket field is editable in the portal or not. type: - "null" - boolean raw_title_in_portal: description: The raw title of the ticket field visible in the portal. type: - "null" - string raw_description: description: The raw description of the ticket field. type: - "null" - string custom_field_options: description: Options for custom ticket field with properties like default, id, name, raw_name, and value. items: properties: name: description: The name of the custom field option. type: - "null" - string value: description: The value associated with the custom field option. type: - "null" - string id: description: The unique identifier of the custom field option. type: - "null" - integer default: description: Indicates if this custom field value is the default one. type: - "null" - boolean raw_name: description: The raw name of the custom field option. type: - "null" - string type: - "null" - object type: - "null" - array updated_at: description: The date and time when the ticket field was last updated. type: - "null" - string format: date-time tag: description: Tag associated with the ticket field. type: - "null" - string removable: description: Specifies if the ticket field is removable. type: - "null" - boolean active: description: Indicates whether the ticket field is active or not. type: - "null" - boolean url: description: URL of the ticket field. type: - "null" - string raw_title: description: The raw title of the ticket field. type: - "null" - string required: description: Indicates if the ticket field is required. type: - "null" - boolean id: description: The unique identifier of the ticket field. type: - "null" - integer description: description: Description of the ticket field. type: - "null" - string agent_description: description: The description of the ticket field visible to agents. type: - "null" - string required_in_portal: description: Specifies if the ticket field is required in the portal. type: - "null" - boolean system_field_options: description: Options for the system field associated with the ticket field. type: - "null" - array custom_statuses: description: Custom statuses associated with the ticket field. type: - "null" - array key: description: Key associated with the ticket field. type: - "null" - string sub_type_id: description: The subtype identifier of the ticket field. type: - "null" - integer schedules: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: id: description: The unique identifier for the schedule type: - "null" - integer name: description: The name of the schedule type: - "null" - string intervals: description: List of time intervals within the schedule type: - "null" - array items: type: - "null" - object properties: start_time: description: The start time of a specific interval type: - "null" - integer end_time: description: The end time of a specific interval type: - "null" - integer time_zone: description: The time zone in which the schedule operates type: - "null" - string created_at: description: The date and time when the schedule was created type: - "null" - string format: date-time updated_at: description: The date and time when the schedule was last updated type: - "null" - string format: date-time sections: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: id: description: Unique identifier for the section. type: - "null" - integer name: description: The name of the section. type: - "null" - string category_id: description: The id of the category to which this section belongs. type: - "null" - integer parent_section_id: description: The id of the section to which this section belongs. Only writable for Guide Enterprise customers. type: - "null" - integer position: description: The position of this section in the section list. type: - "null" - integer description: description: The description of the section. type: - "null" - string locale: description: The locale where the section is displayed. type: - "null" - string url: description: The API url of this section. type: - "null" - string html_url: description: The url of this section in Help Center. type: - "null" - string source_locale: description: The source (default) locale of the section. type: - "null" - string theme_template: description: The theme template name used to display this section in Help Center. type: - "null" - string outdated: description: Whether the section is out of date. type: - "null" - string created_at: description: The time at which the section was created. type: - "null" - string format: date-time updated_at: description: The time at which the section was last updated. type: - "null" - string format: date-time tickets: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: organization_id: type: - "null" - integer requester_id: type: - "null" - integer problem_id: type: - "null" - integer is_public: type: - "null" - boolean description: type: - "null" - string follower_ids: items: type: - "null" - integer type: - "null" - array submitter_id: type: - "null" - integer generated_timestamp: type: - "null" - integer brand_id: type: - "null" - integer id: type: - "null" - integer group_id: type: - "null" - integer type: type: - "null" - string recipient: type: - "null" - string collaborator_ids: items: type: - "null" - integer type: - "null" - array tags: items: type: - "null" - string type: - "null" - array has_incidents: type: - "null" - boolean created_at: type: - "null" - string format: date-time raw_subject: type: - "null" - string status: type: - "null" - string updated_at: type: - "null" - string format: date-time fields: items: properties: id: type: - "null" - integer value: type: - "null" - string type: - "null" - object additionalProperties: true type: - "null" - array custom_fields: items: properties: id: type: - "null" - integer value: type: - "null" - string type: - "null" - object type: - "null" - array url: type: - "null" - string allow_channelback: type: - "null" - boolean allow_attachments: type: - "null" - boolean due_at: type: - "null" - string format: date-time followup_ids: items: type: - "null" - integer type: - "null" - array priority: type: - "null" - string assignee_id: type: - "null" - integer subject: type: - "null" - string external_id: type: - "null" - string via: type: - "null" - object properties: channel: type: - "null" - string source: type: - "null" - object properties: from: type: - "null" - object properties: name: type: - "null" - string address: type: - "null" - string original_recipients: type: - "null" - array items: type: - "null" - string ticket_id: type: - "null" - integer subject: type: - "null" - string channel: type: - "null" - string id: type: - "null" - integer title: type: - "null" - string deleted: type: - "null" - boolean revision_id: type: - "null" - integer topic_id: type: - "null" - integer topic_name: type: - "null" - string profile_url: type: - "null" - string username: type: - "null" - string phone: type: - "null" - string formatted_phone: type: - "null" - string facebook_id: type: - "null" - string to: type: - "null" - object properties: brand_id: type: - "null" - integer name: type: - "null" - string address: type: - "null" - string email_ccs: type: - "null" - string profile_url: type: - "null" - string username: type: - "null" - string phone: type: - "null" - string formatted_phone: type: - "null" - string facebook_id: type: - "null" - string rel: type: - "null" - string ticket_form_id: type: - "null" - integer deleted_ticket_form_id: type: - "null" - integer satisfaction_rating: type: - "null" - object - string properties: id: type: - "null" - integer assignee_id: type: - "null" - integer group_id: type: - "null" - integer reason_id: type: - "null" - integer requester_id: type: - "null" - integer ticket_id: type: - "null" - integer updated_at: type: - "null" - string format: date-time created_at: type: - "null" - string format: date-time url: type: - "null" - string score: type: - "null" - string reason: type: - "null" - string comment: type: - "null" - string sharing_agreement_ids: type: - "null" - array items: type: - "null" - integer email_cc_ids: type: - "null" - array items: type: - "null" - integer forum_topic_id: type: - "null" - integer custom_status_id: type: - "null" - integer from_messaging_channel: type: - "null" - boolean groups: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: name: description: The name of the group. type: - "null" - string created_at: description: The date and time when the group was created. type: - "null" - string format: date-time url: description: The URL of the group. type: - "null" - string updated_at: description: The date and time when the group was last updated. type: - "null" - string format: date-time default: description: Indicates if the group is set as the default group. type: - "null" - boolean deleted: description: Indicates if the group has been deleted. type: - "null" - boolean description: description: The description or details about the group. type: - "null" - string id: description: The unique identifier of the group. type: - "null" - integer is_public: description: Indicates whether the group is public or private. type: - "null" - boolean posts: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: author_id: description: The unique identifier of the author of the post. type: - "null" - number closed: description: Indicates whether the post is closed or open for further comments. type: - "null" - boolean comment_count: description: The total number of comments on the post. type: - "null" - integer content_tag_ids: description: Array containing unique identifiers of tags associated with the post. type: - "null" - array items: type: - "null" - number details: description: Additional details or content of the post. type: - "null" - string featured: description: Indicates whether the post is featured or not. type: - "null" - boolean follower_count: description: The number of users following the post for updates. type: - "null" - integer frozen: description: Indicates whether the post content is frozen or editable. type: - "null" - boolean html_url: description: The URL that directs to the HTML version of the post. type: - "null" - string id: description: The unique identifier of the post. type: - "null" - number non_author_editor_id: description: The unique identifier of a user who is not the author but edited the post. type: - "null" - integer non_author_updated_at: description: The date and time when a non-author user last updated the post. type: - "null" - string format: date-time pinned: description: Indicates if the post is pinned to stay on top of the list. type: - "null" - boolean status: description: The current status of the post, such as 'open', 'solved', 'archived', etc. type: - "null" - string title: description: The title or headline of the post. type: - "null" - string topic_id: description: The identifier of the topic under which the post belongs. type: - "null" - integer vote_count: description: The total count of votes the post has received. type: - "null" - integer vote_sum: description: The sum of all votes received considering both upvotes and downvotes. type: - "null" - integer created_at: description: The date and time when the post was created. type: - "null" - string format: date-time url: description: The URL that points to the post details. type: - "null" - string description: description: A brief summary or overview of the post content. type: - "null" - string updated_at: description: The date and time of the last update made to the post. type: - "null" - string format: date-time user_fields: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: active: description: Flag indicating if the user field is currently active or not. type: - "null" - boolean created_at: description: Timestamp indicating when the user field was created. type: - "null" - string format: date-time description: description: Detailed description of the user field. type: - "null" - string id: description: Unique identifier for the user field. type: - "null" - number key: description: Unique key associated with the user field. type: - "null" - string position: description: Position index of the user field in the user profile. type: - "null" - number raw_description: description: Raw HTML content for the user field description. type: - "null" - string raw_title: description: Raw HTML content for the user field title. type: - "null" - string regexp_for_validation: description: Regular expression for validating the user field value. type: - "null" - string system: description: Flag indicating if the user field is a system default field or a custom field. type: - "null" - boolean tag: description: Tag associated with the user field for categorization. type: - "null" - string title: description: Title or name of the user field. type: - "null" - string type: description: Data type of the user field value. type: - "null" - string updated_at: description: Timestamp indicating when the user field was last updated. type: - "null" - string format: date-time url: description: URL pointing to the user field's endpoint for detailed information. type: - "null" - string votes: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: created_at: description: Timestamp when the vote was created type: - "null" - string format: date-time id: description: Unique identifier for the vote type: - "null" - integer item_id: description: Identifier of the item that was voted on type: - "null" - integer item_type: description: Type of the item that was voted on (e.g., ticket, article) type: - "null" - string updated_at: description: Timestamp when the vote was last updated type: - "null" - string format: date-time url: description: URL of the resource related to the vote type: - "null" - string user_id: description: Unique identifier of the user who voted type: - "null" - integer value: description: Value of the vote (e.g., upvote, downvote) type: - "null" - integer brands: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: id: description: Unique identifier for the brand. type: - "null" - integer name: description: Name of the brand. type: - "null" - string logo: description: URL of the brand's logo. type: - "null" - string brand_url: description: URL of the brand's website. type: - "null" - string host_mapping: description: Mapping for the brand's host. type: - "null" - string subdomain: description: Subdomain assigned to the brand. type: - "null" - string url: description: URL of the brand's API endpoint. type: - "null" - string ticket_form_ids: description: List of IDs for ticket forms associated with the brand. type: - "null" - array signature_template: description: Template for the brand's signature. type: - "null" - string has_help_center: description: Indicates whether the brand has a help center. type: - "null" - boolean help_center_state: description: State of the help center for the brand. type: - "null" - string active: description: Indicates whether the brand is currently active or not. type: - "null" - boolean default: description: Indicates if the brand is the default brand. type: - "null" - boolean is_deleted: description: Indicates if the brand has been deleted. type: - "null" - boolean created_at: description: Timestamp of when the brand was created. type: - "null" - string format: date-time updated_at: description: Timestamp of when the brand was last updated. type: - "null" - string format: date-time articles: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: author_id: description: The unique identifier of the author who created the article. type: - "null" - integer body: description: The main content or body of the article. type: - "null" - string comments_disabled: description: Indicates whether comments are disabled for the article. type: - "null" - boolean content_tag_ids: description: An array of unique identifiers of content tags associated with the article. type: - "null" - array created_at: description: The date and time when the article was created. type: - "null" - string format: date-time draft: description: Indicates whether the article is in draft mode. type: - "null" - boolean edited_at: description: The date and time when the article was last edited. type: - "null" - string format: date-time html_url: description: The URL of the article in HTML format. type: - "null" - string id: description: The unique identifier of the article. type: - "null" - integer label_names: description: An array of label names associated with the article. type: - "null" - array locale: description: The language locale of the article. type: - "null" - string name: description: The name of the article. type: - "null" - string outdated: description: Indicates whether the article is outdated. type: - "null" - boolean outdated_locales: description: An array of language locales in which the article is outdated. type: - "null" - array permission_group_id: description: The unique identifier of the permission group for the article. type: - "null" - integer position: description: The position order of the article within its section. type: - "null" - integer promoted: description: Indicates whether the article is promoted. type: - "null" - boolean section_id: description: The unique identifier of the section to which the article belongs. type: - "null" - integer source_locale: description: The original language locale of the article. type: - "null" - string title: description: The title or heading of the article. type: - "null" - string updated_at: description: The date and time when the article was last updated. type: - "null" - string format: date-time url: description: The URL of the article. type: - "null" - string user_segment_id: description: The unique identifier of the user segment targeted by the article. type: - "null" - integer vote_count: description: The total count of votes received for the article. type: - "null" - integer vote_sum: description: The sum of votes received for the article (considering upvotes and downvotes). type: - "null" - integer tags: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: count: description: The number of tags associated with the fetched data. type: - "null" - integer name: description: The name of the tag associated with the fetched data. type: - "null" - string audit_logs: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: action: description: The type of action performed in the audit log. type: - "null" - string action_label: description: A human-readable label representing the action. type: - "null" - string actor_id: description: The ID of the actor (user) who performed the action. type: - "null" - number actor_name: description: The name of the actor (user) who performed the action. type: - "null" - string change_description: description: Description of the change made. type: - "null" - string created_at: description: The date and time when the audit log entry was created. type: - "null" - string format: date-time id: description: Unique identifier for the audit log entry. type: - "null" - number ip_address: description: The IP address from which the action was performed. type: - "null" - string source_id: description: The ID of the source object related to the action. type: - "null" - number source_label: description: A human-readable label representing the source object. type: - "null" - string source_type: description: The type of the source object. type: - "null" - string url: description: The URL associated with the action or source object. type: - "null" - string ticket_skips: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: created_at: description: The timestamp when the ticket skip entry was created type: - "null" - string format: date-time id: description: Unique identifier for the ticket skip entry type: - "null" - integer reason: description: The reason for skipping the ticket type: - "null" - string ticket_id: description: The unique identifier of the skipped ticket type: - "null" - integer updated_at: description: The timestamp when the ticket skip entry was last updated type: - "null" - string format: date-time user_id: description: The unique identifier of the user who skipped the ticket type: - "null" - integer ticket: description: Information related to the skipped ticket $schema: https://json-schema.org/draft-07/schema# title: Tickets type: - "null" - object properties: organization_id: type: - "null" - integer requester_id: type: - "null" - integer problem_id: type: - "null" - integer is_public: type: - "null" - boolean description: type: - "null" - string follower_ids: items: type: - "null" - integer type: - "null" - array submitter_id: type: - "null" - integer generated_timestamp: type: - "null" - integer brand_id: type: - "null" - integer id: type: - "null" - integer group_id: type: - "null" - integer type: type: - "null" - string recipient: type: - "null" - string collaborator_ids: items: type: - "null" - integer type: - "null" - array tags: items: type: - "null" - string type: - "null" - array has_incidents: type: - "null" - boolean created_at: type: - "null" - string format: date-time raw_subject: type: - "null" - string status: type: - "null" - string updated_at: type: - "null" - string format: date-time fields: items: properties: id: type: - "null" - integer value: type: - "null" - string type: - "null" - object additionalProperties: true type: - "null" - array custom_fields: items: properties: id: type: - "null" - integer value: type: - "null" - string type: - "null" - object type: - "null" - array url: type: - "null" - string allow_channelback: type: - "null" - boolean allow_attachments: type: - "null" - boolean due_at: type: - "null" - string format: date-time followup_ids: items: type: - "null" - integer type: - "null" - array priority: type: - "null" - string assignee_id: type: - "null" - integer subject: type: - "null" - string external_id: type: - "null" - string via: type: - "null" - object properties: channel: type: - "null" - string source: type: - "null" - object properties: from: type: - "null" - object properties: name: type: - "null" - string address: type: - "null" - string original_recipients: type: - "null" - array items: type: - "null" - string ticket_id: type: - "null" - integer subject: type: - "null" - string channel: type: - "null" - string id: type: - "null" - integer title: type: - "null" - string deleted: type: - "null" - boolean revision_id: type: - "null" - integer topic_id: type: - "null" - integer topic_name: type: - "null" - string profile_url: type: - "null" - string username: type: - "null" - string phone: type: - "null" - string formatted_phone: type: - "null" - string facebook_id: type: - "null" - string to: type: - "null" - object properties: brand_id: type: - "null" - integer name: type: - "null" - string address: type: - "null" - string email_ccs: type: - "null" - string profile_url: type: - "null" - string username: type: - "null" - string phone: type: - "null" - string formatted_phone: type: - "null" - string facebook_id: type: - "null" - string rel: type: - "null" - string ticket_form_id: type: - "null" - integer deleted_ticket_form_id: type: - "null" - integer satisfaction_rating: type: - "null" - object - string properties: id: type: - "null" - integer assignee_id: type: - "null" - integer group_id: type: - "null" - integer reason_id: type: - "null" - integer requester_id: type: - "null" - integer ticket_id: type: - "null" - integer updated_at: type: - "null" - string format: date-time created_at: type: - "null" - string format: date-time url: type: - "null" - string score: type: - "null" - string reason: type: - "null" - string comment: type: - "null" - string sharing_agreement_ids: type: - "null" - array items: type: - "null" - integer email_cc_ids: type: - "null" - array items: type: - "null" - integer forum_topic_id: type: - "null" - integer custom_status_id: type: - "null" - integer from_messaging_channel: type: - "null" - boolean ticket_activities: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: actor: type: - "null" - object properties: id: type: - "null" - integer name: type: - "null" - string description: The full user record of the user responsible for the ticket activity. See Users actor_id: type: - "null" - integer description: The id of the user responsible for the ticket activity. An actor_id of -1 is a Zendesk system user, such as an automations action. created_at: type: - "null" - string format: date-time description: When the record was created description: type: - "null" - string description: Description of the activity id: type: - "null" - integer description: Automatically assigned on creation object: type: - "null" - object description: The content of the activity. Can be a ticket, comment, or change. target: type: - "null" - object description: The target of the activity, a ticket. title: type: - "null" - string description: Description of the activity updated_at: type: - "null" - string format: date-time description: When the record was last updated url: type: - "null" - string description: The API url of the activity user: type: - "null" - object description: The full user record of the agent making the request. See Users user_id: type: - "null" - integer description: The id of the agent making the request verb: type: - "null" - string description: The type of activity. Can be "tickets.assignment", "tickets.comment", or "tickets.priority_increase" custom_roles: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: id: description: Unique identifier of the custom role type: - "null" - integer name: description: Name of the custom role type: - "null" - string description: description: Brief description of the custom role type: - "null" - string role_type: description: Type of the custom role (e.g., admin, agent, etc) type: - "null" - integer team_member_count: description: Number of team members with this custom role type: - "null" - integer configuration: description: This object contains custom configuration settings. properties: assign_tickets_to_any_group: description: Allows assigning tickets to any group within the organization type: - "null" - boolean chat_access: description: Grants access to chat functionality type: - "null" - boolean manage_automations: description: Permission to manage automations type: - "null" - boolean manage_group_memberships: description: Ability to manage group memberships type: - "null" - boolean manage_groups: description: Permission to manage groups type: - "null" - boolean manage_macro_content_suggestions: description: Ability to manage macro content suggestions type: - "null" - boolean manage_organizations: description: Ability to manage organizations type: - "null" - boolean manage_skills: description: Ability to manage skills type: - "null" - boolean manage_suspended_tickets: description: Ability to manage suspended tickets type: - "null" - boolean manage_triggers: description: Ability to manage triggers type: - "null" - boolean manage_slas: description: Permission to manage SLAs (Service Level Agreements) type: - "null" - boolean read_macro_content_suggestions: description: Access for reading macro content suggestions type: - "null" - boolean ticket_redaction: description: Ability to redact sensitive information from tickets type: - "null" - boolean view_filter_tickets: description: Ability to filter and search through tickets type: - "null" - boolean view_reduced_count: description: View reduced counts of specific data type: - "null" - boolean manage_roles: description: Permissions related to managing roles type: - "null" - string custom_objects: description: Custom objects configuration. type: - "null" - object properties: {} additionalProperties: true manage_deletion_schedules: description: Ability to manage deletion schedules type: - "null" - string end_user_list_access: description: Enables access to the end user list type: - "null" - string end_user_profile_access: description: Allows viewing and editing end user profiles type: - "null" - string explore_access: description: Grants access to explore functionality type: - "null" - string forum_access: description: Provides access to forums type: - "null" - string forum_access_restricted_content: description: Access to restricted forum content if applicable type: - "null" - boolean group_access: description: Permissions related to accessing and managing groups type: - "null" - boolean light_agent: description: Indicates if the role is a light agent with limited capabilities type: - "null" - boolean macro_access: description: Allows usage of macros type: - "null" - string manage_business_rules: description: Ability to manage business rules type: - "null" - boolean manage_contextual_workspaces: description: Permissions to manage contextual workspaces type: - "null" - boolean manage_dynamic_content: description: Permission to manage dynamic content type: - "null" - boolean manage_extensions_and_channels: description: Access and control over extensions and communication channels type: - "null" - boolean manage_facebook: description: Allows management of Facebook integration type: - "null" - boolean manage_organization_fields: description: Permission to manage organization-specific fields type: - "null" - boolean manage_ticket_fields: description: Allows managing ticket fields type: - "null" - boolean manage_ticket_forms: description: Permissions for managing ticket forms type: - "null" - boolean manage_user_fields: description: Permission to manage user-specific fields type: - "null" - boolean manage_team_members: description: Permissions to manage team members and their roles type: - "null" - string moderate_forums: description: Grants moderation abilities for forums type: - "null" - boolean organization_editing: description: Allows editing organization details type: - "null" - boolean organization_notes_editing: description: Permission to edit organization notes type: - "null" - boolean report_access: description: Permission to access reporting features type: - "null" - string side_conversation_create: description: Ability to initiate side conversations type: - "null" - boolean ticket_access: description: Permissions related to accessing and managing tickets type: - "null" - string ticket_bulk_edit: description: Ability to perform bulk editing of tickets type: - "null" - boolean ticket_comment_access: description: Allows adding comments to tickets type: - "null" - string ticket_deletion: description: Permission to delete tickets type: - "null" - boolean ticket_editing: description: Ability to edit ticket details type: - "null" - boolean ticket_merge: description: Permission to merge tickets type: - "null" - boolean ticket_tag_editing: description: Access to editing ticket tags type: - "null" - boolean twitter_search_access: description: Access to Twitter search functionality type: - "null" - boolean user_view_access: description: Allows viewing user-related information type: - "null" - string view_access: description: Permissions to view various resources type: - "null" - string view_deleted_tickets: description: Access to view deleted tickets if applicable type: - "null" - boolean voice_access: description: Permission to access voice-related features type: - "null" - boolean voice_dashboard_access: description: Access to voice dashboards type: - "null" - boolean type: - "null" - object created_at: description: Date and time of the creation of the custom role type: - "null" - string format: date-time updated_at: description: Date and time of the last update of the custom role type: - "null" - string format: date-time manage_macro_content_suggestions: description: Ability to manage macro content suggestions type: - "null" - boolean read_macro_content_suggestions: description: Access for reading macro content suggestions type: - "null" - boolean article_comments: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: author_id: description: The unique identifier of the author of the comment. type: - "null" - integer body: description: The content or text of the comment. type: - "null" - string created_at: description: The timestamp when the comment was created. type: - "null" - string format: date-time html_url: description: The URL link to the HTML representation of the comment. type: - "null" - string id: description: The unique identifier of the comment. type: - "null" - integer locale: description: The locale or language of the comment. type: - "null" - string non_author_editor_id: description: The unique identifier of a non-author who edited the comment. type: - "null" - integer non_author_updated_at: description: The timestamp when the non-author last updated the comment. type: - "null" - string format: date-time source_id: description: The ID of the source associated with the comment. type: - "null" - integer source_type: description: The type of the source associated with the comment. type: - "null" - string updated_at: description: The timestamp when the comment was last updated. type: - "null" - string format: date-time url: description: The URL link to the comment resource. type: - "null" - string vote_count: description: The total count of votes received on the comment. type: - "null" - integer vote_sum: description: The sum of votes received on the comment, considering upvotes and downvotes. type: - "null" - integer topics: $schema: https://json-schema.org/draft-07/schema# type: - "null" - object properties: html_url: description: The URL of the topic in HTML format. type: - "null" - string id: description: The unique identifier of the topic. type: - "null" - number name: description: The name/title of the topic. type: - "null" - string url: description: The URL of the topic in API format. type: - "null" - string created_at: description: The date and time when this topic was created. type: - "null" - string format: date-time community_id: description: The unique identifier of the community to which this topic belongs. type: - "null" - integer updated_at: description: The date and time when this topic was last updated. type: - "null" - string format: date-time description: description: The textual description of the topic. type: - "null" - string manageable_by: description: The user or group who can manage this topic. type: - "null" - string follower_count: description: The count of users following this topic. type: - "null" - number position: description: The order position of this topic relative to others. type: - "null" - number user_segment_id: description: The identifier of the user segment associated with this topic. type: - "null" - number