version: 6.48.15 type: DeclarativeSource description: >- source-float airbyte connector is designed to sync scheduling and resource management data between Float, a leading resource management platform, and external systems. Float.com enables teams to plan and allocate resources effectively, manage team availability, and track project timelines. This connector automates the data flow between Float and other platforms, ensuring that resource schedules and project plans are up-to-date across all tools you use. check: type: CheckStream stream_names: - accounts definitions: streams: accounts: type: DeclarativeStream name: accounts primary_key: - account_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /accounts http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/accounts" departments: type: DeclarativeStream name: departments primary_key: - department_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /departments http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/departments" people: type: DeclarativeStream name: people primary_key: - people_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /people http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/people" roles: type: DeclarativeStream name: roles primary_key: - id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /roles http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/roles" public_holidays: type: DeclarativeStream name: public_holidays primary_key: - id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /public-holidays http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/public_holidays" holidays: type: DeclarativeStream name: holidays primary_key: - holiday_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /holidays http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/holidays" projects: type: DeclarativeStream name: projects primary_key: - project_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /projects http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/projects" status: type: DeclarativeStream name: status primary_key: - status_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /status http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/status" time_off: type: DeclarativeStream name: time_off primary_key: - timeoff_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /timeoffs http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/time_off" timeoff-types: type: DeclarativeStream name: timeoff-types primary_key: - timeoff_type_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /timeoff-types http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/timeoff-types" clients: type: DeclarativeStream name: clients primary_key: - client_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /clients http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/clients" phases: type: DeclarativeStream name: phases primary_key: - phase_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /phases http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/phases" project-tasks: type: DeclarativeStream name: project-tasks primary_key: - task_meta_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /project-tasks http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/project-tasks" milestones: type: DeclarativeStream name: milestones primary_key: - milestone_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /milestones http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/milestones" tasks: type: DeclarativeStream name: tasks primary_key: - task_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /tasks http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/tasks" logged-time: type: DeclarativeStream name: logged-time primary_key: - logged_time_id retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" path: /logged-time http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: page inject_into: request_parameter page_size_option: type: RequestOption field_name: per-page inject_into: request_parameter pagination_strategy: type: PageIncrement page_size: 200 start_from_page: 1 inject_on_first_request: true decoder: type: JsonDecoder incremental_sync: type: DatetimeBasedCursor cursor_field: modified cursor_datetime_formats: - "%Y-%m-%d %H:%M:%S" datetime_format: "%Y-%m-%d %H:%M:%S" start_datetime: type: MinMaxDatetime datetime: "{{ config[\"start_date\"] }}" datetime_format: "%Y-%m-%dT%H:%M:%SZ" start_time_option: type: RequestOption field_name: modified_since inject_into: request_parameter schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/logged-time" base_requester: type: HttpRequester url_base: https://api.float.com/v3 authenticator: type: BearerAuthenticator api_token: "{{ config[\"access_token\"] }}" streams: - $ref: "#/definitions/streams/accounts" - $ref: "#/definitions/streams/departments" - $ref: "#/definitions/streams/people" - $ref: "#/definitions/streams/roles" - $ref: "#/definitions/streams/public_holidays" - $ref: "#/definitions/streams/holidays" - $ref: "#/definitions/streams/projects" - $ref: "#/definitions/streams/status" - $ref: "#/definitions/streams/time_off" - $ref: "#/definitions/streams/timeoff-types" - $ref: "#/definitions/streams/clients" - $ref: "#/definitions/streams/phases" - $ref: "#/definitions/streams/project-tasks" - $ref: "#/definitions/streams/milestones" - $ref: "#/definitions/streams/tasks" - $ref: "#/definitions/streams/logged-time" spec: type: Spec connection_specification: type: object $schema: http://json-schema.org/draft-07/schema# required: - access_token - start_date properties: access_token: type: string description: API token obtained from your Float Account Settings page name: float_access_token order: 0 title: Access Token airbyte_secret: true start_date: type: string order: 1 title: Start date format: date-time pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ additionalProperties: true metadata: autoImportSchema: accounts: true departments: true people: true roles: true public_holidays: true holidays: true projects: true status: true time_off: true timeoff-types: true clients: true phases: true project-tasks: true milestones: true tasks: true logged-time: true testedStreams: accounts: streamHash: 61b4653fec77bfd43c4d32853b39b293339fd2dd hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true departments: streamHash: c9d940e633bf21e676033d88599fb9b387c1b96e hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true people: streamHash: 100e04d382bfa70f6ed74c959b0c489af2a7f426 hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true roles: streamHash: f713473eec2e33ebf41ee890db9aa7db8422cb5c hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true public_holidays: streamHash: 446adf0350d5561a0fed1024de7b2f12531c96b4 hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true holidays: streamHash: b32f04d072796b009c016d784a256dbe06956ad9 hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true projects: streamHash: 5b555b11be277466a4281a3cf48c17dd7923dc1a hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true status: streamHash: 05d167b2362a013399870d882bd08de97da00085 hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true time_off: streamHash: b5f266e7297541ea1a3a503f236057e88cb5e4ec hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true timeoff-types: streamHash: 3f21bce543faecf4ba584ee44adb3348114e2cb9 hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true clients: streamHash: 2ba20948d541d0aeb7e5cfceccb78e546a632379 hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true phases: streamHash: c75932ee96762690f57c3b7254ee44fc0518c0a7 hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true project-tasks: streamHash: 42a04df302002513c246280be1338c18d791710a hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true milestones: streamHash: bf46fce06219cc150b2075019402835c11340665 hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true tasks: streamHash: 34234a51fcb68726fea102e1ec06ba1964153437 hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true logged-time: streamHash: e86c7984d07caa656d770275d7bd1b6fea009caf hasResponse: true responsesAreSuccessful: true hasRecords: true primaryKeysArePresent: true primaryKeysAreUnique: true assist: docsUrl: https://developer.float.com/api_reference.html schemas: accounts: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: access: type: - number - "null" account_id: type: number account_type: type: - number - "null" active: type: - number - "null" avatar: type: - string - "null" budget_rights: type: - number - "null" created: type: - string - "null" department_filter: type: - array - "null" edit_rights: type: - number - "null" email: type: - string - "null" modified: type: - string - "null" name: type: - string - "null" timezone: type: - string - "null" view_rights: type: - number - "null" required: - account_id departments: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: department_id: type: number name: type: - string - "null" required: - department_id people: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: active: type: - number - "null" auto_email: type: - number - "null" avatar_file: type: - string - "null" contractor: type: - number - "null" cost_rate: type: - string - "null" created: type: - string - "null" default_hourly_rate: type: - string - "null" department: type: - object - "null" properties: department_id: type: - number - "null" name: type: - string - "null" email: type: - string - "null" employee_type: type: - number - "null" job_title: type: - string - "null" modified: type: - string - "null" name: type: - string - "null" people_id: type: number people_type_id: type: - number - "null" region_id: type: - number - "null" role_id: type: - number - "null" start_date: type: - string - "null" tags: type: - array - "null" items: type: - object - "null" properties: type: type: - number - "null" name: type: - string - "null" work_days_hours: type: - array - "null" items: type: - number - "null" work_days_hours_history: type: - object - "null" properties: "1970-01-01": type: - array - "null" items: type: - number - "null" "2023-11-06": type: - array - "null" items: type: - number - "null" required: - people_id roles: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: created: type: - string - "null" created_by: type: - number - "null" id: type: number modified: type: - string - "null" modified_by: type: - number - "null" name: type: - string - "null" required: - id public_holidays: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: dates: type: - array - "null" items: type: - string - "null" id: type: number name: type: - string - "null" region: type: - number - "null" required: - id holidays: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: date: type: - string - "null" end_date: type: - string - "null" holiday_id: type: number name: type: - string - "null" required: - holiday_id projects: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: active: type: - number - "null" all_pms_schedule: type: - number - "null" budget_per_phase: type: - number - "null" budget_priority: type: - number - "null" budget_total: type: - string - "null" budget_type: type: - number - "null" client_id: type: - number - "null" color: type: - string - "null" created: type: - string - "null" default_hourly_rate: type: - string - "null" end_date: type: - string - "null" locked_task_list: type: - number - "null" modified: type: - string - "null" name: type: - string - "null" non_billable: type: - number - "null" notes: type: - string - "null" project_code: type: - string - "null" project_id: type: number project_manager: type: - number - "null" start_date: type: - string - "null" status: type: - number - "null" tags: type: - array - "null" tentative: type: - number - "null" required: - project_id status: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: created: type: - string - "null" created_by: type: - number - "null" end_date: type: - string - "null" modified: type: - string - "null" people_id: type: - number - "null" repeat_state: type: - number - "null" start_date: type: - string - "null" status_id: type: number status_type_id: type: - number - "null" required: - status_id time_off: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: created: type: - string - "null" created_by: type: - number - "null" end_date: type: - string - "null" full_day: type: - number - "null" hours: type: - number - "null" modified: type: - string - "null" modified_by: type: - number - "null" people_ids: type: - array - "null" items: type: - number - "null" repeat_state: type: - number - "null" start_date: type: - string - "null" status: type: - number - "null" status_creator_id: type: - number - "null" timeoff_id: type: number timeoff_notes: type: - string - "null" timeoff_type_id: type: - number - "null" timeoff_type_name: type: - string - "null" required: - timeoff_id timeoff-types: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: active: type: - number - "null" approval_required: type: - number - "null" color: type: - string - "null" created_by: type: - number - "null" timeoff_type_id: type: number timeoff_type_name: type: - string - "null" required: - timeoff_type_id clients: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: client_id: type: number name: type: - string - "null" required: - client_id phases: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: active: type: - number - "null" budget_total: type: - string - "null" color: type: - string - "null" created: type: - string - "null" default_hourly_rate: type: - string - "null" end_date: type: - string - "null" modified: type: - string - "null" name: type: - string - "null" non_billable: type: - number - "null" notes: type: - string - "null" phase_id: type: number project_id: type: - number - "null" start_date: type: - string - "null" status: type: - number - "null" tentative: type: - number - "null" required: - phase_id project-tasks: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: billable: type: - number - "null" count_logged_time: type: - number - "null" count_tasks: type: - number - "null" created: type: - string - "null" modified: type: - string - "null" phase_id: type: - number - "null" project_id: type: - number - "null" task_meta_id: type: number task_name: type: - string - "null" required: - task_meta_id milestones: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: created: type: - string - "null" date: type: - string - "null" end_date: type: - string - "null" milestone_id: type: number modified: type: - string - "null" name: type: - string - "null" project_id: type: - number - "null" required: - milestone_id tasks: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: billable: type: - number - "null" created: type: - string - "null" created_by: type: - number - "null" end_date: type: - string - "null" hours: type: - number - "null" modified: type: - string - "null" modified_by: type: - number - "null" name: type: - string - "null" notes: type: - string - "null" people_id: type: - number - "null" people_ids: type: - array - "null" items: type: - number - "null" phase_id: type: - number - "null" project_id: type: - number - "null" repeat_state: type: - number - "null" start_date: type: - string - "null" status: type: - number - "null" task_id: type: number task_meta_id: type: - number - "null" required: - task_id logged-time: type: object $schema: http://json-schema.org/schema# additionalProperties: true properties: billable: type: - number - "null" created: type: - string - "null" created_by: type: - number - "null" date: type: - string - "null" hours: type: - number - "null" locked: type: - number - "null" locked_date: type: - string - "null" logged_time_id: type: string modified: type: string modified_by: type: - number - "null" notes: type: - string - "null" people_id: type: - number - "null" phase_id: type: - number - "null" priority: type: - number - "null" project_id: type: - number - "null" reference_date: type: - string - "null" task_id: type: - number - "null" task_meta_id: type: - number - "null" task_name: type: - string - "null" required: - logged_time_id - modified