diff --git a/airbyte-integrations/connectors/source-chift/README.md b/airbyte-integrations/connectors/source-chift/README.md
new file mode 100644
index 000000000000..e5212cf144d1
--- /dev/null
+++ b/airbyte-integrations/connectors/source-chift/README.md
@@ -0,0 +1,32 @@
+# Chift
+This directory contains the manifest-only connector for `source-chift`.
+
+Chift is a tool that allows for the integration of financial data into SaaS products.
+
+## 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-chift:dev`) that you can use to test the connector locally.
+```bash
+airbyte-ci connectors --name=source-chift build
+```
+
+### Test
+This will run the acceptance tests for the connector.
+```bash
+airbyte-ci connectors --name=source-chift test
+```
\ No newline at end of file
diff --git a/airbyte-integrations/connectors/source-chift/acceptance-test-config.yml b/airbyte-integrations/connectors/source-chift/acceptance-test-config.yml
new file mode 100644
index 000000000000..8bf4f4f5a118
--- /dev/null
+++ b/airbyte-integrations/connectors/source-chift/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-chift: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"
\ No newline at end of file
diff --git a/airbyte-integrations/connectors/source-chift/icon.svg b/airbyte-integrations/connectors/source-chift/icon.svg
new file mode 100644
index 000000000000..ca53cf7d9091
--- /dev/null
+++ b/airbyte-integrations/connectors/source-chift/icon.svg
@@ -0,0 +1,25 @@
+
+
+
diff --git a/airbyte-integrations/connectors/source-chift/manifest.yaml b/airbyte-integrations/connectors/source-chift/manifest.yaml
new file mode 100644
index 000000000000..df4674852399
--- /dev/null
+++ b/airbyte-integrations/connectors/source-chift/manifest.yaml
@@ -0,0 +1,567 @@
+version: 6.48.15
+
+type: DeclarativeSource
+
+description: >-
+ Chift is a tool that allows for the integration of financial data into SaaS
+ products.
+check:
+ type: CheckStream
+ stream_names:
+ - consumers
+
+definitions:
+ streams:
+ syncs:
+ type: DeclarativeStream
+ name: syncs
+ retriever:
+ type: SimpleRetriever
+ decoder:
+ type: JsonDecoder
+ requester:
+ $ref: "#/definitions/base_requester"
+ path: /syncs
+ http_method: GET
+ record_selector:
+ type: RecordSelector
+ extractor:
+ type: DpathExtractor
+ field_path: []
+ schema_loader:
+ type: InlineSchemaLoader
+ schema:
+ $ref: "#/schemas/syncs"
+ consumers:
+ type: DeclarativeStream
+ name: consumers
+ retriever:
+ type: SimpleRetriever
+ decoder:
+ type: JsonDecoder
+ requester:
+ $ref: "#/definitions/base_requester"
+ path: /consumers
+ http_method: GET
+ record_selector:
+ type: RecordSelector
+ extractor:
+ type: DpathExtractor
+ field_path: []
+ primary_key:
+ - consumerid
+ schema_loader:
+ type: InlineSchemaLoader
+ schema:
+ $ref: "#/schemas/consumers"
+ connections:
+ type: DeclarativeStream
+ name: connections
+ retriever:
+ type: SimpleRetriever
+ decoder:
+ type: JsonDecoder
+ requester:
+ $ref: "#/definitions/base_requester"
+ path: /consumers/{{ stream_partition.parent_id }}/connections
+ http_method: GET
+ record_selector:
+ type: RecordSelector
+ extractor:
+ type: DpathExtractor
+ field_path: []
+ partition_router:
+ type: SubstreamPartitionRouter
+ parent_stream_configs:
+ - type: ParentStreamConfig
+ stream:
+ $ref: "#/definitions/streams/consumers"
+ parent_key: consumerid
+ partition_field: parent_id
+ primary_key:
+ - connectionid
+ schema_loader:
+ type: InlineSchemaLoader
+ schema:
+ $ref: "#/schemas/connections"
+ base_requester:
+ type: HttpRequester
+ url_base: https://api.chift.eu
+ authenticator:
+ type: SessionTokenAuthenticator
+ login_requester:
+ type: HttpRequester
+ url_base: https://api.chift.eu/token
+ http_method: POST
+ authenticator:
+ type: NoAuth
+ request_headers: {}
+ request_body_json:
+ clientId: "\"{{ config['client_id'] }}\""
+ accountId: "\"{{ config['account_id'] }}\""
+ clientSecret: "\"{{ config['client_secret'] }}\""
+ request_parameters: {}
+ session_token_path:
+ - access_token
+ request_authentication:
+ type: Bearer
+
+streams:
+ - $ref: "#/definitions/streams/consumers"
+ - $ref: "#/definitions/streams/connections"
+ - $ref: "#/definitions/streams/syncs"
+
+spec:
+ type: Spec
+ connection_specification:
+ type: object
+ $schema: http://json-schema.org/draft-07/schema#
+ required:
+ - client_id
+ - client_secret
+ - account_id
+ properties:
+ client_id:
+ type: string
+ order: 0
+ title: Client Id
+ airbyte_secret: true
+ account_id:
+ type: string
+ order: 2
+ title: Account Id
+ airbyte_secret: true
+ client_secret:
+ type: string
+ order: 1
+ title: Client Secret
+ airbyte_secret: true
+ additionalProperties: true
+
+metadata:
+ assist: {}
+ testedStreams:
+ syncs:
+ hasRecords: true
+ streamHash: 9ab33623df884c15f3c8e6fe91c1ba67ada79310
+ hasResponse: true
+ primaryKeysAreUnique: true
+ primaryKeysArePresent: true
+ responsesAreSuccessful: true
+ consumers:
+ hasRecords: true
+ streamHash: 6a213c13e09695fd2f474616f8eee417f48c4cfd
+ hasResponse: true
+ primaryKeysAreUnique: true
+ primaryKeysArePresent: true
+ responsesAreSuccessful: true
+ connections:
+ hasRecords: true
+ streamHash: a3b802343a0df039fc4e7d1b4c8dc99ec69a1c6d
+ hasResponse: true
+ primaryKeysAreUnique: true
+ primaryKeysArePresent: true
+ responsesAreSuccessful: true
+ autoImportSchema:
+ syncs: true
+ consumers: true
+ connections: true
+
+schemas:
+ syncs:
+ type: object
+ $schema: http://json-schema.org/schema#
+ properties:
+ name:
+ type:
+ - string
+ - "null"
+ flows:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - object
+ - "null"
+ properties:
+ description:
+ type:
+ - string
+ - "null"
+ id:
+ type:
+ - string
+ - "null"
+ name:
+ type:
+ - string
+ - "null"
+ config:
+ type:
+ - object
+ - "null"
+ properties:
+ datastores:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - object
+ - "null"
+ properties:
+ id:
+ type:
+ - string
+ - "null"
+ name:
+ type:
+ - string
+ - "null"
+ status:
+ type:
+ - string
+ - "null"
+ definition:
+ type:
+ - object
+ - "null"
+ properties:
+ columns:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - object
+ - "null"
+ properties:
+ type:
+ type:
+ - string
+ - "null"
+ name:
+ type:
+ - string
+ - "null"
+ title:
+ type:
+ - string
+ - "null"
+ optional:
+ type:
+ - boolean
+ - "null"
+ search_column:
+ type:
+ - string
+ - "null"
+ customFields:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - object
+ - "null"
+ properties:
+ type:
+ type:
+ - string
+ - "null"
+ value:
+ type:
+ - string
+ - "null"
+ definitionFields:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - object
+ - "null"
+ properties:
+ type:
+ type:
+ - string
+ - "null"
+ data:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - object
+ - "null"
+ properties:
+ title:
+ type:
+ - string
+ - "null"
+ value:
+ type:
+ - string
+ - "null"
+ name:
+ type:
+ - string
+ - "null"
+ title:
+ type:
+ - string
+ - "null"
+ default:
+ type:
+ - string
+ - "null"
+ optional:
+ type:
+ - boolean
+ - "null"
+ triggers:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - object
+ - "null"
+ properties:
+ type:
+ type:
+ - string
+ - "null"
+ id:
+ type:
+ - string
+ - "null"
+ visible:
+ type:
+ - boolean
+ - "null"
+ priority:
+ type:
+ - string
+ - "null"
+ cronschedules:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - string
+ - "null"
+ syncid:
+ type:
+ - string
+ - "null"
+ mappings:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - object
+ - "null"
+ properties:
+ description:
+ type:
+ - string
+ - "null"
+ name:
+ type:
+ - string
+ - "null"
+ sub_mappings:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - object
+ - "null"
+ properties:
+ name:
+ type:
+ - string
+ - "null"
+ source_field:
+ type:
+ - object
+ - "null"
+ properties:
+ type:
+ type:
+ - string
+ - "null"
+ name:
+ type:
+ - string
+ - "null"
+ values:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - object
+ - "null"
+ properties:
+ id:
+ type:
+ - string
+ - "null"
+ label:
+ type:
+ - string
+ - "null"
+ target_field:
+ type:
+ - object
+ - "null"
+ properties:
+ type:
+ type:
+ - string
+ - "null"
+ name:
+ type:
+ - string
+ - "null"
+ api_route:
+ type:
+ - string
+ - "null"
+ display_condition:
+ type:
+ - object
+ - "null"
+ properties:
+ in:
+ type:
+ - array
+ - "null"
+ items:
+ anyOf:
+ - type: object
+ properties:
+ var:
+ type: string
+ - type: array
+ items:
+ type: string
+ display_order:
+ type:
+ - number
+ - "null"
+ display_delete:
+ type:
+ - boolean
+ - "null"
+ display_order:
+ type:
+ - number
+ - "null"
+ consumers:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - string
+ - "null"
+ connections:
+ type:
+ - array
+ - "null"
+ items:
+ type:
+ - object
+ - "null"
+ properties:
+ one_api:
+ type:
+ - number
+ - "null"
+ display_order:
+ type:
+ - number
+ - "null"
+ display_hidden:
+ type:
+ - boolean
+ - "null"
+ connection_type:
+ type:
+ - number
+ - "null"
+ additionalProperties: true
+ consumers:
+ type: object
+ $schema: http://json-schema.org/schema#
+ required:
+ - consumerid
+ properties:
+ name:
+ type:
+ - string
+ - "null"
+ email:
+ type:
+ - string
+ - "null"
+ consumerid:
+ type: string
+ redirect_url:
+ type:
+ - string
+ - "null"
+ internal_reference:
+ type:
+ - string
+ - "null"
+ additionalProperties: true
+ connections:
+ type: object
+ $schema: http://json-schema.org/schema#
+ required:
+ - connectionid
+ properties:
+ api:
+ type:
+ - string
+ - "null"
+ data:
+ type:
+ - object
+ - "null"
+ name:
+ type:
+ - string
+ - "null"
+ agent:
+ type:
+ - object
+ - "null"
+ properties:
+ status:
+ type:
+ - string
+ - "null"
+ status:
+ type:
+ - string
+ - "null"
+ integration:
+ type:
+ - string
+ - "null"
+ connectionid:
+ type: string
+ integrationid:
+ type:
+ - number
+ - "null"
+ additionalProperties: true
\ No newline at end of file
diff --git a/airbyte-integrations/connectors/source-chift/metadata.yaml b/airbyte-integrations/connectors/source-chift/metadata.yaml
new file mode 100644
index 000000000000..6577afc3a08e
--- /dev/null
+++ b/airbyte-integrations/connectors/source-chift/metadata.yaml
@@ -0,0 +1,35 @@
+metadataSpecVersion: "1.0"
+data:
+ allowedHosts:
+ hosts:
+ - "api.chift.eu"
+ registryOverrides:
+ oss:
+ enabled: true
+ cloud:
+ enabled: true
+ remoteRegistries:
+ pypi:
+ enabled: false
+ packageName: airbyte-source-chift
+ connectorBuildOptions:
+ baseImage: docker.io/airbyte/source-declarative-manifest:6.61.6@sha256:a86098c6af1cf9d0b4484f33c973981a4d4f16740924ce9325b01ee4c8ca33df
+ connectorSubtype: api
+ connectorType: source
+ definitionId: d03aa64c-21a9-4edc-97b9-5590600ee3d6
+ dockerImageTag: 0.0.1
+ dockerRepository: airbyte/source-chift
+ githubIssueLabel: source-chift
+ icon: icon.svg
+ license: ELv2
+ name: Chift
+ releaseDate: 2025-10-13
+ releaseStage: alpha
+ supportLevel: community
+ documentationUrl: https://docs.airbyte.com/integrations/sources/chift
+ tags:
+ - language:manifest-only
+ - cdk:low-code
+ ab_internal:
+ ql: 100
+ sl: 100
\ No newline at end of file
diff --git a/docs/integrations/sources/chift.md b/docs/integrations/sources/chift.md
new file mode 100644
index 000000000000..25c5b27d1d65
--- /dev/null
+++ b/docs/integrations/sources/chift.md
@@ -0,0 +1,28 @@
+# Chift
+Chift is a tool that allows for the integration of financial data into SaaS products.
+
+## Configuration
+
+| Input | Type | Description | Default Value |
+|-------|------|-------------|---------------|
+| `client_id` | `string` | Client Id. | |
+| `account_id` | `string` | Account Id. | |
+| `client_secret` | `string` | Client Secret. | |
+
+## Streams
+| Stream Name | Primary Key | Pagination | Supports Full Sync | Supports Incremental |
+|-------------|-------------|------------|---------------------|----------------------|
+| consumers | consumerid | No pagination | ✅ | ❌ |
+| connections | connectionid | No pagination | ✅ | ❌ |
+| syncs | | No pagination | ✅ | ❌ |
+
+## Changelog
+
+
+ Expand to review
+
+| Version | Date | Pull Request | Subject |
+|------------------|-------------------|--------------|----------------|
+| 0.0.1 | 2025-10-13 | | Initial release by [@FVidalCarneiro](https://github.com/FVidalCarneiro) via Connector Builder |
+
+
\ No newline at end of file