### Project Stage XML Example Source: https://developer.float.com/api_reference Example of a ProjectStage object in XML format. This includes all fields, with read-only fields populated. ```xml 1 Likely Set expectations without notifications or time tracking. Team allocations are visible everywhere. 1 1 1 2024-10-30 02:40:40 2024-11-14 03:02:05 80851 80851 15 ``` -------------------------------- ### Project Stage XML Example Source: https://developer.float.com/api_reference An example of a single project stage object in XML format. This structure mirrors the JSON representation, providing details like ID, name, description, and status information. ```XML 1 Likely Set expectations without notifications or time tracking. Team allocations are visible everywhere. 1 1 1 2024-10-30 02:40:40 2024-11-14 03:02:05 80851 80851 15 ``` -------------------------------- ### List Accounts - XML Example Source: https://developer.float.com/api_reference This XML example illustrates the structure of a successful response when listing accounts via the API. It mirrors the JSON structure, providing account details in an XML format. ```xml 1 Donna Nobel donna@example.com America/New_York https://floatcdn.com/icons/avatar1-80.png 7 3 443 1 1 1 2019-02-05 2019-08-02 09:21:13 ``` -------------------------------- ### List Accounts - JSON Example Source: https://developer.float.com/api_reference This JSON example demonstrates the structure of a successful response when listing accounts via the API. It includes details such as account ID, name, email, permissions, and status. ```json [ { "account_id": 1, "name": "Donna Nobel", "email": "donna@example.com", "timezone": "America/New_York", "avatar": "https://floatcdn.com/icons/avatar1-80.png", "account_type": 7, "access": 3, "department_filter_id": 443, "view_rights": 1, "edit_rights": 1, "active": 1, "created": "2019-02-05", "modified": "2019-08-02 09:21:13" } ] ``` -------------------------------- ### Project Stage JSON Example Source: https://developer.float.com/api_reference Example of a ProjectStage object in JSON format. This includes all fields, with read-only fields populated. ```json { "id": 1, "name": "Likely", "description": "Set expectations without notifications or time tracking. Team allocations are visible everywhere.", "project_status": 1, "active": 1, "sort_order": 1, "created": "2024-10-30 02:40:40", "modified": "2024-11-14 03:02:05", "created_by": 80851, "modified_by": 80851, "project_count": 15 } ``` -------------------------------- ### Project Stage JSON Example Source: https://developer.float.com/api_reference An example of a single project stage object in JSON format. It includes details such as ID, name, description, project status, and activity status, along with creation and modification timestamps. ```JSON [ { "id": 1, "name": "Likely", "description": "Set expectations without notifications or time tracking. Team allocations are visible everywhere.", "project_status": 1, "active": 1, "sort_order": 1, "created": "2024-10-30 02:40:40", "modified": "2024-11-14 03:02:05", "created_by": 80851, "modified_by": 80851, "project_count": 15 } ] ``` -------------------------------- ### List Phases (JSON Example) Source: https://developer.float.com/api_reference Example of a JSON response when listing phases. This includes detailed information about each phase, such as IDs, names, dates, and budget details. The response adheres to the defined Phase model. ```json [ { "phase_id": 6754, "project_id": 4567, "name": "Design", "color": "0095D7", "notes": "Due at the start of July. Paul to present", "start_date": "2024-12-12", "end_date": "2025-02-23", "budget_total": 1000.5, "default_hourly_rate": "55.50", "non_billable": 1, "status": 2, "tentative": 0, "active": 1, "created": "2025-01-03 07:45:37", "modified": "2025-01-11 06:38:44" } ] ``` -------------------------------- ### Example Task Allocation (XML) Source: https://developer.float.com/api_reference An example of an XML response for a successfully created task allocation (Status 201). This format mirrors the JSON structure, providing an alternative representation of the Task model data. ```xml 7654321 1234567 7654321 1345 153 2023-11-16 2023-11-22 14:00 4.5 11223344 1 2 1 Concepting 1234567 Sketches and wireframes only. 1 2023-03-16 23332 2023-02-05 03:48:57.964 23332 2023-06-02 01:04:24.708 ``` -------------------------------- ### Role Object Structure and Example (XML) Source: https://developer.float.com/api_reference Illustrates the structure of the Role object in XML format, mirroring the JSON definition. An example XML payload for a successfully created role is provided. ```xml 1 Senior prompt engineer 260.000 2024-04-03T13:02:00+00:00 87655 2024-04-03T13:02:00+00:00 87655 250.5000 2025-06-01 1234567,5544332,4959291 4 ``` -------------------------------- ### GET /projects Source: https://developer.float.com/api_reference Lists all projects. ```APIDOC ## GET /projects ### Description Lists all projects. ### Method GET ### Endpoint /projects #### Parameters ### Response #### Success Response (200) - **Projects** (array) - A list of project objects. ``` -------------------------------- ### List Phases (XML Example) Source: https://developer.float.com/api_reference Example of an XML response when listing phases. This format provides the same phase details as the JSON response but structured within XML tags. It's useful for systems that prefer or require XML data. ```xml 6754 4567 Design 0095D7 Due at the start of July. Paul to present 2024-12-12 2025-02-23 1000.5 55.50 1 2 1 1 2025-01-03 07:45:37 2025-01-11 06:38:44 ``` -------------------------------- ### GET /projects Source: https://developer.float.com/swagger-api-v3 Retrieve a list of projects. Supports filtering and pagination. ```APIDOC ## GET /projects ### Description Retrieve a list of projects. Supports filtering and pagination. ### Method GET ### Endpoint /v3/projects ### Parameters #### Query Parameters - **client_id** (integer) - Optional - A client ID associated with projects to filter the response on. - **active** (integer) - Optional - Filter only on `0` = non-active or `1` = active entities in the response. - **fields** (array) - Optional - Comma-delimited set of fields to include in the response. - **sort** (string) - Optional - A field to sort the list values in the response, ascending (default), pre-fix `-` to apply descending. (Limited fields, varies per endpoint) - **page** (integer) - Optional - The page number of the page of results to return, default `1`. - **per-page** (integer) - Optional - The number of items per page, default is `50`. - **modified_since** (string) - Optional - Datetime in either `YYYY-MM-DD hh:mm:ss` or as a Unix timestamp in seconds to filter on all records with an equal or later `modified` timestamp ### Response #### Success Response (200) - **data** (array) - Array of project objects. - **meta** (object) - Metadata about the response, including pagination information. #### Response Example { "data": [ { "id": 101, "name": "Website Redesign", "client_id": 5, "status": "active", "budget": 5000, "created_at": "2023-01-01T10:00:00Z", "updated_at": "2023-01-01T10:00:00Z" } ], "meta": { "current_page": 1, "total_pages": 1, "per_page": 50, "total_objects": 1 } } ``` -------------------------------- ### Role Object Structure and XML Example Source: https://developer.float.com/api_reference Illustrates the structure of a Role object using XML format. This example shows how role data, including cost rate history and associated people IDs, is represented in an XML response. ```xml 1 Senior prompt engineer 260.000 2024-04-03T13:02:00+00:00 87655 2024-04-03T13:02:00+00:00 87655 250.5000 2025-06-01 1234567,5544332,4959291 4 ``` -------------------------------- ### Create Milestone - XML Example Source: https://developer.float.com/api_reference Example of an XML payload for creating a new project milestone. Similar to the JSON format, it requires core details like name, project_id, and date. Read-only fields are excluded from the request. ```xml 1 Sprint #14 1 1 2019-12-01 09:00 2019-12-05 17:00 2019-05-07 10:26:49 2019-05-07 11:26:49 ``` -------------------------------- ### Role Object Structure and JSON Example Source: https://developer.float.com/api_reference Defines the structure of a Role object, including its properties and their types. Provides an example of a Role object in JSON format, illustrating a successful response for a list of roles. ```json { "id": 1, "name": "Senior prompt engineer", "default_hourly_rate": "260.000", "created": "2024-04-03T13:02:00+00:00", "created_by": 87655, "modified": "2024-04-03T13:02:00+00:00", "modified_by": 87655, "cost_rate_history": [ { "rate": "250.5000", "effective_date": "2025-06-01" } ], "people_ids": [ [ 1234567, 5544332, 4959291 ] ], "people_count": 4 } ``` -------------------------------- ### Project Expense Model and Example (JSON) Source: https://developer.float.com/api_reference Defines the structure of a Project Expense object, including fields like ID, name, date, cost, and project association. An example value demonstrates a successfully created project expense. ```json { "id": 1234679, "name": "Equipment rental", "date": "2025-08-01", "cost": "1500.0000", "project_id": 12345, "phase_id": 123, "billable": 1, "markup": "25.0000", "markup_type": 0, "quantity": 1, "created": "2025-08-01 10:00:00", "modified": "2025-08-01 10:00:00", "created_by": 12345, "modified_by": 12345 } ``` -------------------------------- ### GET /holidays Source: https://developer.float.com/api_reference Lists team holidays that are blocked out across the whole team in the schedule. Supports filtering by year, start date, and end date, as well as pagination. ```APIDOC ## GET /holidays ### Description List team holidays that are blocked out across the whole team in the schedule. ### Method GET ### Endpoint /holidays ### Parameters #### Query Parameters - **year** (string) - Optional - Returns all results in the given year in format YYYY. Default if omitted is the current year. Overridden by `start_date` and `end_date` parameters. - **start_date** (string) - Optional - Start of date range in format YYYY-MM-DD. Must be used together with `end_date`. - **end_date** (string) - Optional - End of date range in format YYYY-MM-DD. Must be used together with `start_date`. - **page** (integer) - Optional - The page number of the page of results to return, default `1`. - **per-page** (integer) - Optional - The number of items per page, default is `50`. ### Response #### Success Response (200) - **holiday_id** (integer, optional, read only) - The ID of this team holiday. - **name** (string) - The name of the team holiday. Max. Length: 200. - **date** (string) - Date of the team holiday. - **end_date** (string, optional) - End date of the team holiday if more than 1 day. #### Headers - **X-Pagination-Total-Count** (integer) - Total number of items. - **X-Pagination-Page-Count** (integer) - Total number of pages. - **X-Pagination-Current-Page** (integer) - Current page number. - **X-Pagination-Per-Page** (integer) - Number of items per page. #### Response Example ```json [ { "holiday_id": 1, "name": "Christmas Break", "date": "2019-12-24 09:00", "end_date": "2020-01-01 17:00" } ] ``` #### Error Response - **404** - The public holiday does not exist. ``` -------------------------------- ### Fetch Allocations for Reporting (API) Source: https://developer.float.com/tutorial_unassigned_roles This snippet demonstrates how to fetch task allocations for a specific project within a date range using the Float API. It sends a GET request to the tasks endpoint with query parameters for start date, end date, and project ID. ```http GET https://api.float.com/v3/tasks?start_date=2025‑10‑13&end_date=2025‑10‑20&project_id=7845018 Authorization: Bearer {TOKEN} ``` -------------------------------- ### Milestone Model and Example (JSON) Source: https://developer.float.com/api_reference Defines the structure of a Milestone object, used to represent project milestones. An example JSON array of milestones is provided. ```json [ { "milestone_id": 1, "name": "Sprint #14", "project_id": 1, "phase_id": 1, "date": "2019-12-01 09:00", "end_date": "2019-12-05 17:00", "created": "2019-05-07 10:26:49", "modified": "2019-05-07 11:26:49" } ] ``` -------------------------------- ### Create Team Holiday (XML Response Example) Source: https://developer.float.com/api_reference Example of an XML response after successfully creating a team holiday. It provides the complete information of the newly created holiday, including its ID. ```xml 1 Christmas Break 2019-12-24 09:00 2020-01-01 17:00 ``` -------------------------------- ### List Team Holidays (JSON Response Example) Source: https://developer.float.com/api_reference Example of a JSON response when listing team holidays. This format includes holiday details such as ID, name, date, and an optional end date. ```json [ { "holiday_id": 1, "name": "Christmas Break", "date": "2019-12-24 09:00", "end_date": "2020-01-01 17:00" } ] ``` -------------------------------- ### POST /projects Source: https://developer.float.com/api_reference Adds a new project to the system. ```APIDOC ## POST /projects ### Description Adds a new project to the system. ### Method POST ### Endpoint /projects ### Parameters #### Request Body - **name** (string) - Required - The name of the project. - **code** (string) - Required - The unique code for the project. - **client_id** (integer) - Required - The ID of the client associated with the project. - **status** (integer) - Optional - The status of the project (e.g., 1 for active, 0 for inactive). - **active** (integer) - Optional - Whether the project is active (1) or inactive (0). - **billable** (integer) - Optional - Whether the project is billable (1) or non-billable (0). ### Request Example ```json { "name": "New Marketing Campaign", "code": "MKT-2024-01", "client_id": 15, "status": 1, "active": 1, "billable": 1 } ``` ### Response #### Success Response (201) - **id** (integer) - The unique identifier of the newly created project. - **name** (string) - The name of the project. - **code** (string) - The code of the project. - **client_id** (integer) - The ID of the client associated with the project. - **status** (integer) - The status of the project. - **active** (integer) - Whether the project is active. - **billable** (integer) - Whether the project is billable. - **created_at** (string) - The timestamp when the project was created. - **updated_at** (string) - The timestamp when the project was last updated. #### Response Example ```json { "id": 101, "name": "New Marketing Campaign", "code": "MKT-2024-01", "client_id": 15, "status": 1, "active": 1, "billable": 1, "created_at": "2024-03-15T10:30:00Z", "updated_at": "2024-03-15T10:30:00Z" } ``` ``` -------------------------------- ### Introduction to Float API Source: https://developer.float.com/index Overview of the Float API, its purpose, base URL, and authentication methods. ```APIDOC ## Introduction to Float API ### Description The Float API is a RESTful API designed to provide programmatic access to your Float data. It allows for integration with third-party and in-house applications to share, create, and update your Float data. ### Base URL All URLs start with the root URL: `https://api.float.com/v3`. ### Authentication The API uses bearer tokens for authentication. These tokens can be obtained from your Float Account Settings Integrations page. ``` -------------------------------- ### Create Milestone Request Body - XML Example Source: https://developer.float.com/api_reference Example of an XML request body for creating a milestone, excluding read-only fields. This format is used when submitting new milestone data via XML. ```xml Sprint #14 1 1 2019-12-01 09:00 2019-12-05 17:00 ``` -------------------------------- ### POST /clients Source: https://developer.float.com/api_reference Adds a new client to the system. ```APIDOC ## POST /clients ### Description Add a new client. ### Method POST ### Endpoint /clients #### Request Body - **name** (string) - Required - The name of the client. Max length: 200. ### Response #### Success Response (201) If the client was successfully created, the response returns the full information about that client. - **client_id** (integer, read only) - The ID of the client. - **name** (string) - The name of the client. #### Response Example (JSON) ```json { "client_id": 1, "name": "Red Circle" } ``` ``` -------------------------------- ### List Team Holidays (XML Response Example) Source: https://developer.float.com/api_reference Example of an XML response when listing team holidays. This format represents holiday data with elements for ID, name, date, and an optional end date. ```xml 1 Christmas Break 2019-12-24 09:00 2020-01-01 17:00 ``` -------------------------------- ### POST /websites/developer_float Source: https://developer.float.com/api_reference Creates a new project. The request body should contain the project details. ```APIDOC ## POST /websites/developer_float ### Description Creates a new project with the provided details. ### Method POST ### Endpoint /websites/developer_float ### Parameters #### Query Parameters None #### Request Body - **data** (object) - Required - The project to create. Read-only fields are ignored. - **name** (string) - Required - The name of the project. Max Length: 200. - **project_code** (string) - Optional - An optional third-party identifier unique across all projects (case-insensitive). Max Length: 32. - **client_id** (integer) - Optional - The ID of the project's client. - **color** (string) - Optional - Project's color in hexadecimal format. - **notes** (string) - Optional - Notes for this project. - **tags** (Array[string]) - Optional - List of tags. - **budget_type** (integer) - Optional - Defines the project budget type: `1` = Total hours, `2` = Total fee, `3` = Hourly fee. - **budget_total** (number) - Optional - The budget amount for Total hours or Total fee projects. Null for Hourly fee, Phase, and Task budgets. - **budget_per_phase** (integer) - Deprecated. Use `budget_priority` instead. `1` = Yes, `0` = No. - **budget_priority** (integer) - Optional - Defines the budget level: `0` = Project, `1` = Phase, `2` = Task. - **default_hourly_rate** (string) - Optional - The default hourly rate for fee-based budgets. Accepts decimal number. - **non_billable** (integer) - Optional - Project billable status: `0` = Billable, `1` = Non-billable. - **status** (integer) - Optional - Project status: `0` = Draft, `1` = Tentative, `2` = Confirmed, `3` = Completed, `4` = Canceled. - **stage_id** (integer) - Optional - The ID of the project stage. Takes precedence over `status`. - **tentative** (integer) - Deprecated. Use `status` instead. `1` = Yes, `0` = No. - **locked_task_list** (integer) - Optional - Controls task list locking: `1` = Locked to project editors, `0` = Anyone can add tasks. - **active** (integer) - Optional - Project active status: `1` = Active, `0` = Archived. - **project_manager** (integer) - Optional - Account ID of the assigned project manager. - **all_pms_schedule** (integer) - Optional - Controls scheduling rights for project managers: `1` = Yes, `0` = No. - **start_date** (string) - Optional - The start date of the project. - **end_date** (string) - Optional - The end date of the project. ### Request Example ```json { "data": { "name": "Example Project", "client_id": 123, "budget_type": 2, "budget_total": 5000, "status": 2, "active": 1 } } ``` ### Response #### Success Response (200) - **project_id** (integer, read only) - The ID of the created project. - **name** (string) - The name of the project. - **project_code** (string, optional) - The project code. - **client_id** (integer, optional) - The ID of the project's client. - **color** (string, optional) - Project's color. - **notes** (string, optional) - Notes for this project. - **tags** (Array[string], optional) - List of tags. - **budget_type** (integer, optional) - The budget type. - **budget_total** (number, optional) - The total budget amount. - **budget_per_phase** (integer, optional) - Deprecated. - **budget_priority** (integer, optional) - The budget priority level. - **default_hourly_rate** (string, optional) - The default hourly rate. - **non_billable** (integer, optional) - Billable status. - **status** (integer, optional) - The project status. - **stage_id** (integer, optional) - The ID of the project stage. - **tentative** (integer, optional) - Deprecated. - **locked_task_list** (integer, optional) - Task list locking status. - **active** (integer, optional) - Active status. - **project_manager** (integer, optional) - The ID of the project manager. - **all_pms_schedule** (integer, optional) - Scheduling rights status for all PMs. - **created** (string, read only) - Date this record was created. - **modified** (string, read only) - Date this record was last modified. - **start_date** (string, optional) - The start date of the project. - **end_date** (string, optional) - The end date of the project. #### Response Example ```json { "project_id": 456, "name": "Example Project", "client_id": 123, "budget_type": 2, "budget_total": 5000, "status": 2, "active": 1, "created": "2023-10-27T10:00:00Z", "modified": "2023-10-27T10:00:00Z" } ``` ``` -------------------------------- ### Log Time Entry via API Source: https://developer.float.com/tutorial_assigning_tasks_to_your_team This example demonstrates how to log time against a person and project using a POST request to the /logged-time endpoint. It requires person_id, project_id, date, and hours. Ensure you have the correct IDs for people and projects. ```http POST /v3/logged-time HTTP/1.1 Host: https://api.float.com { "people_id": 11, "project_id": 2, "date": "2023-05-15", "hours": 2 } ``` -------------------------------- ### Task Object Definition and XML Example Source: https://developer.float.com/api_reference Defines the structure of a 'Task' object used for allocations, including various fields like IDs, dates, hours, and status. Provides an example of this object in XML format. ```xml 7654321 1234567 7654321 1345 153 2023-11-16 2023-11-22 14:00 4.5 11223344 1 2 1 Concepting 1234567 Sketches and wireframes only. 1 2023-03-16 23332 2023-02-05 03:48:57.964 23332 2023-06-02 01:04:24.708 ``` -------------------------------- ### Task Object Definition and JSON Example Source: https://developer.float.com/api_reference Defines the structure of a 'Task' object used for allocations, including various fields like IDs, dates, hours, and status. Provides an example of this object in JSON format. ```json { "task_id": 7654321, "root_task_id": 1234567, "parent_task_id": 7654321, "project_id": 1345, "phase_id": 153, "start_date": "2023-11-16", "end_date": "2023-11-22", "start_time": "14:00", "hours": 4.5, "people_id": 11223344, "people_ids": [ "1234", "5678" ], "status": 2, "billable": 1, "name": "Concepting", "task_meta_id": 1234567, "notes": "Sketches and wireframes only.", "repeat_state": 0, "repeat_end_date": "2023-03-16", "created_by": 23332, "created": "2023-02-05 03:48:57.964", "modified_by": 23332, "modified": "2023-06-02 01:04:24.708" } ``` -------------------------------- ### Example Project XML Structure Source: https://developer.float.com/api_reference An XML representation of a project, mirroring the JSON structure. It includes project details, expenses, tasks, and team member information. ```xml Website Redesign PRJ-123456 45672 0095D7 Due at the start of July. Paul to present string 1 1000.5 1 1 55.50 1 2 1 1 1 1 17393464 1 2024-11-07 2025-01-18 Equipment rental 2025-07-01 1500.0000 1 25.0000 1 1 32154 123 Design 1 100.99 17391001 17391001 75 1 ``` -------------------------------- ### Create Team Holiday (XML Request Example) Source: https://developer.float.com/api_reference Example of an XML payload for creating a new team holiday. It specifies the holiday's name, date, and an optional end date. The holiday_id is read-only and ignored. ```xml Christmas Break 2019-12-24 09:00 2020-01-01 17:00 ``` -------------------------------- ### Logged Time Entry XML Example Source: https://developer.float.com/api_reference An example of a logged time entry in XML format. This structure mirrors the JSON representation, containing essential fields for time tracking such as person ID, date, hours, and project ID. Optional fields like phase and task details are also included. ```xml 9876 2022-12-12 2025-04-12 5.25 This took a lot longer than planned because I didn't have the original illustrations 4567 335 7654321 Front-end Development 1234567 ``` -------------------------------- ### Create Team Holiday (JSON Request Example) Source: https://developer.float.com/api_reference Example of a JSON payload for creating a new team holiday. It includes the holiday's name, date, and an optional end date. The holiday_id is read-only and ignored. ```json { "holiday_id": 1, "name": "Christmas Break", "date": "2019-12-24 09:00", "end_date": "2020-01-01 17:00" } ``` -------------------------------- ### Time Off Type Model - JSON and XML Examples Source: https://developer.float.com/api_reference Represents a time off type, including its ID, name, color, and active status. Read-only fields are generated by the server. Examples provided in JSON and XML. ```json { "timeoff_type_id": 1, "timeoff_type_name": "Summer Fridays", "color": "3190cf", "active": 1, "created_by": 12345 } ``` ```xml 1 Summer Fridays 3190cf 1 12345 ``` -------------------------------- ### GET /project-stages Source: https://developer.float.com/swagger-api-v3 Retrieve a list of project stages. Supports filtering and pagination. ```APIDOC ## GET /project-stages ### Description Retrieve a list of project stages. Supports filtering and pagination. ### Method GET ### Endpoint /v3/project-stages ### Parameters #### Query Parameters - **project_id** (integer) - Optional - A project ID to filter the response on. - **active** (integer) - Optional - Filter only on `0` = non-active or `1` = active entities in the response. - **fields** (array) - Optional - Comma-delimited set of fields to include in the response. - **sort** (string) - Optional - A field to sort the list values in the response, ascending (default), pre-fix `-` to apply descending. (Limited fields, varies per endpoint) - **page** (integer) - Optional - The page number of the page of results to return, default `1`. - **per-page** (integer) - Optional - The number of items per page, default is `50`. - **modified_since** (string) - Optional - Datetime in either `YYYY-MM-DD hh:mm:ss` or as a Unix timestamp in seconds to filter on all records with an equal or later `modified` timestamp ### Response #### Success Response (200) - **data** (array) - Array of project stage objects. - **meta** (object) - Metadata about the response, including pagination information. #### Response Example { "data": [ { "id": 201, "project_id": 101, "name": "Design", "order": 1, "created_at": "2023-01-01T10:00:00Z", "updated_at": "2023-01-01T10:00:00Z" } ], "meta": { "current_page": 1, "total_pages": 1, "per_page": 50, "total_objects": 1 } } ```