From 899aaa8d50338b58e95f765c772eacc0aa53b610 Mon Sep 17 00:00:00 2001 From: Biplab Bera <123734227+bishalbera@users.noreply.github.com> Date: Tue, 12 Nov 2024 02:03:59 +0530 Subject: [PATCH] source-flowlu contribution from bishalbera (#48093) Co-authored-by: Marcos Marx --- .../connectors/source-flowlu/README.md | 33 + .../source-flowlu/acceptance-test-config.yml | 17 + .../connectors/source-flowlu/icon.svg | 236 + .../connectors/source-flowlu/manifest.yaml | 5022 +++++++++++++++++ .../connectors/source-flowlu/metadata.yaml | 35 + docs/integrations/sources/flowlu.md | 60 + 6 files changed, 5403 insertions(+) create mode 100644 airbyte-integrations/connectors/source-flowlu/README.md create mode 100644 airbyte-integrations/connectors/source-flowlu/acceptance-test-config.yml create mode 100644 airbyte-integrations/connectors/source-flowlu/icon.svg create mode 100644 airbyte-integrations/connectors/source-flowlu/manifest.yaml create mode 100644 airbyte-integrations/connectors/source-flowlu/metadata.yaml create mode 100644 docs/integrations/sources/flowlu.md diff --git a/airbyte-integrations/connectors/source-flowlu/README.md b/airbyte-integrations/connectors/source-flowlu/README.md new file mode 100644 index 000000000000..c15737041694 --- /dev/null +++ b/airbyte-integrations/connectors/source-flowlu/README.md @@ -0,0 +1,33 @@ +# Flowlu +This directory contains the manifest-only connector for `source-flowlu`. + +Flowlu connector enables seamless data integration between Flowlu, a project management and CRM platform, and various destinations supported by Airbyte. With this connector, users can automate the flow of project, finance, and CRM data into their preferred analytics or storage solutions for enhanced data analysis and reporting. This integration streamlines data syncing, reducing manual data transfer efforts and enhancing productivity. + +## 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-flowlu:dev`) that you can use to test the connector locally. +```bash +airbyte-ci connectors --name=source-flowlu build +``` + +### Test +This will run the acceptance tests for the connector. +```bash +airbyte-ci connectors --name=source-flowlu test +``` + diff --git a/airbyte-integrations/connectors/source-flowlu/acceptance-test-config.yml b/airbyte-integrations/connectors/source-flowlu/acceptance-test-config.yml new file mode 100644 index 000000000000..5a764c6ae379 --- /dev/null +++ b/airbyte-integrations/connectors/source-flowlu/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-flowlu: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-flowlu/icon.svg b/airbyte-integrations/connectors/source-flowlu/icon.svg new file mode 100644 index 000000000000..170ef8473e0f --- /dev/null +++ b/airbyte-integrations/connectors/source-flowlu/icon.svg @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + diff --git a/airbyte-integrations/connectors/source-flowlu/manifest.yaml b/airbyte-integrations/connectors/source-flowlu/manifest.yaml new file mode 100644 index 000000000000..b65e0ef67cfb --- /dev/null +++ b/airbyte-integrations/connectors/source-flowlu/manifest.yaml @@ -0,0 +1,5022 @@ +version: 6.4.0 + +type: DeclarativeSource + +description: >- + Flowlu connector enables seamless data integration between Flowlu, a project + management and CRM platform, and various destinations supported by Airbyte. + With this connector, users can automate the flow of project, finance, and CRM + data into their preferred analytics or storage solutions for enhanced data + analysis and reporting. This integration streamlines data syncing, reducing + manual data transfer efforts and enhancing productivity. + +check: + type: CheckStream + stream_names: + - tasks + +definitions: + streams: + tasks: + type: DeclarativeStream + name: tasks + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /task/tasks/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/tasks" + custom_fields: + type: DeclarativeStream + name: custom_fields + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /customfields/fields/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/custom_fields" + agile_workflows: + type: DeclarativeStream + name: agile_workflows + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /agile/workflows/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/agile_workflows" + st_projects_users: + type: DeclarativeStream + name: st_projects_users + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /st/project_observers/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 50 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/st_projects_users" + projects: + type: DeclarativeStream + name: projects + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /st/projects/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/projects" + account: + type: DeclarativeStream + name: account + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /crm/account/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/account" + agile_epics: + type: DeclarativeStream + name: agile_epics + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /agile/epics/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/agile_epics" + loss_reason: + type: DeclarativeStream + name: loss_reason + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /crm/loss_reason/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/loss_reason" + pipeline: + type: DeclarativeStream + name: pipeline + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /crm/pipeline/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/pipeline" + lead: + type: DeclarativeStream + name: lead + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /crm/lead/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/lead" + emails: + type: DeclarativeStream + name: emails + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /crm/emails/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 50 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/emails" + invoice: + type: DeclarativeStream + name: invoice + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /fin/invoice/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/invoice" + customer_payment: + type: DeclarativeStream + name: customer_payment + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /fin/customer_payment/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/customer_payment" + bank_account: + type: DeclarativeStream + name: bank_account + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /fin/bank_account/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/bank_account" + agile_stages: + type: DeclarativeStream + name: agile_stages + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /agile/stages/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/agile_stages" + agile_sprints: + type: DeclarativeStream + name: agile_sprints + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /agile/sprints/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/agile_sprints" + agile_issues: + type: DeclarativeStream + name: agile_issues + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /agile/issues/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/agile_issues" + task_lists: + type: DeclarativeStream + name: task_lists + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /task/taskslists/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/task_lists" + lists: + type: DeclarativeStream + name: lists + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /task/lists/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/lists" + calendar: + type: DeclarativeStream + name: calendar + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /calendar/calendar/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/calendar" + agile_issue_relation_types: + type: DeclarativeStream + name: agile_issue_relation_types + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /agile/issue_relation_types/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/agile_issue_relation_types" + agile_issue_relation_names: + type: DeclarativeStream + name: agile_issue_relation_names + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /agile/issue_relation_names/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/agile_issue_relation_names" + agile_issue_type: + type: DeclarativeStream + name: agile_issue_type + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /agile/issue_type/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/agile_issue_type" + agile_categories: + type: DeclarativeStream + name: agile_categories + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /agile/categories/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/agile_categories" + custom_fields_field_sets: + type: DeclarativeStream + name: custom_fields_field_sets + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /customfields/fieldsets/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/custom_fields_field_sets" + product_list: + type: DeclarativeStream + name: product_list + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /products/product/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + field_name: limit + inject_into: request_parameter + pagination_strategy: + type: PageIncrement + page_size: 100 + start_from_page: 1 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/product_list" + product_categories: + type: DeclarativeStream + name: product_categories + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /products/category/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 100 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/product_categories" + product_price_list: + type: DeclarativeStream + name: product_price_list + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /products/pricelist/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 100 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/product_price_list" + product_manufacturer: + type: DeclarativeStream + name: product_manufacturer + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /products/manufacturer/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 100 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/product_manufacturer" + timesheet: + type: DeclarativeStream + name: timesheet + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /timetracker/timesheets/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 100 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/timesheet" + estimates: + type: DeclarativeStream + name: estimates + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /fin/estimate/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 100 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/estimates" + transactions: + type: DeclarativeStream + name: transactions + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /fin/transaction/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 100 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/transactions" + invoice_items: + type: DeclarativeStream + name: invoice_items + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /fin/invoice_item/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 100 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/invoice_items" + invoice_contacts: + type: DeclarativeStream + name: invoice_contacts + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /fin/invoice_contacts/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 100 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/invoice_contacts" + project_observers: + type: DeclarativeStream + name: project_observers + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /st/project_observers/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 100 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/project_observers" + task_workflows: + type: DeclarativeStream + name: task_workflows + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /task/workflows/list + http_method: GET + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - response + - items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: body_json + field_name: page + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: limit + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 100 + inject_on_first_request: true + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/task_workflows" + base_requester: + type: HttpRequester + url_base: https://{{ config['company'] }}.flowlu.com/api/v1/module + authenticator: + type: ApiKeyAuthenticator + api_token: "{{ config[\"api_key\"] }}" + inject_into: + type: RequestOption + field_name: api_key + inject_into: request_parameter + +streams: + - $ref: "#/definitions/streams/tasks" + - $ref: "#/definitions/streams/custom_fields" + - $ref: "#/definitions/streams/agile_workflows" + - $ref: "#/definitions/streams/st_projects_users" + - $ref: "#/definitions/streams/projects" + - $ref: "#/definitions/streams/account" + - $ref: "#/definitions/streams/agile_epics" + - $ref: "#/definitions/streams/loss_reason" + - $ref: "#/definitions/streams/pipeline" + - $ref: "#/definitions/streams/lead" + - $ref: "#/definitions/streams/emails" + - $ref: "#/definitions/streams/invoice" + - $ref: "#/definitions/streams/customer_payment" + - $ref: "#/definitions/streams/bank_account" + - $ref: "#/definitions/streams/agile_stages" + - $ref: "#/definitions/streams/agile_sprints" + - $ref: "#/definitions/streams/agile_issues" + - $ref: "#/definitions/streams/task_lists" + - $ref: "#/definitions/streams/lists" + - $ref: "#/definitions/streams/calendar" + - $ref: "#/definitions/streams/agile_issue_relation_types" + - $ref: "#/definitions/streams/agile_issue_relation_names" + - $ref: "#/definitions/streams/agile_issue_type" + - $ref: "#/definitions/streams/agile_categories" + - $ref: "#/definitions/streams/custom_fields_field_sets" + - $ref: "#/definitions/streams/product_list" + - $ref: "#/definitions/streams/product_categories" + - $ref: "#/definitions/streams/product_price_list" + - $ref: "#/definitions/streams/product_manufacturer" + - $ref: "#/definitions/streams/timesheet" + - $ref: "#/definitions/streams/estimates" + - $ref: "#/definitions/streams/transactions" + - $ref: "#/definitions/streams/invoice_items" + - $ref: "#/definitions/streams/invoice_contacts" + - $ref: "#/definitions/streams/project_observers" + - $ref: "#/definitions/streams/task_workflows" + +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - api_key + - company + properties: + api_key: + type: string + description: The API key to use for authentication + name: api_key + order: 0 + title: API Key + airbyte_secret: true + company: + type: string + name: company + order: 1 + title: Company + additionalProperties: true + +metadata: + autoImportSchema: + tasks: true + custom_fields: true + agile_workflows: true + st_projects_users: true + projects: true + account: true + agile_epics: true + loss_reason: true + pipeline: true + lead: true + emails: true + invoice: true + customer_payment: true + bank_account: true + agile_stages: true + agile_sprints: true + agile_issues: true + task_lists: true + lists: true + calendar: true + agile_issue_relation_types: true + agile_issue_relation_names: true + agile_issue_type: true + agile_categories: true + custom_fields_field_sets: true + product_list: true + product_categories: true + product_price_list: true + product_manufacturer: true + timesheet: true + estimates: true + transactions: true + invoice_items: true + invoice_contacts: true + project_observers: true + task_workflows: true + testedStreams: + tasks: + hasRecords: true + streamHash: 4d21cf594aa725599fd06c5ef408cb4606cb8eca + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + custom_fields: + hasRecords: true + streamHash: fe7885829ecedc0f8ceb2096fa6320eed0e91954 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + agile_workflows: + hasRecords: true + streamHash: c1457e272b04375034a467ffb744ceff84451ff8 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + st_projects_users: + hasRecords: true + streamHash: b6b4e8948e4f852465fe2b0ae828cf28cafe5b92 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + projects: + hasRecords: true + streamHash: 472f78d65df39c709377d22cb30e56ddcacd36ed + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + account: + hasRecords: true + streamHash: 6e382ff1c416f7f693a19609a309879f1f1afcdd + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + agile_epics: + hasRecords: true + streamHash: dd7c0643e16c5c38f11f1c822ffe046c1b1c070a + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + loss_reason: + hasRecords: true + streamHash: a03f2220a1cf400741e68161f802c1a1ec2a8272 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + pipeline: + hasRecords: true + streamHash: 1315a4bea1c162b8bc635d4737ef046003782bb6 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + lead: + streamHash: 7dacf161994621f8e5f25b08925f043890ce9c6e + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + emails: + hasRecords: true + streamHash: 599ca6acbe72953d36a3b14a00744ab169d58371 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + invoice: + hasRecords: true + streamHash: 8c26ab3eeb9ded4581b64b111fd6ee9d1250ad5f + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + customer_payment: + streamHash: 8789e193fc5bfed0567747f074ac9e307df9b28d + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + bank_account: + hasRecords: true + streamHash: 5d0b80df2701d5547eca79808bd532feb8dfc2d6 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + agile_stages: + streamHash: 6ec71a29729a2e7037597b2a09c830ad8b6c58dd + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + agile_sprints: + streamHash: 84090469153118dbc987a9c37cf2c799a83e6d2d + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + agile_issues: + streamHash: 2dfe1c6fb173ccf02521581efa6ee9006fcf24e7 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + task_lists: + hasRecords: true + streamHash: f9ee5cf4140c33dfce4fcc5ad4614702add957ac + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + lists: + hasRecords: true + streamHash: d8435b29cba98887f89abbaefff341e6cb1b6ea2 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + calendar: + hasRecords: true + streamHash: 820c3058e9e99635a08c5bed6a636c91ddba6489 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + agile_issue_relation_types: + streamHash: c7c49d323249db80ebd12c25696b3a8aedc15881 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + agile_issue_relation_names: + streamHash: d325d97845d03febf1789a55afd5cb4c4fc034ee + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + agile_issue_type: + streamHash: c5de0b7196345425586cae50a436443ecb7f4533 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + agile_categories: + streamHash: da5fe66d152a993a89e8aecf5c9c845584de3c5c + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + custom_fields_field_sets: + hasRecords: true + streamHash: fe0fc46f7b8609aed7ab2f881741f8f9747432dc + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + product_list: + hasRecords: true + streamHash: ae55e6d3b33655d9417f462760e7476847f066f0 + hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true + responsesAreSuccessful: true + product_categories: + streamHash: 77477ff0efdf5f63d3214bf50fce6b985f91beb1 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + product_price_list: + streamHash: 6d0373a7cd9776a359bdf49099bb9588b900b055 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + product_manufacturer: + streamHash: ab864bebecfa95947fa189acef03afb490aa8a22 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + timesheet: + streamHash: 5d940a9256be572fc15ce9976bda373f41ae4cec + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + estimates: + streamHash: ef0ff9b1004e55e8cc666d035043e27423851e6c + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + transactions: + streamHash: e2598f4d0f43fc7b0f37ae256ae83a233b271b20 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + invoice_items: + streamHash: 110a211844ace85ae8dc297049dd97709db80b4f + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + invoice_contacts: + streamHash: bbe98bae7f8fee36a8edad2553f5b88b55a9bb09 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + project_observers: + streamHash: f8b4261a5e38ed2d294fd4f2704f0ac54b2bd704 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + task_workflows: + streamHash: dffaca6f0d341a9dddc39f204efdeeb28df44794 + hasResponse: true + responsesAreSuccessful: true + hasRecords: true + primaryKeysArePresent: true + primaryKeysAreUnique: true + assist: + docsUrl: https://www.flowlu.com/api/#section/Common-structure + +schemas: + tasks: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - number + - "null" + description: + type: + - string + - "null" + all_day: + type: + - number + - "null" + archive_status: + type: + - number + - "null" + closed_by: + type: + - number + - "null" + closed_date: + type: + - string + - "null" + cost: + type: + - number + - "null" + cost_type: + type: + - string + - "null" + created_date: + type: + - string + - "null" + crm_account_id: + type: + - number + - "null" + deadline: + type: + - string + - "null" + deadline_allowchange: + type: + - number + - "null" + event_access_type: + type: + - number + - "null" + event_busy_status: + type: + - number + - "null" + event_calendar_id: + type: + - number + - "null" + event_color: + type: + - string + - "null" + event_etag: + type: + - string + - "null" + event_location: + type: + - string + - "null" + event_sync_type: + type: + - number + - "null" + event_type: + type: + - number + - "null" + extra_fields: + type: + - string + - "null" + first_closed_date: + type: + - string + - "null" + id: + type: number + is_archive: + type: + - string + - "null" + is_hidden: + type: + - number + - "null" + is_repeat: + type: + - number + - "null" + model: + type: + - string + - "null" + model_id: + type: + - number + - "null" + module: + type: + - string + - "null" + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + owner_id: + type: + - number + - "null" + parent_id: + type: + - number + - "null" + plan_end_date: + type: + - string + - "null" + plan_start_date: + type: + - string + - "null" + prev_task_id: + type: + - number + - "null" + price: + type: + - number + - "null" + price_type: + type: + - string + - "null" + priority: + type: + - number + - "null" + project_checkitem_id: + type: + - number + - "null" + project_stage_id: + type: + - number + - "null" + public_template: + type: + - number + - "null" + rating: + type: + - number + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - string + - "null" + report: + type: + - string + - "null" + report_complete: + type: + - string + - "null" + responsible_id: + type: + - number + - "null" + return_count: + type: + - number + - "null" + start_date: + type: + - string + - "null" + status_firstviewdate: + type: + - string + - "null" + status_updated_by: + type: + - number + - "null" + status_updated_date: + type: + - string + - "null" + task_checkbyowner: + type: + - number + - "null" + template_id: + type: + - number + - "null" + time_estimate: + type: + - number + - "null" + time_spent: + type: + - number + - "null" + updated_by: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + uuid: + type: + - string + - "null" + workflow_id: + type: + - number + - "null" + workflow_stage_id: + type: + - number + - "null" + required: + - id + custom_fields: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - string + - "null" + active: + type: + - number + - "null" + alias: + type: + - string + - "null" + api_use_alias: + type: + - number + - "null" + cache_parent_id: + type: + - number + - "null" + cache_value: + type: + - string + - "null" + fieldset_id: + type: + - number + - "null" + formula: + type: + - string + - "null" + group_id: + type: + - number + - "null" + group_label_field_id: + type: + - number + - "null" + hidden_detail: + type: + - number + - "null" + hint: + type: + - string + - "null" + id: + type: number + model: + type: + - string + - "null" + module: + type: + - string + - "null" + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + parent_id: + type: + - number + - "null" + required: + type: + - number + - "null" + scope_id: + type: + - number + - "null" + show_in_mobile: + type: + - number + - "null" + show_on_detail_page: + type: + - number + - "null" + webhook_use_alias: + type: + - number + - "null" + required: + - id + agile_workflows: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + created_date: + type: + - string + - "null" + id: + type: number + name: + type: + - string + - "null" + updated_date: + type: + - string + - "null" + required: + - id + st_projects_users: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + id: + type: + - number + - "null" + project_id: + type: + - number + - "null" + role: + type: + - number + - "null" + user_id: + type: + - number + - "null" + projects: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + archive_date: + type: + - string + - "null" + archive_description: + type: + - string + - "null" + bill_taxes: + type: + - number + - "null" + billing_type: + type: + - number + - "null" + briefcase_id: + type: + - number + - "null" + created_by: + type: + - number + - "null" + created_date: + type: + - string + - "null" + crm_lead_id: + type: + - number + - "null" + customer_crm_contact_id: + type: + - number + - "null" + customer_id: + type: + - number + - "null" + default_bill_time_type: + type: + - string + - "null" + default_billing_rate: + type: + - number + - "null" + default_employee_cost_rate: + type: + - number + - "null" + default_invoice_item_format: + type: + - string + - "null" + default_invoice_split_type_in_project: + type: + - number + - "null" + default_only_completed_task: + type: + - string + - "null" + default_time_cost_type: + type: + - string + - "null" + enddate: + type: + - string + - "null" + estimated_expenses: + type: + - number + - "null" + estimated_revenue: + type: + - number + - "null" + extra_fields: + type: + - string + - "null" + id: + type: number + is_archive: + type: + - number + - "null" + manager_id: + type: + - number + - "null" + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + priority: + type: + - number + - "null" + project_type_id: + type: + - number + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - string + - "null" + stage_id: + type: + - number + - "null" + startdate: + type: + - string + - "null" + tasks_workflow_id: + type: + - number + - "null" + updated_by: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + use_default_invoice_split_type: + type: + - number + - "null" + uuid: + type: + - string + - "null" + workspace_id: + type: + - number + - "null" + required: + - id + account: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - number + - "null" + description: + type: + - string + - "null" + VAT: + type: + - string + - "null" + VAT1: + type: + - string + - "null" + VAT2: + type: + - string + - "null" + account_category_id: + type: + - number + - "null" + active: + type: + - number + - "null" + address: + type: + - string + - "null" + address_legal: + type: + - string + - "null" + bank_details: + type: + - string + - "null" + billing_address_line_1: + type: + - string + - "null" + billing_address_line_2: + type: + - string + - "null" + billing_address_line_3: + type: + - string + - "null" + billing_city: + type: + - string + - "null" + billing_country: + type: + - string + - "null" + billing_state: + type: + - string + - "null" + billing_zip: + type: + - string + - "null" + created_date: + type: + - string + - "null" + email: + type: + - string + - "null" + email_personal: + type: + - string + - "null" + extra_fields: + type: + - string + - "null" + first_name: + type: + - string + - "null" + guid_1c: + type: + - string + - "null" + honorific_title_id: + type: + - number + - "null" + id: + type: number + industry_id: + type: + - number + - "null" + last_activity_id: + type: + - number + - "null" + last_activity_model: + type: + - string + - "null" + last_activity_time: + type: + - string + - "null" + last_name: + type: + - string + - "null" + link_facebook: + type: + - string + - "null" + link_google: + type: + - string + - "null" + link_instagram: + type: + - string + - "null" + link_linkedin: + type: + - string + - "null" + link_vk: + type: + - string + - "null" + merged_to: + type: + - number + - "null" + middle_name: + type: + - string + - "null" + name: + type: + - string + - "null" + name_legal: + type: + - string + - "null" + name_legal_full: + type: + - string + - "null" + organization_employee_count: + type: + - number + - "null" + organization_expenses: + type: + - number + - "null" + organization_registration_date: + type: + - string + - "null" + organization_revenue: + type: + - number + - "null" + owner_id: + type: + - number + - "null" + phone: + type: + - string + - "null" + phone2: + type: + - string + - "null" + phone3: + type: + - string + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - number + - "null" + shipping_address_line_1: + type: + - string + - "null" + shipping_address_line_2: + type: + - string + - "null" + shipping_address_line_3: + type: + - string + - "null" + shipping_city: + type: + - string + - "null" + shipping_country: + type: + - string + - "null" + shipping_state: + type: + - string + - "null" + shipping_zip: + type: + - string + - "null" + skype: + type: + - string + - "null" + telegram: + type: + - string + - "null" + timezone: + type: + - string + - "null" + updated_date: + type: + - string + - "null" + web: + type: + - string + - "null" + required: + - id + agile_epics: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + created_by: + type: + - number + - "null" + created_date: + type: + - string + - "null" + end_date: + type: + - string + - "null" + id: + type: number + is_completed: + type: + - number + - "null" + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + project_id: + type: + - number + - "null" + start_date: + type: + - string + - "null" + updated_by: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + required: + - id + loss_reason: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + active: + type: + - number + - "null" + id: + type: number + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + required: + - id + pipeline: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + id: + type: + - number + - "null" + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + type_access: + type: + - string + - "null" + lead: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + active: + type: + - number + - "null" + adjustment: + type: + - number + - "null" + adjustment_description: + type: + - string + - "null" + assignee_id: + type: + - number + - "null" + auto_calc: + type: + - string + - "null" + budget: + type: + - number + - "null" + cf_1: + type: + - string + - "null" + cf_2: + type: + - string + - "null" + cf_2_value: + type: + - string + - "null" + closing_comment: + type: + - string + - "null" + closing_date: + type: + - string + - "null" + closing_status_id: + type: + - number + - "null" + contact_company: + type: + - string + - "null" + contact_email: + type: + - string + - "null" + contact_id: + type: + - number + - "null" + contact_mobile: + type: + - string + - "null" + contact_name: + type: + - string + - "null" + contact_phone: + type: + - string + - "null" + contact_position: + type: + - string + - "null" + contact_web: + type: + - string + - "null" + created_by: + type: + - number + - "null" + created_date: + type: + - string + - "null" + customer_id: + type: + - number + - "null" + deadline: + type: + - string + - "null" + id: + type: number + last_activity_id: + type: + - number + - "null" + last_activity_model: + type: + - string + - "null" + last_activity_time: + type: + - string + - "null" + merged_to_id: + type: + - number + - "null" + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + pipeline_id: + type: + - number + - "null" + pipeline_stage_id: + type: + - number + - "null" + pricelist_id: + type: + - number + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - number + - "null" + shipping_charge: + type: + - number + - "null" + source_id: + type: + - number + - "null" + start_date: + type: + - string + - "null" + updated_date: + type: + - string + - "null" + required: + - id + emails: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - number + - "null" + account_id: + type: + - number + - "null" + comment: + type: + - string + - "null" + email: + type: + - string + - "null" + id: + type: number + required: + - id + invoice: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - number + - "null" + adjustment: + type: + - number + - "null" + adjustment_description: + type: + - string + - "null" + assignee_id: + type: + - number + - "null" + bank: + type: + - string + - "null" + bank_id: + type: + - number + - "null" + bcy_paid_total: + type: + - number + - "null" + bill_from_address: + type: + - string + - "null" + bill_from_city: + type: + - string + - "null" + bill_from_country_id: + type: + - number + - "null" + bill_from_state: + type: + - string + - "null" + bill_from_zip: + type: + - string + - "null" + bill_to_address: + type: + - string + - "null" + bill_to_city: + type: + - string + - "null" + bill_to_country_id: + type: + - number + - "null" + bill_to_state: + type: + - string + - "null" + bill_to_zip: + type: + - string + - "null" + category_id: + type: + - number + - "null" + company_phone: + type: + - string + - "null" + company_phone2: + type: + - string + - "null" + company_vat: + type: + - string + - "null" + company_vat2: + type: + - string + - "null" + contact_person: + type: + - string + - "null" + contact_person2: + type: + - string + - "null" + contact_person2_position: + type: + - string + - "null" + contact_person_position: + type: + - string + - "null" + created_by: + type: + - number + - "null" + created_date: + type: + - string + - "null" + currency_code: + type: + - string + - "null" + currency_id: + type: + - number + - "null" + customer_id: + type: + - number + - "null" + customer_legal_name: + type: + - string + - "null" + customer_name: + type: + - string + - "null" + discount: + type: + - number + - "null" + discount_before_tax: + type: + - number + - "null" + due_date: + type: + - string + - "null" + estimate_id: + type: + - number + - "null" + exported_1c: + type: + - number + - "null" + group_id: + type: + - number + - "null" + id: + type: number + invoice_date: + type: + - string + - "null" + invoice_emailed_date: + type: + - string + - "null" + invoice_footer_text: + type: + - string + - "null" + invoice_number: + type: + - number + - "null" + invoice_number_print: + type: + - string + - "null" + invoice_terms_text: + type: + - string + - "null" + is_discount_percent: + type: + - number + - "null" + is_invoice_emailed: + type: + - number + - "null" + is_reminder_sent: + type: + - number + - "null" + is_template: + type: + - number + - "null" + model: + type: + - string + - "null" + model_id: + type: + - number + - "null" + module: + type: + - string + - "null" + note: + type: + - string + - "null" + org_account_id: + type: + - number + - "null" + org_id: + type: + - number + - "null" + org_phone: + type: + - string + - "null" + org_phone2: + type: + - string + - "null" + org_vat: + type: + - string + - "null" + org_vat2: + type: + - string + - "null" + paid_date: + type: + - string + - "null" + payment_options: + type: + - string + - "null" + paymethod_id: + type: + - number + - "null" + plan_money_id: + type: + - number + - "null" + plan_money_total: + type: + - number + - "null" + pm_currency_id: + type: + - number + - "null" + pricelist_id: + type: + - number + - "null" + ps_currency_id: + type: + - number + - "null" + pscy_paid_total: + type: + - number + - "null" + recurring_invoice_id: + type: + - number + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - string + - "null" + reference: + type: + - string + - "null" + reminders_sent_date: + type: + - string + - "null" + shipping_charge: + type: + - number + - "null" + show_add_sign_string: + type: + - number + - "null" + status_id: + type: + - number + - "null" + sub_total: + type: + - number + - "null" + tax1: + type: + - number + - "null" + tax1_included: + type: + - number + - "null" + tax2: + type: + - number + - "null" + tax2_included: + type: + - number + - "null" + tax_total: + type: + - number + - "null" + template_id: + type: + - number + - "null" + template_name: + type: + - string + - "null" + total: + type: + - number + - "null" + updated_by: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + use_multiple_pm: + type: + - number + - "null" + uuid: + type: + - string + - "null" + required: + - id + customer_payment: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - number + - "null" + description: + type: + - string + - "null" + bank_account_id: + type: + - number + - "null" + charge: + type: + - number + - "null" + complete_date: + type: + - string + - "null" + created_by: + type: + - number + - "null" + created_date: + type: + - string + - "null" + crm_company_id: + type: + - number + - "null" + currency_id: + type: + - number + - "null" + date: + type: + - string + - "null" + enddate: + type: + - string + - "null" + id: + type: number + is_complete: + type: + - number + - "null" + is_manual: + type: + - number + - "null" + is_owed: + type: + - number + - "null" + name: + type: + - string + - "null" + need_approve: + type: + - number + - "null" + ordering: + type: + - number + - "null" + org_id: + type: + - number + - "null" + owner_id: + type: + - number + - "null" + project_id: + type: + - number + - "null" + project_stage_id: + type: + - number + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - string + - "null" + ref_uuid: + type: + - string + - "null" + reference: + type: + - string + - "null" + startdate: + type: + - string + - "null" + status: + type: + - number + - "null" + status_pls: + type: + - number + - "null" + total: + type: + - number + - "null" + updated_by: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + uuid: + type: + - string + - "null" + required: + - id + bank_account: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - number + - "null" + account_group_id: + type: + - number + - "null" + active: + type: + - number + - "null" + bcy_balance: + type: + - number + - "null" + closed_at: + type: + - string + - "null" + currency_exchange_rate: + type: + - number + - "null" + currency_id: + type: + - number + - "null" + excluded_balance: + type: + - number + - "null" + fixed_balance: + type: + - number + - "null" + fixed_balance_date: + type: + - string + - "null" + id: + type: number + manager_id: + type: + - number + - "null" + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + ordering_by_group: + type: + - number + - "null" + org_id: + type: + - number + - "null" + pls_bcy_balance: + type: + - number + - "null" + pls_fixed_balance: + type: + - number + - "null" + pls_fixed_balance_date: + type: + - string + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - string + - "null" + required: + - id + agile_stages: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + color: + type: + - string + - "null" + created_date: + type: + - string + - "null" + id: + type: number + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + status: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + workflow_id: + type: + - number + - "null" + required: + - id + agile_sprints: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + active: + type: + - number + - "null" + changelog: + type: + - string + - "null" + created_date: + type: + - string + - "null" + deadline: + type: + - string + - "null" + id: + type: number + name: + type: + - string + - "null" + project_id: + type: + - number + - "null" + standup_time: + type: + - string + - "null" + start_date: + type: + - string + - "null" + started: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + required: + - id + agile_issues: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + archived_date: + type: + - string + - "null" + assignee_id: + type: + - number + - "null" + category_id: + type: + - number + - "null" + completed_date: + type: + - string + - "null" + created_date: + type: + - string + - "null" + creator_id: + type: + - number + - "null" + effort: + type: + - number + - "null" + epic_id: + type: + - number + - "null" + estimate: + type: + - number + - "null" + id: + type: number + is_archived: + type: + - number + - "null" + name: + type: + - string + - "null" + number: + type: + - number + - "null" + number_label: + type: + - string + - "null" + ordering: + type: + - number + - "null" + parent_issue_id: + type: + - number + - "null" + priority: + type: + - number + - "null" + project_id: + type: + - number + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - string + - "null" + sprint_id: + type: + - number + - "null" + type_id: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + value: + type: + - string + - "null" + workflow_stage_id: + type: + - number + - "null" + required: + - id + task_lists: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + created_by: + type: + - number + - "null" + created_date: + type: + - string + - "null" + id: + type: number + list_id: + type: + - number + - "null" + task_id: + type: + - number + - "null" + updated_by: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + required: + - id + lists: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + active: + type: + - number + - "null" + color: + type: + - string + - "null" + created_by: + type: + - number + - "null" + created_date: + type: + - string + - "null" + icon: + type: + - string + - "null" + id: + type: number + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + updated_by: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + user_id: + type: + - number + - "null" + required: + - id + calendar: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - number + - "null" + description: + type: + - string + - "null" + color: + type: + - string + - "null" + created_by: + type: + - number + - "null" + created_date: + type: + - string + - "null" + etag: + type: + - string + - "null" + id: + type: number + name: + type: + - string + - "null" + sync_type: + type: + - number + - "null" + timezone: + type: + - string + - "null" + updated_by: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + uuid: + type: + - string + - "null" + required: + - id + agile_issue_relation_types: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + child_relation_name_id: + type: + - number + - "null" + created_date: + type: + - string + - "null" + id: + type: number + name: + type: + - string + - "null" + parent_relation_name_id: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + required: + - id + agile_issue_relation_names: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + created_date: + type: + - string + - "null" + id: + type: number + name: + type: + - string + - "null" + tree_type: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + required: + - id + agile_issue_type: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - number + - "null" + description: + type: + - string + - "null" + color: + type: + - string + - "null" + created_date: + type: + - string + - "null" + icon: + type: + - string + - "null" + id: + type: number + is_default: + type: + - number + - "null" + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + required: + - id + agile_categories: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + assignee_id: + type: + - number + - "null" + color: + type: + - string + - "null" + created_date: + type: + - string + - "null" + id: + type: number + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + parent_id: + type: + - number + - "null" + project_id: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + required: + - id + custom_fields_field_sets: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + group_field: + type: + - string + - "null" + group_id: + type: + - number + - "null" + id: + type: number + model: + type: + - string + - "null" + module: + type: + - string + - "null" + name: + type: + - string + - "null" + required: + - id + product_list: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - number + - "null" + description: + type: + - string + - "null" + active: + type: + - number + - "null" + article: + type: + - string + - "null" + category_id: + type: + - number + - "null" + code: + type: + - string + - "null" + code_ean: + type: + - string + - "null" + code_isbn: + type: + - string + - "null" + code_mpn: + type: + - string + - "null" + code_upc: + type: + - string + - "null" + created: + type: + - string + - "null" + created_by: + type: + - number + - "null" + full_description: + type: + - string + - "null" + id: + type: number + manufacturer_id: + type: + - number + - "null" + name: + type: + - string + - "null" + online_payment_subject_type: + type: + - number + - "null" + online_payment_type: + type: + - number + - "null" + online_payment_vat: + type: + - number + - "null" + pricelist_currency_1: + type: + - string + - "null" + pricelist_price_1: + type: + - string + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - string + - "null" + tax: + type: + - number + - "null" + tax_desc: + type: + - string + - "null" + tax_included: + type: + - number + - "null" + taxable: + type: + - number + - "null" + unit_id: + type: + - number + - "null" + uom_id: + type: + - number + - "null" + updated: + type: + - string + - "null" + updated_by: + type: + - number + - "null" + required: + - id + product_categories: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + active: + type: + - number + - "null" + created: + type: + - string + - "null" + created_by: + type: + - number + - "null" + id: + type: number + name: + type: + - string + - "null" + parent_id: + type: + - number + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - string + - "null" + updated: + type: + - string + - "null" + updated_by: + type: + - number + - "null" + required: + - id + product_price_list: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - number + - "null" + description: + type: + - string + - "null" + active: + type: + - number + - "null" + created: + type: + - string + - "null" + created_by: + type: + - number + - "null" + default: + type: + - number + - "null" + id: + type: number + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - string + - "null" + updated: + type: + - string + - "null" + updated_by: + type: + - number + - "null" + required: + - id + product_manufacturer: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + active: + type: + - number + - "null" + created: + type: + - string + - "null" + created_by: + type: + - number + - "null" + crm_company_id: + type: + - number + - "null" + currency_id: + type: + - number + - "null" + id: + type: number + name: + type: + - string + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - string + - "null" + updated: + type: + - string + - "null" + updated_by: + type: + - number + - "null" + required: + - id + timesheet: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + aggregated_time_estimate: + type: + - number + - "null" + amount_timeestimate: + type: + - number + - "null" + amount_timespent: + type: + - number + - "null" + bill_amount_timeestimate: + type: + - number + - "null" + bill_amount_timespent: + type: + - number + - "null" + bill_cost_timeestimate: + type: + - number + - "null" + bill_cost_timespent: + type: + - number + - "null" + bill_time: + type: + - number + - "null" + bill_time_estimate: + type: + - number + - "null" + bill_time_type: + type: + - string + - "null" + billing_rate: + type: + - number + - "null" + billing_status: + type: + - number + - "null" + cost_time_type: + type: + - string + - "null" + created_by: + type: + - number + - "null" + created_date: + type: + - string + - "null" + currency_id: + type: + - number + - "null" + employee_cost_rate: + type: + - number + - "null" + id: + type: number + invoice_id: + type: + - number + - "null" + is_billable: + type: + - number + - "null" + is_billable_employee: + type: + - number + - "null" + model: + type: + - string + - "null" + model_id: + type: + - number + - "null" + module: + type: + - string + - "null" + parent_sheet_id: + type: + - number + - "null" + rate: + type: + - number + - "null" + time_estimate: + type: + - number + - "null" + time_spent: + type: + - number + - "null" + unbill_time: + type: + - number + - "null" + unbill_time_estimate: + type: + - number + - "null" + updated_by: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + required: + - id + estimates: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - number + - "null" + active: + type: + - number + - "null" + adjustment: + type: + - number + - "null" + adjustment_description: + type: + - string + - "null" + assignee_id: + type: + - number + - "null" + bill_from_address: + type: + - string + - "null" + bill_from_city: + type: + - string + - "null" + bill_from_country_id: + type: + - number + - "null" + bill_from_state: + type: + - string + - "null" + bill_from_zip: + type: + - string + - "null" + bill_to_address: + type: + - string + - "null" + bill_to_city: + type: + - string + - "null" + bill_to_country_id: + type: + - number + - "null" + bill_to_state: + type: + - string + - "null" + bill_to_zip: + type: + - string + - "null" + company_phone: + type: + - string + - "null" + company_phone2: + type: + - string + - "null" + company_vat: + type: + - string + - "null" + company_vat2: + type: + - string + - "null" + contact_person: + type: + - string + - "null" + contact_person_position: + type: + - string + - "null" + created_by: + type: + - number + - "null" + currency_code: + type: + - string + - "null" + currency_id: + type: + - number + - "null" + customer_id: + type: + - number + - "null" + customer_legal_name: + type: + - string + - "null" + customer_name: + type: + - string + - "null" + discount: + type: + - number + - "null" + discount_before_tax: + type: + - number + - "null" + estimate_emailed_date: + type: + - string + - "null" + estimate_footer_text: + type: + - string + - "null" + estimate_number: + type: + - number + - "null" + estimate_number_print: + type: + - string + - "null" + estimate_terms_text: + type: + - string + - "null" + exchange_rate: + type: + - number + - "null" + expire_date: + type: + - string + - "null" + group_id: + type: + - number + - "null" + id: + type: number + invoice_date: + type: + - string + - "null" + is_discount_percent: + type: + - number + - "null" + model: + type: + - string + - "null" + model_id: + type: + - number + - "null" + module: + type: + - string + - "null" + org_id: + type: + - number + - "null" + org_phone: + type: + - string + - "null" + org_phone2: + type: + - string + - "null" + org_vat: + type: + - string + - "null" + org_vat2: + type: + - string + - "null" + pricelist_id: + type: + - number + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - string + - "null" + reference_number: + type: + - string + - "null" + shipping_charge: + type: + - number + - "null" + status_id: + type: + - number + - "null" + sub_total: + type: + - number + - "null" + tax1: + type: + - number + - "null" + tax1_included: + type: + - number + - "null" + tax2: + type: + - number + - "null" + tax2_included: + type: + - number + - "null" + tax_total: + type: + - number + - "null" + template_id: + type: + - number + - "null" + total: + type: + - number + - "null" + updated_by: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + uuid: + type: + - string + - "null" + required: + - id + transactions: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - number + - "null" + description: + type: + - string + - "null" + bcy_charge: + type: + - number + - "null" + bcy_income: + type: + - number + - "null" + bcy_outcome: + type: + - number + - "null" + business_line_id: + type: + - number + - "null" + category_id: + type: + - number + - "null" + charge: + type: + - number + - "null" + created_by: + type: + - number + - "null" + created_date: + type: + - string + - "null" + crm_account_id: + type: + - number + - "null" + currency_exchange_rate: + type: + - number + - "null" + currency_id: + type: + - number + - "null" + date: + type: + - string + - "null" + id: + type: number + income: + type: + - number + - "null" + invoice_id: + type: + - number + - "null" + is_charge: + type: + - number + - "null" + is_generated: + type: + - number + - "null" + is_storno: + type: + - number + - "null" + manager_id: + type: + - number + - "null" + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + org_account_id: + type: + - number + - "null" + org_id: + type: + - number + - "null" + outcome: + type: + - number + - "null" + plan_money_id: + type: + - number + - "null" + plan_money_total: + type: + - number + - "null" + pm_currency_id: + type: + - number + - "null" + project_id: + type: + - number + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - number + - "null" + ref_uuid: + type: + - string + - "null" + reference: + type: + - string + - "null" + reference_id: + type: + - number + - "null" + status: + type: + - number + - "null" + store_doc_currency_id: + type: + - number + - "null" + store_doc_id: + type: + - number + - "null" + store_doc_total: + type: + - number + - "null" + updated_by: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + uuid: + type: + - string + - "null" + required: + - id + invoice_items: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + type: + type: + - number + - "null" + description: + type: + - string + - "null" + bcy_paid_total: + type: + - number + - "null" + discount: + type: + - string + - "null" + discount_amount: + type: + - number + - "null" + discount_is_percent: + type: + - number + - "null" + id: + type: number + invoice_id: + type: + - number + - "null" + item_id: + type: + - number + - "null" + name: + type: + - string + - "null" + online_payment_subject_type: + type: + - number + - "null" + online_payment_type: + type: + - number + - "null" + online_payment_vat: + type: + - number + - "null" + ordering: + type: + - number + - "null" + paid_date: + type: + - string + - "null" + paid_total: + type: + - number + - "null" + plan_money_id: + type: + - number + - "null" + plan_money_total: + type: + - number + - "null" + quantity: + type: + - number + - "null" + ref: + type: + - string + - "null" + ref_id: + type: + - string + - "null" + sub_total: + type: + - number + - "null" + tax1: + type: + - number + - "null" + tax1_amount: + type: + - number + - "null" + tax1_included: + type: + - number + - "null" + tax2: + type: + - number + - "null" + tax2_amount: + type: + - number + - "null" + tax2_included: + type: + - number + - "null" + tax_displayed: + type: + - string + - "null" + tax_total: + type: + - number + - "null" + total: + type: + - number + - "null" + unit_id: + type: + - number + - "null" + unit_price: + type: + - number + - "null" + required: + - id + invoice_contacts: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + contact_id: + type: + - string + - "null" + email_id: + type: + - number + - "null" + id: + type: number + invoice_emailed: + type: + - number + - "null" + invoice_emailed_date: + type: + - string + - "null" + invoice_id: + type: + - number + - "null" + is_primary: + type: + - number + - "null" + reminders_sent: + type: + - number + - "null" + reminders_sent_date: + type: + - string + - "null" + required: + - id + project_observers: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + id: + type: number + project_id: + type: + - number + - "null" + role: + type: + - number + - "null" + user_id: + type: + - number + - "null" + required: + - id + task_workflows: + type: object + $schema: http://json-schema.org/schema# + additionalProperties: true + properties: + description: + type: + - string + - "null" + active: + type: + - number + - "null" + created_by: + type: + - number + - "null" + id: + type: number + name: + type: + - string + - "null" + ordering: + type: + - number + - "null" + updated_by: + type: + - number + - "null" + updated_date: + type: + - string + - "null" + required: + - id diff --git a/airbyte-integrations/connectors/source-flowlu/metadata.yaml b/airbyte-integrations/connectors/source-flowlu/metadata.yaml new file mode 100644 index 000000000000..1ddf8a536419 --- /dev/null +++ b/airbyte-integrations/connectors/source-flowlu/metadata.yaml @@ -0,0 +1,35 @@ +metadataSpecVersion: "1.0" +data: + allowedHosts: + hosts: + - "https:" + registryOverrides: + oss: + enabled: true + cloud: + enabled: true + remoteRegistries: + pypi: + enabled: false + packageName: airbyte-source-flowlu + connectorBuildOptions: + baseImage: docker.io/airbyte/source-declarative-manifest:6.5.2@sha256:3c89340fc033aab28e7ba7402a4a7c98cd9ca8eefa1503d23d3ea336c9a6e92b + connectorSubtype: api + connectorType: source + definitionId: c9db3f2d-054a-43bc-96cc-0d2843bce018 + dockerImageTag: 0.0.1 + dockerRepository: airbyte/source-flowlu + githubIssueLabel: source-flowlu + icon: icon.svg + license: MIT + name: Flowlu + releaseDate: 2024-11-11 + releaseStage: alpha + supportLevel: community + documentationUrl: https://docs.airbyte.com/integrations/sources/flowlu + tags: + - language:manifest-only + - cdk:low-code + ab_internal: + ql: 100 + sl: 100 diff --git a/docs/integrations/sources/flowlu.md b/docs/integrations/sources/flowlu.md new file mode 100644 index 000000000000..a57e6b98f833 --- /dev/null +++ b/docs/integrations/sources/flowlu.md @@ -0,0 +1,60 @@ +# Flowlu +Flowlu connector enables seamless data integration between Flowlu, a project management and CRM platform, and various destinations supported by Airbyte. With this connector, users can automate the flow of project, finance, and CRM data into their preferred analytics or storage solutions for enhanced data analysis and reporting. This integration streamlines data syncing, reducing manual data transfer efforts and enhancing productivity. + +## Configuration + +| Input | Type | Description | Default Value | +|-------|------|-------------|---------------| +| `api_key` | `string` | API Key. The API key to use for authentication | | +| `company` | `string` | Sub Domain information for the Company. | | + +## Streams +| Stream Name | Primary Key | Pagination | Supports Full Sync | Supports Incremental | +|-------------|-------------|------------|---------------------|----------------------| +| tasks | id | DefaultPaginator | ✅ | ❌ | +| custom_fields | id | DefaultPaginator | ✅ | ❌ | +| agile_workflows | id | DefaultPaginator | ✅ | ❌ | +| st_projects_users | | DefaultPaginator | ✅ | ❌ | +| projects | id | DefaultPaginator | ✅ | ❌ | +| account | id | DefaultPaginator | ✅ | ❌ | +| agile_epics | id | DefaultPaginator | ✅ | ❌ | +| loss_reason | id | DefaultPaginator | ✅ | ❌ | +| pipeline | | DefaultPaginator | ✅ | ❌ | +| lead | id | DefaultPaginator | ✅ | ❌ | +| emails | id | DefaultPaginator | ✅ | ❌ | +| invoice | id | DefaultPaginator | ✅ | ❌ | +| customer_payment | id | DefaultPaginator | ✅ | ❌ | +| bank_account | id | DefaultPaginator | ✅ | ❌ | +| agile_stages | id | DefaultPaginator | ✅ | ❌ | +| agile_sprints | id | DefaultPaginator | ✅ | ❌ | +| agile_issues | id | DefaultPaginator | ✅ | ❌ | +| task_lists | id | DefaultPaginator | ✅ | ❌ | +| lists | id | DefaultPaginator | ✅ | ❌ | +| calendar | id | DefaultPaginator | ✅ | ❌ | +| agile_issue_relation_types | id | DefaultPaginator | ✅ | ❌ | +| agile_issue_relation_names | id | DefaultPaginator | ✅ | ❌ | +| agile_issue_type | id | DefaultPaginator | ✅ | ❌ | +| agile_categories | id | DefaultPaginator | ✅ | ❌ | +| custom_fields_field_sets | id | DefaultPaginator | ✅ | ❌ | +| product_list | id | DefaultPaginator | ✅ | ❌ | +| product_categories | id | DefaultPaginator | ✅ | ❌ | +| product_price_list | id | DefaultPaginator | ✅ | ❌ | +| product_manufacturer | id | DefaultPaginator | ✅ | ❌ | +| timesheet | id | DefaultPaginator | ✅ | ❌ | +| estimates | id | DefaultPaginator | ✅ | ❌ | +| transactions | id | DefaultPaginator | ✅ | ❌ | +| invoice_items | id | DefaultPaginator | ✅ | ❌ | +| invoice_contacts | id | DefaultPaginator | ✅ | ❌ | +| project_observers | id | DefaultPaginator | ✅ | ❌ | +| task_workflows | id | DefaultPaginator | ✅ | ❌ | + +## Changelog + +
+ Expand to review + +| Version | Date | Pull Request | Subject | +|------------------|-------------------|--------------|----------------| +| 0.0.1 | 2024-11-11 | | Initial release by [@bishalbera](https://github.com/bishalbera) via Connector Builder | + +