diff --git a/airbyte-integrations/connectors/source-productive/README.md b/airbyte-integrations/connectors/source-productive/README.md new file mode 100644 index 000000000000..edb1ac1d111b --- /dev/null +++ b/airbyte-integrations/connectors/source-productive/README.md @@ -0,0 +1,39 @@ +# Productive +This directory contains the manifest-only connector for `source-productive`. + +## Documentation reference: +Visit `https://developer.productive.io/index.html#top` for API documentation + +## Authentication setup +`Source-productive` uses api key authentication, +Visit `https://app.productive.io/ORG_ID-UUID/settings/api-integrations` for getting your API Key and organization ID + + +## Usage +There are multiple ways to use this connector: +- You can use this connector as any other connector in Airbyte Marketplace. +- You can load this connector in `pyairbyte` using `get_source`! +- You can open this connector in Connector Builder, edit it, and publish to your workspaces. + +Please refer to the manifest-only connector documentation for more details. + +## Local Development +We recommend you use the Connector Builder to edit this connector. + +But, if you want to develop this connector locally, you can use the following steps. + +### Environment Setup +You will need `airbyte-ci` installed. You can find the documentation [here](airbyte-ci). + +### Build +This will create a dev image (`source-productive:dev`) that you can use to test the connector locally. +```bash +airbyte-ci connectors --name=source-productive build +``` + +### Test +This will run the acceptance tests for the connector. +```bash +airbyte-ci connectors --name=source-productive test +``` + diff --git a/airbyte-integrations/connectors/source-productive/acceptance-test-config.yml b/airbyte-integrations/connectors/source-productive/acceptance-test-config.yml new file mode 100644 index 000000000000..24a11e497ef5 --- /dev/null +++ b/airbyte-integrations/connectors/source-productive/acceptance-test-config.yml @@ -0,0 +1,17 @@ +# See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) +# for more information about how to configure these tests +connector_image: airbyte/source-productive:dev +acceptance_tests: + spec: + tests: + - spec_path: "manifest.yaml" + connection: + bypass_reason: "This is a builder contribution, and we do not have secrets at this time" + discovery: + bypass_reason: "This is a builder contribution, and we do not have secrets at this time" + basic_read: + bypass_reason: "This is a builder contribution, and we do not have secrets at this time" + incremental: + bypass_reason: "This is a builder contribution, and we do not have secrets at this time" + full_refresh: + bypass_reason: "This is a builder contribution, and we do not have secrets at this time" diff --git a/airbyte-integrations/connectors/source-productive/icon.svg b/airbyte-integrations/connectors/source-productive/icon.svg new file mode 100644 index 000000000000..ee852321de5f --- /dev/null +++ b/airbyte-integrations/connectors/source-productive/icon.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/airbyte-integrations/connectors/source-productive/manifest.yaml b/airbyte-integrations/connectors/source-productive/manifest.yaml new file mode 100644 index 000000000000..654a74e3d3a8 --- /dev/null +++ b/airbyte-integrations/connectors/source-productive/manifest.yaml @@ -0,0 +1,15959 @@ +version: 4.6.2 + +type: DeclarativeSource + +description: |- + Website: https://app.productive.io/ + Auth page: https://app.productive.io/ORG_ID-UUID/settings/api-integrations + API Docs: https://developer.productive.io/index.html#top + +check: + type: CheckStream + stream_names: + - activities + +definitions: + streams: + tags: + type: DeclarativeStream + name: tags + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: tags + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/tags" + deals: + type: DeclarativeStream + name: deals + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: deals + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/deals" + pages: + type: DeclarativeStream + name: pages + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: pages + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/pages" + tasks: + type: DeclarativeStream + name: tasks + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: tasks + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/tasks" + users: + type: DeclarativeStream + name: users + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: users + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/users" + boards: + type: DeclarativeStream + name: boards + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: boards + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/boards" + events: + type: DeclarativeStream + name: events + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: events + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/events" + prices: + type: DeclarativeStream + name: prices + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: prices + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/prices" + timers: + type: DeclarativeStream + name: timers + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: timers + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/timers" + filters: + type: DeclarativeStream + name: filters + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: filters + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/filters" + widgets: + type: DeclarativeStream + name: widgets + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: widgets + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/widgets" + bookings: + type: DeclarativeStream + name: bookings + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: bookings + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/bookings" + comments: + type: DeclarativeStream + name: comments + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: comments + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/comments" + expenses: + type: DeclarativeStream + name: expenses + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: expenses + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/expenses" + holidays: + type: DeclarativeStream + name: holidays + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: holidays + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/holidays" + invoices: + type: DeclarativeStream + name: invoices + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: invoices + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/invoices" + payments: + type: DeclarativeStream + name: payments + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: payments + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/payments" + projects: + type: DeclarativeStream + name: projects + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: projects + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/projects" + salaries: + type: DeclarativeStream + name: salaries + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: salaries + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/salaries" + sections: + type: DeclarativeStream + name: sections + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: sections + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sections" + services: + type: DeclarativeStream + name: services + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: services + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/services" + sessions: + type: DeclarativeStream + name: sessions + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: sessions + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/sessions" + companies: + type: DeclarativeStream + name: companies + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: companies + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/companies" + pipelines: + type: DeclarativeStream + name: pipelines + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: pipelines + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/pipelines" + tax_rates: + type: DeclarativeStream + name: tax_rates + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: tax_rates + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/tax_rates" + workflows: + type: DeclarativeStream + name: workflows + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: workflows + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/workflows" + activities: + type: DeclarativeStream + name: activities + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: activities + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/activities" + dashboards: + type: DeclarativeStream + name: dashboards + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: dashboards + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/dashboards" + line_items: + type: DeclarativeStream + name: line_items + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: line_items + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/line_items" + rate_cards: + type: DeclarativeStream + name: rate_cards + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: rate_cards + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/rate_cards" + task_lists: + type: DeclarativeStream + name: task_lists + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: task_lists + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/task_lists" + attachments: + type: DeclarativeStream + name: attachments + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: attachments + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/attachments" + memberships: + type: DeclarativeStream + name: memberships + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: memberships + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/memberships" + entitlements: + type: DeclarativeStream + name: entitlements + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: entitlements + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/entitlements" + lost_reasons: + type: DeclarativeStream + name: lost_reasons + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: lost_reasons + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/lost_reasons" + subsidiaries: + type: DeclarativeStream + name: subsidiaries + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: subsidiaries + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/subsidiaries" + time_entries: + type: DeclarativeStream + name: time_entries + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: time_entries + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/time_entries" + custom_fields: + type: DeclarativeStream + name: custom_fields + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: custom_fields + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/custom_fields" + deal_statuses: + type: DeclarativeStream + name: deal_statuses + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: deal_statuses + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/deal_statuses" + organizations: + type: DeclarativeStream + name: organizations + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: organizations + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/organizations" + page_versions: + type: DeclarativeStream + name: page_versions + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: page_versions + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/page_versions" + service_types: + type: DeclarativeStream + name: service_types + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: service_types + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/service_types" + document_types: + type: DeclarativeStream + name: document_types + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: document_types + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/document_types" + exchange_rates: + type: DeclarativeStream + name: exchange_rates + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: exchange_rates + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/exchange_rates" + contact_entries: + type: DeclarativeStream + name: contact_entries + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: contact_entries + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/contact_entries" + approval_policies: + type: DeclarativeStream + name: approval_policies + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: approval_policies + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/approval_policies" + holiday_calendars: + type: DeclarativeStream + name: holiday_calendars + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: holiday_calendars + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/holiday_calendars" + payment_reminders: + type: DeclarativeStream + name: payment_reminders + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: payment_reminders + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/payment_reminders" + workflow_statuses: + type: DeclarativeStream + name: workflow_statuses + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: workflow_statuses + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/workflow_statuses" + project_assignments: + type: DeclarativeStream + name: project_assignments + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: project_assignments + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/project_assignments" + time_entry_versions: + type: DeclarativeStream + name: time_entry_versions + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: time_entry_versions + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/time_entry_versions" + custom_field_options: + type: DeclarativeStream + name: custom_field_options + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: custom_field_options + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/custom_field_options" + invoice_attributions: + type: DeclarativeStream + name: invoice_attributions + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: invoice_attributions + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/invoice_attributions" + reports_booking-reports: + type: DeclarativeStream + name: reports_booking-reports + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: reports/booking_reports + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/reports_booking-reports" + organization_memberships: + type: DeclarativeStream + name: organization_memberships + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: organization_memberships + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/organization_memberships" + reports_timesheet_reports: + type: DeclarativeStream + name: reports_timesheet_reports + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: reports/timesheet_reports + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/reports_timesheet_reports" + payment_reminder_sequences: + type: DeclarativeStream + name: payment_reminder_sequences + retriever: + type: SimpleRetriever + paginator: + type: DefaultPaginator + page_size_option: + type: RequestOption + field_name: page[size] + inject_into: request_parameter + page_token_option: + type: RequestOption + field_name: page[number] + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 10 + start_from_page: 1 + inject_on_first_request: true + requester: + $ref: "#/definitions/base_requester" + path: payment_reminder_sequences + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + max_retries: 4 + response_filters: + - type: HttpResponseFilter + action: RATE_LIMITED + http_codes: + - 429 + error_message: Rate limits hit + backoff_strategies: + - type: ExponentialBackoffStrategy + factor: 2 + request_parameters: + X-Organization-Id: "{{ config['organization_id'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - data + primary_key: + - id + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/payment_reminder_sequences" + base_requester: + type: HttpRequester + url_base: https://api.productive.io/api/v2/ + authenticator: + type: ApiKeyAuthenticator + api_token: '{{ config["api_key"] }}' + inject_into: + type: RequestOption + field_name: X-Auth-Token + inject_into: header + +streams: + - $ref: "#/definitions/streams/activities" + - $ref: "#/definitions/streams/approval_policies" + - $ref: "#/definitions/streams/workflows" + - $ref: "#/definitions/streams/boards" + - $ref: "#/definitions/streams/attachments" + - $ref: "#/definitions/streams/bookings" + - $ref: "#/definitions/streams/comments" + - $ref: "#/definitions/streams/companies" + - $ref: "#/definitions/streams/contact_entries" + - $ref: "#/definitions/streams/custom_field_options" + - $ref: "#/definitions/streams/custom_fields" + - $ref: "#/definitions/streams/dashboards" + - $ref: "#/definitions/streams/deal_statuses" + - $ref: "#/definitions/streams/deals" + - $ref: "#/definitions/streams/document_types" + - $ref: "#/definitions/streams/entitlements" + - $ref: "#/definitions/streams/events" + - $ref: "#/definitions/streams/exchange_rates" + - $ref: "#/definitions/streams/expenses" + - $ref: "#/definitions/streams/filters" + - $ref: "#/definitions/streams/holiday_calendars" + - $ref: "#/definitions/streams/holidays" + - $ref: "#/definitions/streams/invoice_attributions" + - $ref: "#/definitions/streams/invoices" + - $ref: "#/definitions/streams/line_items" + - $ref: "#/definitions/streams/lost_reasons" + - $ref: "#/definitions/streams/memberships" + - $ref: "#/definitions/streams/organizations" + - $ref: "#/definitions/streams/organization_memberships" + - $ref: "#/definitions/streams/pages" + - $ref: "#/definitions/streams/page_versions" + - $ref: "#/definitions/streams/payment_reminder_sequences" + - $ref: "#/definitions/streams/payment_reminders" + - $ref: "#/definitions/streams/payments" + - $ref: "#/definitions/streams/pipelines" + - $ref: "#/definitions/streams/prices" + - $ref: "#/definitions/streams/project_assignments" + - $ref: "#/definitions/streams/projects" + - $ref: "#/definitions/streams/rate_cards" + - $ref: "#/definitions/streams/reports_booking-reports" + - $ref: "#/definitions/streams/salaries" + - $ref: "#/definitions/streams/sections" + - $ref: "#/definitions/streams/services" + - $ref: "#/definitions/streams/service_types" + - $ref: "#/definitions/streams/sessions" + - $ref: "#/definitions/streams/subsidiaries" + - $ref: "#/definitions/streams/tags" + - $ref: "#/definitions/streams/task_lists" + - $ref: "#/definitions/streams/tax_rates" + - $ref: "#/definitions/streams/tasks" + - $ref: "#/definitions/streams/time_entries" + - $ref: "#/definitions/streams/time_entry_versions" + - $ref: "#/definitions/streams/timers" + - $ref: "#/definitions/streams/reports_timesheet_reports" + - $ref: "#/definitions/streams/users" + - $ref: "#/definitions/streams/widgets" + - $ref: "#/definitions/streams/workflow_statuses" + +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - api_key + - organization_id + properties: + api_key: + type: string + order: 0 + title: API Key + airbyte_secret: true + organization_id: + type: string + description: >- + The organization ID which could be seen from + `https://app.productive.io/xxxx-xxxx/settings/api-integrations` page + order: 1 + title: Organization ID + additionalProperties: true + +metadata: + assist: {} + testedStreams: + tags: + hasRecords: true + streamHash: 7cd61e8996ea3a26ced213c297616e90d88fcdb8 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + deals: + hasRecords: true + streamHash: dbbe96055251f5a3dcb8ade7542b47e2d653951c + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + pages: + hasRecords: true + streamHash: 3dbaceb16db9656b8d73ac843d5e4d1e8af63da4 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + tasks: + hasRecords: true + streamHash: 754e7c59f7d717bc2e15af95ee7bd2a715584b50 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + users: + hasRecords: true + streamHash: 3ded48d047b3de51eeb2c16fd9f321a3f9d58358 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + boards: + hasRecords: true + streamHash: 75567e69ab588266d9d5e8e780be1159c95fbabc + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + events: + hasRecords: true + streamHash: f8483633d75750579c65822096e2583b14c21973 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + prices: + hasRecords: true + streamHash: 7ee4cf13d0570d86ee80d2aed6e61538a7f525c5 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + timers: + hasRecords: true + streamHash: b0fcc575e55223a4db3fe0ba00164ea55662cd8e + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + filters: + hasRecords: true + streamHash: f6685d9fe5594574cd85788eb681eccc69bbc52e + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + widgets: + hasRecords: true + streamHash: 350f313d94fb56ec0e97784f3c939d5a5762fca9 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + bookings: + hasRecords: true + streamHash: e717dab78989988a257f86923bd01c7fcd1ab46d + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + comments: + hasRecords: true + streamHash: 79319db238c492da58ed1740983980bfd4f7a70e + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + expenses: + hasRecords: true + streamHash: 601fc4c075dc4ba44821ef8f8f8b62caa9a785d2 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + holidays: + hasRecords: true + streamHash: 6f655d1bbdc31a20177c4d066593dbcc119bdc23 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + invoices: + hasRecords: true + streamHash: 9d83b6edba8c7627eb500920a957ae0af9dc6ef6 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + payments: + hasRecords: true + streamHash: ab8ebaee805a4409680d50587aa8ea85afa3d2b7 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + projects: + hasRecords: true + streamHash: f5cb291684bd99491f563c0e683979e495847fc4 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + salaries: + hasRecords: true + streamHash: a4c00525c84ee22c3be68d4c0ff295bf198f7536 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + sections: + hasRecords: true + streamHash: 62c136fdb7c06c387b2e9404253c23e16a4a2604 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + services: + hasRecords: true + streamHash: e46ecec4d5a8b0a568c7c6ddc5f66b890d351746 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + sessions: + hasRecords: true + streamHash: 0f4b74f16f92a14afee04370587bd924627ded8e + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + companies: + hasRecords: true + streamHash: ae34c0515b8cdd4e2961538e397a7e47bf169664 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + pipelines: + hasRecords: true + streamHash: 29b2c17bd60bfbf69b0719923b22e0f3c143ca0e + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + tax_rates: + hasRecords: true + streamHash: 1548faf02cd848bf3450a38dca4dded26efe0a3a + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + workflows: + hasRecords: true + streamHash: 71eff00a2ba48eb72e165840e504702b03234cbc + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + activities: + hasRecords: true + streamHash: 2acdfc91ce5cf81edb033ea3cd6744e5666d463f + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + dashboards: + hasRecords: true + streamHash: 6e4ced7cb547e8757c56683431831a0725ebe968 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + line_items: + hasRecords: true + streamHash: 3939a528b8473dbdbca4c4556c79814056d75022 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + rate_cards: + hasRecords: true + streamHash: 4ae988fca90788d042081611458a1bd041efa2e2 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + task_lists: + hasRecords: true + streamHash: e3e3aa0c42ac619218a6f7f748af264ae0c899c3 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + attachments: + hasRecords: true + streamHash: 66137b74f561c4ba0e39132c34aeee0d6b215607 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + memberships: + hasRecords: true + streamHash: 90718e96534e2d58ed0aac8ade317b7e83ba37e5 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + entitlements: + hasRecords: true + streamHash: 4c31a5745a828bf824c2e96d5c592c8f56a062ad + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + lost_reasons: + hasRecords: true + streamHash: da4e4b3062608945e8722d22022ac61daf4204a8 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + subsidiaries: + hasRecords: true + streamHash: 8f199b9d16de19bcdb67bd56e856e5a0e9592dce + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + time_entries: + hasRecords: true + streamHash: 323287ddb94b88b5736b8954bf90d96798d4749a + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + custom_fields: + hasRecords: true + streamHash: 6796529b2455492fef9141a217b1345329fda9bc + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + deal_statuses: + hasRecords: true + streamHash: 4ac686ccd2776ed2514da3c48b16c6845f6d25cd + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + organizations: + hasRecords: true + streamHash: bfdefcddb3f69b3314645d8e9b36599043dbfc61 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + page_versions: + hasRecords: true + streamHash: e4d971e86968c0433d5c489337536b6cd387810e + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + service_types: + hasRecords: true + streamHash: 932d3fe983ed962a290d95fa68f829a0ac268773 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + document_types: + hasRecords: true + streamHash: e513084d38d5fec1011bdc818740c81ab3361dc5 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + exchange_rates: + hasRecords: true + streamHash: 009f652ea6400995081fcc4b01de1debc7cbe360 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + contact_entries: + hasRecords: true + streamHash: 38c79f3003d81534edb7f13f0c611f06e1101d7a + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + approval_policies: + hasRecords: true + streamHash: 184dd6147d14574cb9f1b3dacb4a43352b3034df + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + holiday_calendars: + hasRecords: true + streamHash: 421e8195f3c2b53692114f5ea3b79724ae55e0fe + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + payment_reminders: + hasRecords: true + streamHash: d07d0b51c81c8c117205b390ca4f6e29098bfb53 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + workflow_statuses: + hasRecords: true + streamHash: 7b3e07846e09d4be1eb987b62b1c281c90a849c6 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + project_assignments: + hasRecords: true + streamHash: 1e62dcdcde3da9f93df1561dcce6b3960eb4a60d + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + time_entry_versions: + hasRecords: true + streamHash: de9550bb8814c8e724d0c888cd9276d42975b2db + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + custom_field_options: + hasRecords: true + streamHash: 0359bb9e613ccae1c0d06ba3dd92a47b2c091c8c + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + invoice_attributions: + hasRecords: true + streamHash: 7359ac0a04735100553fbf26923f47fc84d481ce + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + reports_booking-reports: + hasRecords: true + streamHash: cd286eae41f12f131dc3b139f79355d80d14dc37 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + organization_memberships: + hasRecords: true + streamHash: 3c2aac522da9763f20c81cbc94c2813dfd35c24d + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + reports_timesheet_reports: + hasRecords: true + streamHash: 27dd42e0965b7037736390c1cf73b9ad3c1c9105 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + payment_reminder_sequences: + hasRecords: true + streamHash: cda67b7ad137bc2cef9675042745c18311602cce + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + autoImportSchema: + tags: true + deals: true + pages: true + tasks: true + users: true + boards: true + events: true + prices: true + timers: true + filters: true + widgets: true + bookings: true + comments: true + expenses: true + holidays: true + invoices: true + payments: true + projects: true + salaries: true + sections: true + services: true + sessions: true + companies: true + pipelines: true + tax_rates: true + workflows: true + activities: true + dashboards: true + line_items: true + rate_cards: true + task_lists: true + attachments: true + memberships: true + entitlements: true + lost_reasons: true + subsidiaries: true + time_entries: true + custom_fields: true + deal_statuses: true + organizations: true + page_versions: true + service_types: true + document_types: true + exchange_rates: true + contact_entries: true + approval_policies: true + holiday_calendars: true + payment_reminders: true + workflow_statuses: true + project_assignments: true + time_entry_versions: true + custom_field_options: true + invoice_attributions: true + reports_booking-reports: true + organization_memberships: true + reports_timesheet_reports: true + payment_reminder_sequences: true + +schemas: + tags: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + additionalProperties: true + deals: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + cost: + type: + - number + - "null" + date: + type: + - string + - "null" + name: + type: + - string + - "null" + budget: + type: + - boolean + - "null" + number: + type: + - string + - "null" + profit: + type: + - number + - "null" + expense: + type: + - number + - "null" + revenue: + type: + - number + - "null" + currency: + type: + - string + - "null" + invoiced: + type: + - number + - "null" + position: + type: + - number + - "null" + tag_list: + type: + - array + - "null" + items: + type: + - string + - "null" + closed_at: + type: + - string + - "null" + email_key: + type: + - string + - "null" + created_at: + type: + - string + - "null" + todo_count: + type: + - number + - "null" + budget_used: + type: + - number + - "null" + deal_number: + type: + - string + - "null" + probability: + type: + - number + - "null" + sample_data: + type: + - boolean + - "null" + worked_time: + type: + - number + - "null" + budget_total: + type: + - number + - "null" + cost_default: + type: + - number + - "null" + deal_type_id: + type: + - number + - "null" + delivered_on: + type: + - string + - "null" + billable_time: + type: + - number + - "null" + budgeted_time: + type: + - number + - "null" + client_access: + type: + - boolean + - "null" + custom_fields: + type: + - object + - "null" + properties: + "69284": + type: + - string + - "null" + editor_config: + type: + - object + - "null" + properties: + enabled: + type: + - boolean + - "null" + exchange_date: + type: + - string + - "null" + exchange_rate: + type: + - string + - "null" + external_sync: + type: + - boolean + - "null" + profit_margin: + type: + - number + - string + - "null" + time_approval: + type: + - boolean + - "null" + time_to_close: + type: + - number + - "null" + draft_invoiced: + type: + - number + - "null" + estimated_time: + type: + - number + - "null" + origin_deal_id: + type: + - number + - "null" + profit_default: + type: + - number + - "null" + amount_credited: + type: + - number + - "null" + cost_normalized: + type: + - number + - "null" + expense_default: + type: + - number + - "null" + revenue_default: + type: + - number + - "null" + sales_closed_at: + type: + - string + - "null" + sales_closed_on: + type: + - string + - "null" + sales_status_id: + type: + - number + - "null" + currency_default: + type: + - string + - "null" + expense_approval: + type: + - boolean + - "null" + invoiced_default: + type: + - number + - "null" + last_activity_at: + type: + - string + - "null" + services_revenue: + type: + - number + - "null" + tracking_type_id: + type: + - number + - "null" + pending_invoicing: + type: + - number + - "null" + profit_normalized: + type: + - number + - "null" + projected_revenue: + type: + - number + - "null" + expense_normalized: + type: + - number + - "null" + revenue_normalized: + type: + - number + - "null" + rounding_method_id: + type: + - number + - "null" + budget_used_default: + type: + - number + - "null" + currency_normalized: + type: + - string + - "null" + invoiced_normalized: + type: + - number + - "null" + budget_total_default: + type: + - number + - "null" + budget_used_normalized: + type: + - number + - "null" + draft_invoiced_default: + type: + - number + - "null" + rejected_entries_count: + type: + - number + - "null" + amount_credited_default: + type: + - number + - "null" + budget_total_normalized: + type: + - number + - "null" + sales_status_updated_at: + type: + - string + - "null" + services_revenue_default: + type: + - number + - "null" + unapproved_entries_count: + type: + - number + - "null" + draft_invoiced_normalized: + type: + - number + - "null" + pending_invoicing_default: + type: + - number + - "null" + projected_revenue_default: + type: + - number + - "null" + amount_credited_normalized: + type: + - number + - "null" + services_revenue_normalized: + type: + - number + - "null" + pending_invoicing_normalized: + type: + - number + - "null" + projected_revenue_normalized: + type: + - number + - "null" + service_type_restricted_tracking: + type: + - boolean + - "null" + relationships: + type: + - object + - "null" + properties: + company: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + contact: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + project: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + contract: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + pipeline: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + tax_rate: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + template: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + subsidiary: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + deal_status: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + lost_reason: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + memberships: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + origin_deal: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + responsible: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + document_type: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_people: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + pages: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + body: + type: + - string + - "null" + title: + type: + - string + - "null" + public: + type: + - boolean + - "null" + edited_at: + type: + - string + - "null" + created_at: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + preferences: + type: + - object + - "null" + version_number: + type: + - number + - "null" + last_activity_at: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + project: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + root_page: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + memberships: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + parent_page: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + tasks: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + description: + type: + - string + - "null" + title: + type: + - string + - "null" + closed: + type: + - boolean + - "null" + number: + type: + - string + - "null" + private: + type: + - boolean + - "null" + type_id: + type: + - number + - "null" + due_date: + type: + - string + - "null" + tag_list: + type: + - array + - "null" + email_key: + type: + - string + - "null" + placement: + type: + - number + - "null" + created_at: + type: + - string + - "null" + start_date: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + task_number: + type: + - string + - "null" + repeat_on_date: + type: + - string + - "null" + last_activity_at: + type: + - string + - "null" + repeat_on_weekday: + type: + - array + - "null" + todo_assignee_ids: + type: + - array + - "null" + creation_method_id: + type: + - number + - "null" + task_dependency_count: + type: + - number + - "null" + linked_dependency_count: + type: + - number + - "null" + blocking_dependency_count: + type: + - number + - "null" + waiting_on_dependency_count: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + project: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + assignee: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + task_list: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + last_actor: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + parent_task: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + repeated_task: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + workflow_status: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_people: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + users: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + email: + type: + - string + - "null" + sysadmin: + type: + - boolean + - "null" + last_name: + type: + - string + - "null" + time_zone: + type: + - string + - "null" + first_name: + type: + - string + - "null" + preferences: + type: + - string + - "null" + beta_features: + type: + - array + - "null" + intercom_hash: + type: + - string + - "null" + sso_provision: + type: + - boolean + - "null" + two_factor_auth: + type: + - boolean + - "null" + newsletter_consent: + type: + - boolean + - "null" + sysadmin_permissions: + type: + - array + - "null" + newsletter_consent_at: + type: + - string + - "null" + default_organization_id: + type: + - number + - "null" + default_organization_slug: + type: + - string + - "null" + additionalProperties: true + boards: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + position: + type: + - number + - "null" + placement: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + project: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + events: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + color_id: + type: + - number + - "null" + event_type_id: + type: + - number + - "null" + half_day_bookings: + type: + - boolean + - "null" + limitation_type_id: + type: + - number + - "null" + sync_personal_integrations: + type: + - boolean + - "null" + relationships: + type: + - object + - "null" + properties: + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + prices: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + rate: + type: + - number + - "null" + unit_id: + type: + - number + - "null" + currency: + type: + - string + - "null" + quantity: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + rate_default: + type: + - number + - "null" + editor_config: + type: + - object + - "null" + billing_type_id: + type: + - number + - "null" + rate_normalized: + type: + - number + - "null" + currency_default: + type: + - string + - "null" + currency_normalized: + type: + - string + - "null" + time_tracking_enabled: + type: + - boolean + - "null" + booking_tracking_enabled: + type: + - boolean + - "null" + expense_tracking_enabled: + type: + - boolean + - "null" + relationships: + type: + - object + - "null" + properties: + company: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + updater: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + rate_card: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + service_type: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_people: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + timers: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + person_id: + type: + - number + - "null" + started_at: + type: + - string + - "null" + total_time: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + time_entry: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + filters: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + description: + type: + - string + - "null" + name: + type: + - string + - "null" + hidden: + type: + - boolean + - "null" + params: + type: + - object + - "null" + properties: + date: + type: + - object + - "null" + properties: + eq: + type: + - string + - "null" + gt_eq: + type: + - string + - "null" + lt_eq: + type: + - string + - "null" + status: + type: + - object + - "null" + properties: + eq: + type: + - string + - "null" + assignee_id: + type: + - object + - "null" + properties: + eq: + type: + - array + - "null" + items: + type: + - string + - "null" + invoiced_on: + type: + - object + - "null" + properties: + eq: + type: + - string + - "null" + gt_eq: + type: + - string + - "null" + lt_eq: + type: + - string + - "null" + board_status: + type: + - object + - "null" + properties: + eq: + type: + - string + - "null" + invoice_state: + type: + - object + - "null" + properties: + eq: + type: + - string + - "null" + payment_status: + type: + - object + - "null" + properties: + eq: + type: + - array + - "null" + items: + type: + - string + - "null" + project.status: + type: + - object + - "null" + properties: + eq: + type: + - string + - "null" + task_list_status: + type: + - object + - "null" + properties: + eq: + type: + - string + - "null" + workflow_status_category_id: + type: + - object + - "null" + properties: + eq: + type: + - array + - "null" + items: + type: + - string + - "null" + public: + type: + - boolean + - "null" + report: + type: + - boolean + - "null" + shared: + type: + - boolean + - "null" + columns: + type: + - string + - "null" + default: + type: + - boolean + - "null" + sort_by: + type: + - string + - "null" + type_id: + type: + - number + - "null" + group_by: + type: + - string + - "null" + created_at: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + original_id: + type: + - number + - "null" + pulse_count: + type: + - number + - "null" + transpose_by: + type: + - string + - "null" + chart_type_id: + type: + - number + - "null" + exchange_date: + type: + - object + - "null" + export_params: + type: + - object + - "null" + report_layout_id: + type: + - number + - "null" + filterable_collection: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + report_category: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + widgets: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + width: + type: + - number + - "null" + height: + type: + - number + - "null" + row_position: + type: + - number + - "null" + widget_type_id: + type: + - number + - "null" + column_position: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + dashboard: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + bookings: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + note: + type: + - string + - "null" + time: + type: + - number + - "null" + draft: + type: + - boolean + - "null" + hours: + type: + - number + - "null" + approved: + type: + - boolean + - "null" + canceled: + type: + - boolean + - "null" + ended_on: + type: + - string + - "null" + rejected: + type: + - boolean + - "null" + created_at: + type: + - string + - "null" + percentage: + type: + - number + - "null" + stage_type: + type: + - number + - "null" + started_on: + type: + - string + - "null" + total_time: + type: + - number + - "null" + updated_at: + type: + - string + - "null" + approved_at: + type: + - string + - "null" + autotracking: + type: + - boolean + - "null" + last_activity_at: + type: + - string + - "null" + booking_method_id: + type: + - number + - "null" + total_working_days: + type: + - number + - "null" + people_custom_fields: + type: + - object + - "null" + properties: + "69241": + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + event: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + origin: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + service: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + updater: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + approver: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + canceler: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + rejecter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + approval_statuses: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_people: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + comments: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + body: + type: + - string + - "null" + draft: + type: + - boolean + - "null" + hidden: + type: + - boolean + - "null" + reactions: + type: + - object + - "null" + created_at: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + commentable_type: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + deal: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + task: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + company: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + invoice: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + pinned_by: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + discussion: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + purchase_order: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + expenses: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + date: + type: + - string + - "null" + name: + type: + - string + - "null" + draft: + type: + - boolean + - "null" + amount: + type: + - number + - "null" + profit: + type: + - number + - "null" + approved: + type: + - boolean + - "null" + currency: + type: + - string + - "null" + exported: + type: + - boolean + - "null" + invoiced: + type: + - boolean + - "null" + position: + type: + - number + - "null" + quantity: + type: + - string + - "null" + rejected: + type: + - boolean + - "null" + created_at: + type: + - string + - "null" + approved_at: + type: + - string + - "null" + reimbursable: + type: + - boolean + - "null" + total_amount: + type: + - number + - "null" + exchange_date: + type: + - string + - "null" + exchange_rate: + type: + - string + - "null" + amount_default: + type: + - number + - "null" + profit_default: + type: + - number + - "null" + billable_amount: + type: + - number + - "null" + currency_default: + type: + - string + - "null" + amount_normalized: + type: + - number + - "null" + profit_normalized: + type: + - number + - "null" + quantity_received: + type: + - string + - "null" + recognized_revenue: + type: + - number + - "null" + currency_normalized: + type: + - string + - "null" + total_amount_default: + type: + - number + - "null" + billable_amount_default: + type: + - number + - "null" + total_amount_normalized: + type: + - number + - "null" + exchange_rate_normalized: + type: + - string + - "null" + billable_amount_normalized: + type: + - number + - "null" + recognized_revenue_default: + type: + - number + - "null" + recognized_revenue_normalized: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + deal: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + vendor: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + service: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + approver: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + rejecter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + attachment: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + service_type: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + purchase_order: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_people: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + holidays: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + date: + type: + - string + - "null" + name: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + holiday_calendar: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + invoices: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + note: + type: + - string + - "null" + amount: + type: + - number + - "null" + number: + type: + - string + - "null" + pay_on: + type: + - string + - "null" + paid_on: + type: + - string + - "null" + sent_on: + type: + - string + - "null" + subject: + type: + - string + - "null" + credited: + type: + - boolean + - "null" + currency: + type: + - string + - "null" + exported: + type: + - boolean + - "null" + tag_list: + type: + - array + - "null" + email_key: + type: + - string + - "null" + tax1_name: + type: + - string + - "null" + amount_tax: + type: + - number + - "null" + created_at: + type: + - string + - "null" + tax1_value: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + amount_paid: + type: + - number + - "null" + invoiced_on: + type: + - string + - "null" + sample_data: + type: + - boolean + - "null" + finalized_on: + type: + - string + - "null" + amount_unpaid: + type: + - number + - "null" + exchange_date: + type: + - string + - "null" + exchange_rate: + type: + - string + - "null" + line_item_tax: + type: + - boolean + - "null" + amount_default: + type: + - number + - "null" + amount_credited: + type: + - number + - "null" + amount_with_tax: + type: + - number + - "null" + invoice_type_id: + type: + - number + - "null" + pay_on_relative: + type: + - boolean + - "null" + creation_options: + type: + - object + - "null" + properties: + date_interval: + type: + - object + - "null" + properties: + end_date: + type: + - string + - "null" + date_interval_id: + type: + - string + - "null" + subsidiary_id: + type: + - string + - "null" + document_type_id: + type: + - string + - "null" + invoicing_method_id: + type: + - string + - "null" + time_display_format: + type: + - string + - "null" + budget_display_format: + type: + - string + - "null" + expenses_display_format: + type: + - string + - "null" + services_display_format: + type: + - string + - "null" + currency_default: + type: + - string + - "null" + last_activity_at: + type: + - string + - "null" + amount_normalized: + type: + - number + - "null" + note_interpolated: + type: + - string + - "null" + amount_tax_default: + type: + - number + - "null" + amount_written_off: + type: + - number + - "null" + amount_paid_default: + type: + - number + - "null" + currency_normalized: + type: + - string + - "null" + amount_tax_normalized: + type: + - number + - "null" + amount_unpaid_default: + type: + - number + - "null" + purchase_order_number: + type: + - string + - "null" + amount_paid_normalized: + type: + - number + - "null" + amount_credited_default: + type: + - number + - "null" + amount_with_tax_default: + type: + - number + - "null" + amount_credited_with_tax: + type: + - number + - "null" + amount_unpaid_normalized: + type: + - number + - "null" + amount_credited_normalized: + type: + - number + - "null" + amount_with_tax_normalized: + type: + - number + - "null" + amount_written_off_default: + type: + - number + - "null" + amount_written_off_normalized: + type: + - number + - "null" + amount_credited_with_tax_default: + type: + - number + - "null" + amount_credited_with_tax_normalized: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + bill_to: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + company: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + bill_from: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + attachment: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + subsidiary: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + document_type: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + parent_invoice: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_people: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + invoice_attributions: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + payments: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + note: + type: + - string + - "null" + amount: + type: + - number + - "null" + paid_on: + type: + - string + - "null" + currency: + type: + - string + - "null" + amount_default: + type: + - number + - "null" + currency_default: + type: + - string + - "null" + amount_normalized: + type: + - number + - "null" + currency_normalized: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + invoice: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + projects: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + number: + type: + - string + - "null" + template: + type: + - boolean + - "null" + created_at: + type: + - string + - "null" + tag_colors: + type: + - object + - "null" + sample_data: + type: + - boolean + - "null" + public_access: + type: + - boolean + - "null" + time_on_tasks: + type: + - boolean + - "null" + project_number: + type: + - string + - "null" + project_type_id: + type: + - number + - "null" + last_activity_at: + type: + - string + - "null" + project_color_id: + type: + - number + - "null" + task_custom_fields_ids: + type: + - array + - "null" + relationships: + type: + - object + - "null" + properties: + company: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + workflow: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + last_actor: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + project_manager: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + template_object: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_people: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + salaries: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + cost: + type: + - number + - "null" + note: + type: + - string + - "null" + hours: + type: + - string + - "null" + currency: + type: + - string + - "null" + ended_on: + type: + - string + - "null" + overhead: + type: + - boolean + - "null" + started_on: + type: + - string + - "null" + hourly_rate: + type: + - number + - "null" + cost_default: + type: + - number + - "null" + exchange_date: + type: + - string + - "null" + exchange_rate: + type: + - string + - "null" + working_hours: + type: + - array + - "null" + items: + type: + - number + - "null" + default_salary: + type: + - boolean + - "null" + salary_type_id: + type: + - number + - "null" + cost_normalized: + type: + - number + - "null" + currency_default: + type: + - string + - "null" + currency_normalized: + type: + - string + - "null" + hourly_rate_default: + type: + - number + - "null" + hourly_rate_normalized: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + holiday_calendar: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + sections: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + position: + type: + - number + - "null" + preferences: + type: + - object + - "null" + editor_config: + type: + - object + - "null" + relationships: + type: + - object + - "null" + properties: + deal: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + services: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + cost: + type: + - number + - "null" + name: + type: + - string + - "null" + price: + type: + - number + - "null" + profit: + type: + - number + - "null" + revenue: + type: + - number + - "null" + unit_id: + type: + - number + - "null" + billable: + type: + - boolean + - "null" + currency: + type: + - string + - "null" + position: + type: + - number + - "null" + quantity: + type: + - string + - "null" + work_cost: + type: + - number + - "null" + booked_time: + type: + - number + - "null" + budget_used: + type: + - number + - "null" + future_cost: + type: + - number + - "null" + worked_time: + type: + - number + - "null" + budget_total: + type: + - number + - "null" + cost_default: + type: + - number + - "null" + billable_time: + type: + - number + - "null" + budgeted_time: + type: + - number + - "null" + editor_config: + type: + - object + - "null" + markup_amount: + type: + - number + - "null" + price_default: + type: + - number + - "null" + profit_margin: + type: + - number + - string + - "null" + estimated_time: + type: + - number + - "null" + expense_amount: + type: + - number + - "null" + future_revenue: + type: + - number + - "null" + profit_default: + type: + - number + - "null" + billing_type_id: + type: + - number + - "null" + cost_normalized: + type: + - number + - "null" + discount_amount: + type: + - number + - "null" + pricing_type_id: + type: + - number + - "null" + revenue_default: + type: + - number + - "null" + unapproved_time: + type: + - number + - "null" + currency_default: + type: + - string + - "null" + price_normalized: + type: + - number + - "null" + rolled_over_time: + type: + - number + - "null" + origin_service_id: + type: + - number + - "null" + profit_normalized: + type: + - number + - "null" + projected_revenue: + type: + - number + - "null" + work_cost_default: + type: + - number + - "null" + budget_cap_enabled: + type: + - boolean + - "null" + future_booked_time: + type: + - number + - "null" + future_budget_used: + type: + - number + - "null" + initial_service_id: + type: + - number + - "null" + revenue_normalized: + type: + - number + - "null" + budget_used_default: + type: + - number + - "null" + currency_normalized: + type: + - string + - "null" + future_cost_default: + type: + - number + - "null" + budget_total_default: + type: + - number + - "null" + work_cost_normalized: + type: + - number + - "null" + markup_amount_default: + type: + - number + - "null" + time_tracking_enabled: + type: + - boolean + - "null" + budget_used_normalized: + type: + - number + - "null" + expense_amount_default: + type: + - number + - "null" + future_cost_normalized: + type: + - number + - "null" + future_revenue_default: + type: + - number + - "null" + budget_total_normalized: + type: + - number + - "null" + discount_amount_default: + type: + - number + - "null" + expense_billable_amount: + type: + - number + - "null" + booking_tracking_enabled: + type: + - boolean + - "null" + expense_tracking_enabled: + type: + - boolean + - "null" + markup_amount_normalized: + type: + - number + - "null" + expense_amount_normalized: + type: + - number + - "null" + future_revenue_normalized: + type: + - number + - "null" + projected_revenue_default: + type: + - number + - "null" + discount_amount_normalized: + type: + - number + - "null" + future_budget_used_default: + type: + - number + - "null" + projected_revenue_normalized: + type: + - number + - "null" + future_budget_used_normalized: + type: + - number + - "null" + expense_billable_amount_default: + type: + - number + - "null" + expense_billable_amount_normalized: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + deal: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + section: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + service_type: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_people: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + sessions: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + token: + type: + - string + - "null" + device: + type: + - string + - "null" + browser: + type: + - string + - "null" + last_ip: + type: + - string + - "null" + machine: + type: + - boolean + - "null" + user_id: + type: + - number + - "null" + location: + type: + - string + - "null" + platform: + type: + - string + - "null" + read_only: + type: + - boolean + - "null" + single_sign_on: + type: + - boolean + - "null" + two_factor_auth: + type: + - boolean + - "null" + last_activity_at: + type: + - string + - "null" + token_expires_at: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + user: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + companies: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + vat: + type: + - string + - "null" + name: + type: + - string + - "null" + contact: + type: + - object + - "null" + properties: + phones: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + phone: + type: + - string + - "null" + contact_datum_id: + type: + - number + - "null" + websites: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + website: + type: + - string + - "null" + contact_datum_id: + type: + - number + - "null" + addresses: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + city: + type: + - string + - "null" + name: + type: + - string + - "null" + state: + type: + - string + - "null" + address: + type: + - string + - "null" + country: + type: + - string + - "null" + zipcode: + type: + - string + - "null" + billing_address: + type: + - boolean + - "null" + contact_datum_id: + type: + - number + - "null" + due_days: + type: + - number + - "null" + settings: + type: + - object + - "null" + properties: + invoicing_settings: + type: + - object + - "null" + properties: + tax_rate_id: + type: + - string + - "null" + date_interval: + type: + - object + - "null" + properties: + end_date: + type: + - string + - "null" + date_interval_id: + type: + - string + - "null" + subsidiary_id: + type: + - string + - "null" + document_type_id: + type: + - string + - "null" + invoicing_method: + type: + - string + - "null" + time_display_format: + type: + - string + - "null" + budget_display_format: + type: + - string + - "null" + expenses_display_format: + type: + - string + - "null" + services_display_format: + type: + - string + - "null" + tag_list: + type: + - array + - "null" + avatar_url: + type: + - string + - "null" + created_at: + type: + - string + - "null" + sample_data: + type: + - boolean + - "null" + billing_name: + type: + - string + - "null" + company_code: + type: + - string + - "null" + external_sync: + type: + - boolean + - "null" + default_currency: + type: + - string + - "null" + last_activity_at: + type: + - string + - "null" + default_tax_rate_id: + type: + - string + - "null" + projectless_budgets: + type: + - boolean + - "null" + default_subsidiary_id: + type: + - string + - "null" + default_document_type_id: + type: + - string + - "null" + invoice_email_recipients: + type: + - object + - "null" + relationships: + type: + - object + - "null" + properties: + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + custom_field_people: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + pipelines: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + icon_id: + type: + - string + - "null" + position: + type: + - number + - "null" + created_at: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + pipeline_type_id: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + updater: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + tax_rates: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + primary_component_name: + type: + - string + - "null" + primary_component_value: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + subsidiary: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + workflows: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + workflow_statuses: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + activities: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + event: + type: + - string + - "null" + deal_id: + type: + - number + - "null" + item_id: + type: + - number + - "null" + page_id: + type: + - number + - "null" + root_id: + type: + - number + - "null" + task_id: + type: + - number + - "null" + changeset: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + description: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + date: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + name: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + note: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + tags: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - array + - "null" + time: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - number + - "null" + event: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + hours: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - number + - "null" + price: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + currency: + type: + - string + - "null" + title: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + number: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + pay_on: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + person: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + id: + type: + - number + - "null" + value: + type: + - string + - "null" + avatar_url: + type: + - string + - "null" + company: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + id: + type: + - number + - "null" + value: + type: + - string + - "null" + avatar_url: + type: + - string + - "null" + project: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + id: + type: + - number + - "null" + value: + type: + - string + - "null" + avatar_url: + type: + - string + - "null" + sent_on: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + service: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + id: + type: + - number + - "null" + value: + type: + - string + - "null" + type_id: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - number + - "null" + unit_id: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - number + - "null" + assignee: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + id: + type: + - number + - "null" + value: + type: + - string + - "null" + avatar_url: + type: + - string + - "null" + currency: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + ended_on: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + quantity: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + settings: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - object + - "null" + properties: + deal_settings: + type: + - object + - "null" + properties: + advanced_mode: + type: + - boolean + - "null" + client_access: + type: + - boolean + - "null" + time_approval: + type: + - boolean + - "null" + deal_probability: + type: + - number + - "null" + expense_approval: + type: + - boolean + - "null" + tracking_type_id: + type: + - number + - "null" + rounding_method_id: + type: + - number + - "null" + validate_expense_when_closing: + type: + - boolean + - "null" + create_open_hours_open_expenses: + type: + - boolean + - "null" + expense_markup: + type: + - number + - "null" + deal_probability: + type: + - number + - "null" + expense_settings: + type: + - object + - "null" + properties: + markup: + type: + - number + - "null" + payment: + type: + - boolean + - "null" + reimbursement: + type: + - boolean + - "null" + limited_service_types: + type: + - boolean + - "null" + person_id: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + id: + type: + - number + - "null" + value: + type: + - string + - "null" + avatar_url: + type: + - string + - "null" + task_list: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + started_on: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + total_time: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - number + - "null" + unit_price: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + currency: + type: + - string + - "null" + approved_at: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + attachments: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - array + - "null" + invoiced_on: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + responsible: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + id: + type: + - number + - "null" + value: + type: + - string + - "null" + avatar_url: + type: + - string + - "null" + deal_type_id: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - number + - "null" + finalized_on: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + service_type: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + access_type_id: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - number + - "null" + estimated_time: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - number + - "null" + billing_type_id: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - number + - "null" + project_manager: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + id: + type: + - number + - "null" + value: + type: + - string + - "null" + copied_from_task: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + document_type_id: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + dynamic_group_id: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - number + - "null" + booking_method_id: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - number + - "null" + invoicing_settings: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - object + - "null" + properties: + email_type_id: + type: + - number + - "null" + remove_branding: + type: + - boolean + - "null" + allow_user_email: + type: + - boolean + - "null" + workflow_status_id: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + id: + type: + - number + - "null" + value: + type: + - string + - "null" + color_id: + type: + - number + - "null" + time_locking_reminders: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + value: + type: + - boolean + - "null" + item_name: + type: + - string + - "null" + item_type: + type: + - string + - "null" + parent_id: + type: + - number + - "null" + root_name: + type: + - string + - "null" + root_type: + type: + - string + - "null" + booking_id: + type: + - number + - "null" + company_id: + type: + - number + - "null" + created_at: + type: + - string + - "null" + invoice_id: + type: + - number + - "null" + parent_name: + type: + - string + - "null" + parent_type: + type: + - string + - "null" + deal_is_budget: + type: + - boolean + - "null" + made_by_automation: + type: + - boolean + - "null" + relationships: + type: + - object + - "null" + properties: + role: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + email: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + comment: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + attachment: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + dashboards: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + created_at: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + line_items: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + description: + type: + - string + - "null" + amount: + type: + - number + - "null" + unit_id: + type: + - number + - "null" + currency: + type: + - string + - "null" + position: + type: + - number + - "null" + quantity: + type: + - string + - "null" + tax_name: + type: + - string + - "null" + tax_value: + type: + - string + - "null" + amount_tax: + type: + - number + - "null" + unit_price: + type: + - number + - "null" + amount_default: + type: + - number + - "null" + amount_with_tax: + type: + - number + - "null" + currency_default: + type: + - string + - "null" + amount_normalized: + type: + - number + - "null" + amount_tax_default: + type: + - number + - "null" + unit_price_default: + type: + - number + - "null" + currency_normalized: + type: + - string + - "null" + amount_tax_normalized: + type: + - number + - "null" + unit_price_normalized: + type: + - number + - "null" + amount_with_tax_default: + type: + - number + - "null" + amount_with_tax_normalized: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + expense: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + invoice: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + service: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + tax_rate: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + service_type: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + rate_cards: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + created_at: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + prices_count: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + company: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + task_lists: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + position: + type: + - number + - "null" + email_key: + type: + - string + - "null" + placement: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + board: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + project: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + attachments: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + url: + type: + - string + - "null" + name: + type: + - string + - "null" + size: + type: + - number + - "null" + resized: + type: + - boolean + - "null" + temp_url: + type: + - string + - "null" + created_at: + type: + - string + - "null" + content_type: + type: + - string + - "null" + attachable_type: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + bill: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + page: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + task: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + email: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + comment: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + expense: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + invoice: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + document_type: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + document_style: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + purchase_order: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + memberships: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + options: + type: + - object + - "null" + type_id: + type: + - number + - "null" + target_type: + type: + - string + - "null" + access_type_id: + type: + - number + - "null" + dynamic_group_id: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + deal: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + page: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + team: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + project: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + dashboard: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + entitlements: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + note: + type: + - string + - "null" + used: + type: + - string + - "null" + pending: + type: + - string + - "null" + end_date: + type: + - string + - "null" + allocated: + type: + - number + - "null" + start_date: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + event: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + approval_workflow: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + lost_reasons: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + subsidiaries: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + facility_costs: + type: + - number + - "null" + show_delivery_date: + type: + - boolean + - "null" + invoice_number_format: + type: + - string + - "null" + facility_costs_default: + type: + - number + - "null" + facility_costs_normalized: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + bill_from: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + integration: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + custom_domain: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + time_entries: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + cost: + type: + - number + - "null" + date: + type: + - string + - "null" + note: + type: + - string + - "null" + time: + type: + - number + - "null" + approved: + type: + - boolean + - "null" + currency: + type: + - string + - "null" + invoiced: + type: + - boolean + - "null" + overhead: + type: + - boolean + - "null" + rejected: + type: + - boolean + - "null" + work_cost: + type: + - number + - "null" + created_at: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + approved_at: + type: + - string + - "null" + cost_default: + type: + - number + - "null" + billable_time: + type: + - number + - "null" + overhead_cost: + type: + - number + - "null" + cost_normalized: + type: + - number + - "null" + track_method_id: + type: + - number + - "null" + currency_default: + type: + - string + - "null" + last_activity_at: + type: + - string + - "null" + timer_started_at: + type: + - string + - "null" + work_cost_default: + type: + - number + - "null" + currency_normalized: + type: + - string + - "null" + work_cost_normalized: + type: + - number + - "null" + overhead_cost_default: + type: + - number + - "null" + facility_overhead_cost: + type: + - number + - "null" + internal_overhead_cost: + type: + - number + - "null" + overhead_cost_normalized: + type: + - number + - "null" + facility_overhead_cost_default: + type: + - number + - "null" + internal_overhead_cost_default: + type: + - number + - "null" + facility_overhead_cost_normalized: + type: + - number + - "null" + internal_overhead_cost_normalized: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + task: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + service: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + updater: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + approver: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + rejecter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + last_actor: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + custom_fields: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + description: + type: + - string + - "null" + name: + type: + - string + - "null" + global: + type: + - boolean + - "null" + position: + type: + - number + - "null" + required: + type: + - boolean + - "null" + sensitive: + type: + - boolean + - "null" + created_at: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + data_type_id: + type: + - number + - "null" + customizable_type: + type: + - string + - "null" + quick_add_enabled: + type: + - boolean + - "null" + show_in_add_edit_views: + type: + - boolean + - "null" + relationships: + type: + - object + - "null" + properties: + options: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + project: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + pipeline: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + custom_field_people: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + custom_field_attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + deal_statuses: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + color_id: + type: + - number + - "null" + position: + type: + - number + - "null" + status_id: + type: + - number + - "null" + lost_reason_enabled: + type: + - boolean + - "null" + probability_enabled: + type: + - boolean + - "null" + time_tracking_enabled: + type: + - boolean + - "null" + booking_tracking_enabled: + type: + - boolean + - "null" + expense_tracking_enabled: + type: + - boolean + - "null" + relationships: + type: + - object + - "null" + properties: + pipeline: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + organizations: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + addons: + type: + - array + - "null" + items: + type: + - string + - "null" + weight: + type: + - number + - "null" + metrics: + type: + - string + - "null" + currency: + type: + - string + - "null" + due_days: + type: + - number + - "null" + email_key: + type: + - string + - "null" + time_zone: + type: + - string + - "null" + ai_enabled: + type: + - boolean + - "null" + erector_id: + type: + - number + - "null" + booked_demo: + type: + - boolean + - "null" + time_locking: + type: + - boolean + - "null" + analytics_uid: + type: + - string + - "null" + billing_email: + type: + - string + - "null" + deal_settings: + type: + - object + - "null" + properties: + advanced_mode: + type: + - boolean + - "null" + client_access: + type: + - boolean + - "null" + time_approval: + type: + - boolean + - "null" + deal_probability: + type: + - number + - "null" + expense_approval: + type: + - boolean + - "null" + tracking_type_id: + type: + - number + - "null" + rounding_method_id: + type: + - string + - "null" + validate_expense_when_closing: + type: + - boolean + - "null" + create_open_hours_open_expenses: + type: + - boolean + - "null" + email_type_id: + type: + - number + - "null" + working_hours: + type: + - array + - "null" + items: + type: + - number + - "null" + allow_time_off: + type: + - boolean + - "null" + date_format_id: + type: + - number + - "null" + expense_markup: + type: + - number + - "null" + facility_costs: + type: + - number + - "null" + single_sign_on: + type: + - boolean + - "null" + time_format_id: + type: + - number + - "null" + time_reminders: + type: + - boolean + - "null" + domain_verified: + type: + - boolean + - "null" + man_day_minutes: + type: + - number + - "null" + remove_branding: + type: + - boolean + - "null" + time_display_id: + type: + - number + - "null" + allow_user_email: + type: + - boolean + - "null" + currency_default: + type: + - string + - "null" + deal_probability: + type: + - number + - "null" + expense_settings: + type: + - object + - "null" + properties: + markup: + type: + - number + - "null" + payment: + type: + - boolean + - "null" + reimbursement: + type: + - boolean + - "null" + invitation_token: + type: + - string + - "null" + number_format_id: + type: + - number + - "null" + subsidiary_count: + type: + - number + - "null" + time_reminder_at: + type: + - number + - "null" + time_reminder_id: + type: + - number + - "null" + decimal_places_id: + type: + - number + - "null" + week_start_day_id: + type: + - number + - "null" + currency_format_id: + type: + - number + - "null" + rounding_method_id: + type: + - number + - "null" + currency_normalized: + type: + - string + - "null" + onboarding_progress: + type: + - string + - "null" + force_single_sign_on: + type: + - boolean + - "null" + organization_type_id: + type: + - number + - "null" + force_two_factor_auth: + type: + - boolean + - "null" + limited_service_types: + type: + - boolean + - "null" + facility_costs_default: + type: + - number + - "null" + time_locking_reminders: + type: + - boolean + - "null" + sample_data_imported_at: + type: + - string + - "null" + time_reminder_condition: + type: + - number + - "null" + conflict_resolver_active: + type: + - boolean + - "null" + facility_costs_breakdown: + type: + - object + - "null" + exchange_rate_provider_id: + type: + - number + - "null" + facility_costs_normalized: + type: + - number + - "null" + numbering_format_settings: + type: + - object + - "null" + overhead_recalculation_day: + type: + - number + - "null" + revenue_recognition_type_id: + type: + - number + - "null" + overhead_amortization_period: + type: + - number + - "null" + open_budget_recognition_date_id: + type: + - number + - "null" + delivered_budget_recognition_date_id: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + owner: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + company: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization_subscription: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + page_versions: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + created_at: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + body_snapshot: + type: + - string + - "null" + title_snapshot: + type: + - string + - "null" + prosemirror_steps: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + to: + type: + - number + - "null" + from: + type: + - number + - "null" + slice: + type: + - object + - "null" + properties: + content: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + text: + type: + - string + - "null" + stepType: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + page: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + service_types: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + assignees: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + document_types: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + locale: + type: + - string + - "null" + tax1_name: + type: + - string + - "null" + email_data: + type: + - object + - "null" + tax1_value: + type: + - string + - "null" + dual_currency: + type: + - boolean + - "null" + line_item_tax: + type: + - boolean + - "null" + exporter_options: + type: + - object + - "null" + template_options: + type: + - object + - "null" + exportable_type_id: + type: + - number + - "null" + document_template_id: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + subsidiary: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + attachments: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + document_style: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + exchange_rates: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + date: + type: + - string + - "null" + rates: + type: + - array + - "null" + items: + type: + - object + - "null" + properties: + base: + type: + - string + - "null" + rate: + type: + - number + - "null" + target: + type: + - string + - "null" + out_of_date: + type: + - boolean + - "null" + additionalProperties: true + contact_entries: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + vat: + type: + - string + - "null" + city: + type: + - string + - "null" + name: + type: + - string + - "null" + phone: + type: + - string + - "null" + state: + type: + - string + - "null" + address: + type: + - string + - "null" + country: + type: + - string + - "null" + website: + type: + - string + - "null" + zipcode: + type: + - string + - "null" + billing_address: + type: + - boolean + - "null" + contactable_type: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + company: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + invoice: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + subsidiary: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + purchase_order: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + approval_policies: + type: object + $schema: http://json-schema.org/schema# + properties: + data: + type: + - array + - "null" + meta: + type: + - object + - "null" + properties: + settings: + type: + - object + - "null" + properties: + systemFlags: + type: + - object + - "null" + properties: + value: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + setting_type: + type: + - string + - "null" + page_size: + type: + - number + - "null" + total_count: + type: + - number + - "null" + total_pages: + type: + - number + - "null" + current_page: + type: + - number + - "null" + max_page_size: + type: + - number + - "null" + organization_features: + type: + - object + - "null" + properties: + docs: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + gantt: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + pulse: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + slack: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + teams: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + limit: + type: + - number + - "null" + sandbox: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + webhooks: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + audit_log: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + org_chart: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + workflows: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + limit: + type: + - number + - "null" + rate_cards: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + limit: + type: + - number + - "null" + automations: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + limit: + type: + - number + - "null" + enforce_sso: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + forecasting: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + recycle_bin: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + limit: + type: + - number + - "null" + autotracking: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + custom_roles: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + expense_sync: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + payment_sync: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + subsidiaries: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + tax_codebook: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + time_locking: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + view_sharing: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + custom_fields: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + limit: + type: + - number + - "null" + docs_versions: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + multigrouping: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + overhead_cost: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + person_status: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + time_off_sync: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + workload_view: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + formula_fields: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + single_sign_on: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + table_pivoting: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + time_approvals: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + currency_picker: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + custom_man_days: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + deal_cost_rates: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + document_styler: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + employee_fields: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + limit: + type: + - number + - "null" + outgoing_emails: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + limit: + type: + - number + - "null" + purchase_orders: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + remove_branding: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + repeating_tasks: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + reports_sharing: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + template_center: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + hris_integration: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + import_tasks_csv: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + jira_integration: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + numbering_scheme: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + file_custom_field: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + payment_reminders: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + recurring_budgets: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + task_dependencies: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + task_view_sharing: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + timeoff_approvals: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + comment_visibility: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + dashboards_sharing: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + expenses_approvals: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + multiple_pipelines: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + limit: + type: + - number + - "null" + tentative_bookings: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + zapier_integration: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + hubspot_integration: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + person_custom_field: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + restricted_tracking: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + personio_integration: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + rippling_integration: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + time_calendar_layout: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + probability_per_stage: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + restricted_user_roles: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + service_custom_fields: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + billable_time_rounding: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + booking_activity_modal: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + custom_invoicing_email: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + google_calendar_layout: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + invoicing_integrations: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + module_deactivate_docs: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + required_custom_fields: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + enforce_two_factor_auth: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + module_deactivate_tasks: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + scheduling_placeholders: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + limit: + type: + - number + - "null" + service_tracking_toggle: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + show_only_filtered_data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + client_access_to_budgets: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + custom_fields_per_project: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + limit: + type: + - number + - "null" + module_deactivate_projects: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + task_custom_fields_library: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + deals_billable_time_rounding: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + save_public_and_private_view: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + scheduling_resource_utilization: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + available: + type: + - boolean + - "null" + links: + type: + - object + - "null" + properties: + last: + type: + - string + - "null" + first: + type: + - string + - "null" + additionalProperties: true + holiday_calendars: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + country: + type: + - string + - "null" + autogenerate_holidays: + type: + - boolean + - "null" + relationships: + type: + - object + - "null" + properties: + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + payment_reminders: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + cc: + type: + - array + - "null" + to: + type: + - array + - "null" + bcc: + type: + - array + - "null" + body: + type: + - string + - "null" + from: + type: + - string + - "null" + subject: + type: + - string + - "null" + created_at: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + before_due_date: + type: + - boolean + - "null" + reminder_period: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + invoice: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + updater: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + payment_reminder_sequence: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + workflow_statuses: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + color_id: + type: + - number + - "null" + position: + type: + - number + - "null" + category_id: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + workflow: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + project_assignments: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + watched: + type: + - boolean + - "null" + created_at: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + project: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + docs_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + budgets_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + invoices_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + time_entry_versions: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + event: + type: + - string + - "null" + item_id: + type: + - number + - "null" + item_type: + type: + - string + - "null" + created_at: + type: + - string + - "null" + object_changes: + type: + - object + - "null" + properties: + date: + type: + - array + - "null" + items: + type: + - string + - "null" + time: + type: + - array + - "null" + items: + type: + - number + - "null" + person_id: + type: + - array + - "null" + items: + type: + - number + - "null" + created_at: + type: + - array + - "null" + items: + type: + - string + - "null" + creator_id: + type: + - array + - "null" + items: + type: + - number + - "null" + approved_at: + type: + - array + - "null" + items: + type: + - string + - "null" + billing_point_id: + type: + - array + - "null" + items: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + custom_field_options: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + position: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + custom_field: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + invoice_attributions: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + amount: + type: + - number + - "null" + date_to: + type: + - string + - "null" + currency: + type: + - string + - "null" + amount_default: + type: + - number + - "null" + currency_default: + type: + - string + - "null" + amount_normalized: + type: + - number + - "null" + currency_normalized: + type: + - string + - "null" + relationships: + type: + - object + - "null" + properties: + budget: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + invoice: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + reports_booking-reports: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + time: + type: + - number + - "null" + count: + type: + - number + - "null" + draft: + type: + - boolean + - "null" + group: + type: + - string + - "null" + mandays: + type: + - string + - "null" + currency: + type: + - string + - "null" + end_date: + type: + - string + - "null" + created_at: + type: + - string + - "null" + stage_type: + type: + - number + - "null" + start_date: + type: + - string + - "null" + total_cost: + type: + - number + - "null" + approved_at: + type: + - string + - "null" + autotracking: + type: + - boolean + - "null" + custom_fields: + type: + - object + - "null" + properties: {} + formula_fields: + type: + - object + - "null" + total_base_cost: + type: + - number + - "null" + currency_default: + type: + - string + - "null" + total_cost_default: + type: + - number + - "null" + currency_normalized: + type: + - string + - "null" + average_blended_rate: + type: + - number + - "null" + people_custom_fields: + type: + - object + - "null" + properties: {} + total_cost_normalized: + type: + - number + - "null" + total_recognized_time: + type: + - number + - "null" + total_base_cost_default: + type: + - number + - "null" + total_recognized_profit: + type: + - number + - "null" + total_recognized_revenue: + type: + - number + - "null" + average_recognized_margin: + type: + - string + - "null" + total_base_cost_normalized: + type: + - number + - "null" + average_blended_rate_default: + type: + - number + - "null" + average_blended_rate_normalized: + type: + - number + - "null" + total_recognized_profit_default: + type: + - number + - "null" + total_recognized_revenue_default: + type: + - number + - "null" + total_recognized_profit_normalized: + type: + - number + - "null" + total_recognized_revenue_normalized: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + event: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + budget: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + report: + type: + - object + - "null" + properties: {} + booking: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + company: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + project: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + service: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + service_type: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + organization_memberships: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + updated_at: + type: + - string + - "null" + preferences: + type: + - string + - "null" + weekly_emails: + type: + - boolean + - "null" + time_reminders: + type: + - boolean + - "null" + tasks_layout_id: + type: + - number + - "null" + email_notifications: + type: + - boolean + - "null" + notification_preference: + type: + - object + - "null" + granular_notification_preferences: + type: + - object + - "null" + properties: + deals: + type: + - object + - "null" + properties: + emails: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + created: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + sharing: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + updated: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + comments: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + mentions: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + todos_due: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + before: + type: + - number + - "null" + assigned_todos: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + notes: + type: + - object + - "null" + properties: + created: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + sharing: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + updated: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + tasks: + type: + - object + - "null" + properties: + created: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + updated: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + comments: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + mentions: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + tasks_due: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + before: + type: + - number + - "null" + tasks_start: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + before: + type: + - number + - "null" + assigned_todos: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + people: + type: + - object + - "null" + properties: + created: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + updated: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + comments: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + mentions: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + budgets: + type: + - object + - "null" + properties: + emails: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + created: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + sharing: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + updated: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + comments: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + mentions: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + filters: + type: + - object + - "null" + properties: + sharing: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + reports: + type: + - object + - "null" + properties: + weekly_report: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + bookings: + type: + - object + - "null" + properties: + created: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + updated: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + invoices: + type: + - object + - "null" + properties: + emails: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + created: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + updated: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + comments: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + mentions: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + payments: + type: + - object + - "null" + properties: + created: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + updated: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + projects: + type: + - object + - "null" + properties: + created: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + sharing: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + updated: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + companies: + type: + - object + - "null" + properties: + created: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + updated: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + comments: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + mentions: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + reminders: + type: + - object + - "null" + properties: + time_tracking: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + time_approvals: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + expense_approvals: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + time_off_approvals: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + unapproved_expenses: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + dashboards: + type: + - object + - "null" + properties: + sharing: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + discussions: + type: + - object + - "null" + properties: + created: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + updated: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + mentions: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + memberships: + type: + - object + - "null" + properties: + created: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + updated: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + purchase_orders: + type: + - object + - "null" + properties: + created: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + updated: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + comments: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + mentions: + type: + - object + - "null" + properties: + app: + type: + - boolean + - "null" + push: + type: + - boolean + - "null" + email: + type: + - boolean + - "null" + slack: + type: + - boolean + - "null" + relationships: + type: + - object + - "null" + properties: + user: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + docs_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + deals_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + tasks_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + people_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + budgets_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + bookings_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + expenses_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + invoices_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + payments_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + projects_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + companies_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + company_time_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + time_reports_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + salary_reports_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + time_approvals_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + booking_approvals_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + expense_approvals_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + time_entry_reports_favorite_filter: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true + reports_timesheet_reports: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + count: + type: + - number + - "null" + group: + type: + - string + - "null" + friday_time: + type: + - number + - "null" + monday_time: + type: + - number + - "null" + sunday_time: + type: + - number + - "null" + tuesday_time: + type: + - number + - "null" + saturday_time: + type: + - number + - "null" + thursday_time: + type: + - number + - "null" + wednesday_time: + type: + - number + - "null" + friday_capacity: + type: + - number + - "null" + monday_capacity: + type: + - number + - "null" + sunday_capacity: + type: + - number + - "null" + friday_available: + type: + - number + - "null" + monday_available: + type: + - number + - "null" + sunday_available: + type: + - number + - "null" + tuesday_capacity: + type: + - number + - "null" + saturday_capacity: + type: + - number + - "null" + thursday_capacity: + type: + - number + - "null" + tuesday_available: + type: + - number + - "null" + saturday_available: + type: + - number + - "null" + thursday_available: + type: + - number + - "null" + wednesday_capacity: + type: + - number + - "null" + wednesday_available: + type: + - number + - "null" + relationships: + type: + - object + - "null" + properties: + person: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + report: + type: + - object + - "null" + properties: {} + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + additionalProperties: true + payment_reminder_sequences: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + type: + type: + - string + - "null" + id: + type: string + attributes: + type: + - object + - "null" + properties: + name: + type: + - string + - "null" + created_at: + type: + - string + - "null" + updated_at: + type: + - string + - "null" + default_sequence: + type: + - boolean + - "null" + relationships: + type: + - object + - "null" + properties: + creator: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + updater: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + organization: + type: + - object + - "null" + properties: + data: + type: + - object + - "null" + properties: + type: + type: + - string + - "null" + id: + type: + - string + - "null" + payment_reminders: + type: + - object + - "null" + properties: + meta: + type: + - object + - "null" + properties: + included: + type: + - boolean + - "null" + additionalProperties: true diff --git a/airbyte-integrations/connectors/source-productive/metadata.yaml b/airbyte-integrations/connectors/source-productive/metadata.yaml new file mode 100644 index 000000000000..78449ab383b5 --- /dev/null +++ b/airbyte-integrations/connectors/source-productive/metadata.yaml @@ -0,0 +1,35 @@ +metadataSpecVersion: "1.0" +data: + allowedHosts: + hosts: + - "api.productive.io" + registryOverrides: + oss: + enabled: true + cloud: + enabled: true + remoteRegistries: + pypi: + enabled: false + packageName: airbyte-source-productive + connectorBuildOptions: + baseImage: docker.io/airbyte/source-declarative-manifest:4.6.2@sha256:f5fcd3d4703b7590b6166a7853c5ed1686731607cd30a159a8c24e2fe2c1ee98 + connectorSubtype: api + connectorType: source + definitionId: 51766ab3-df25-4c8c-98a4-647440d0dfbb + dockerImageTag: 0.0.1 + dockerRepository: airbyte/source-productive + githubIssueLabel: source-productive + icon: icon.svg + license: MIT + name: Productive + releaseDate: 2024-09-11 + releaseStage: alpha + supportLevel: community + documentationUrl: https://docs.airbyte.com/integrations/sources/productive + tags: + - language:manifest-only + - cdk:low-code + ab_internal: + ql: 100 + sl: 100 diff --git a/docs/integrations/sources/productive.md b/docs/integrations/sources/productive.md new file mode 100644 index 000000000000..dbdec4dcc903 --- /dev/null +++ b/docs/integrations/sources/productive.md @@ -0,0 +1,88 @@ +# Productive +This page contains the setup guide and reference information for the [Productive](https://app.productive.io/) source connector. + +## Documentation reference: +Visit `https://developer.productive.io/index.html#top` for API documentation + +## Authentication setup +`Source-productive` uses api key authentication, +Visit `https://app.productive.io/ORG_ID-UUID/settings/api-integrations` for getting your API Key and organization ID + +## Configuration + +| Input | Type | Description | Default Value | +|-------|------|-------------|---------------| +| `api_key` | `string` | API Key. | | +| `organization_id` | `string` | Organization ID. The organization ID which could be seen from `https://app.productive.io/xxxx-xxxx/settings/api-integrations` page | | + +## Streams +| Stream Name | Primary Key | Pagination | Supports Full Sync | Supports Incremental | +|-------------|-------------|------------|---------------------|----------------------| +| activities | id | DefaultPaginator | ✅ | ❌ | +| approval_policies | | DefaultPaginator | ✅ | ❌ | +| workflows | id | DefaultPaginator | ✅ | ❌ | +| boards | id | DefaultPaginator | ✅ | ❌ | +| attachments | id | DefaultPaginator | ✅ | ❌ | +| bookings | id | DefaultPaginator | ✅ | ❌ | +| comments | id | DefaultPaginator | ✅ | ❌ | +| companies | id | DefaultPaginator | ✅ | ❌ | +| contact_entries | id | DefaultPaginator | ✅ | ❌ | +| custom_field_options | id | DefaultPaginator | ✅ | ❌ | +| custom_fields | id | DefaultPaginator | ✅ | ❌ | +| dashboards | id | DefaultPaginator | ✅ | ❌ | +| deal_statuses | id | DefaultPaginator | ✅ | ❌ | +| deals | id | DefaultPaginator | ✅ | ❌ | +| document_types | id | DefaultPaginator | ✅ | ❌ | +| entitlements | id | DefaultPaginator | ✅ | ❌ | +| events | id | DefaultPaginator | ✅ | ❌ | +| exchange_rates | id | DefaultPaginator | ✅ | ❌ | +| expenses | id | DefaultPaginator | ✅ | ❌ | +| filters | id | DefaultPaginator | ✅ | ❌ | +| holiday_calendars | id | DefaultPaginator | ✅ | ❌ | +| holidays | id | DefaultPaginator | ✅ | ❌ | +| invoice_attributions | id | DefaultPaginator | ✅ | ❌ | +| invoices | id | DefaultPaginator | ✅ | ❌ | +| line_items | id | DefaultPaginator | ✅ | ❌ | +| lost_reasons | id | DefaultPaginator | ✅ | ❌ | +| memberships | id | DefaultPaginator | ✅ | ❌ | +| organizations | id | DefaultPaginator | ✅ | ❌ | +| organization_memberships | id | DefaultPaginator | ✅ | ❌ | +| pages | id | DefaultPaginator | ✅ | ❌ | +| page_versions | id | DefaultPaginator | ✅ | ❌ | +| payment_reminder_sequences | id | DefaultPaginator | ✅ | ❌ | +| payment_reminders | id | DefaultPaginator | ✅ | ❌ | +| payments | id | DefaultPaginator | ✅ | ❌ | +| pipelines | id | DefaultPaginator | ✅ | ❌ | +| prices | id | DefaultPaginator | ✅ | ❌ | +| project_assignments | id | DefaultPaginator | ✅ | ❌ | +| projects | id | DefaultPaginator | ✅ | ❌ | +| rate_cards | id | DefaultPaginator | ✅ | ❌ | +| reports_booking-reports | id | DefaultPaginator | ✅ | ❌ | +| salaries | id | DefaultPaginator | ✅ | ❌ | +| sections | id | DefaultPaginator | ✅ | ❌ | +| services | id | DefaultPaginator | ✅ | ❌ | +| service_types | id | DefaultPaginator | ✅ | ❌ | +| sessions | id | DefaultPaginator | ✅ | ❌ | +| subsidiaries | id | DefaultPaginator | ✅ | ❌ | +| tags | id | DefaultPaginator | ✅ | ❌ | +| task_lists | id | DefaultPaginator | ✅ | ❌ | +| tax_rates | id | DefaultPaginator | ✅ | ❌ | +| tasks | id | DefaultPaginator | ✅ | ❌ | +| time_entries | id | DefaultPaginator | ✅ | ❌ | +| time_entry_versions | id | DefaultPaginator | ✅ | ❌ | +| timers | id | DefaultPaginator | ✅ | ❌ | +| reports_timesheet_reports | id | DefaultPaginator | ✅ | ❌ | +| users | id | DefaultPaginator | ✅ | ❌ | +| widgets | id | DefaultPaginator | ✅ | ❌ | +| workflow_statuses | id | DefaultPaginator | ✅ | ❌ | + +## Changelog + +
+ Expand to review + +| Version | Date |PR| Subject | +|------------------|------------|--|----------------| +| 0.0.1 | 2024-09-11 |[45401](https://github.com/airbytehq/airbyte/pull/45401)| Initial release by [@btkcodedev](https://github.com/btkcodedev) via Connector Builder| + +
\ No newline at end of file