### Example Topic GET Response Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md This is an example of a successful response (200 OK) when retrieving a collection of topics. It shows the structure of a topic object, including its GUID, server ID, author, title, labels, and creation date. ```json [ { "guid": "A245F4F2-2C01-B43B-B612-5E456BEF8116", "server_assigned_id": "ISSUE-00001", "creation_author": "Architect@example.com", "title": "Example topic 1", "labels": [ "Architecture", "Structural" ], "creation_date": "2013-10-21T17:34:22.409Z" }, { "guid": "A211FCC2-3A3B-EAA4-C321-DE22ABC8414", "server_assigned_id": "ISSUE-00078", "creation_author": "Architect@example.com", "title": "Example topic 2", "labels": [ "Architecture", "Heating", "Electrical" ], "creation_date": "2014-11-19T14:24:11.316Z" } ] ``` -------------------------------- ### GET Viewpoints Request Example Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Example of a GET request to retrieve all viewpoints for a given topic within a project. Ensure the version, project ID, and topic GUID are correctly specified. ```http GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics/B345F4F2-3A04-B43B-A713-5E456BEF8228/viewpoints ``` -------------------------------- ### Example Response for Get Comments Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md A successful response for retrieving comments includes details like GUID, date, author, comment text, and topic GUID. ```json [ { "guid": "C4215F4D-AC45-A43A-D615-AA456BEF832B", "date": "2016-08-01T12:34:22.409Z", "author": "max.muster@example.com", "comment": "Clash found", "topic_guid": "B345F4F2-3A04-B43B-A713-5E456BEF8228", "authorization": { "comment_actions": [ "update" ] } }, { "guid": "A333FCA8-1A31-CAAC-A321-BB33ABC8414", "date": "2016-08-01T14:24:11.316Z", "author": "bob.heater@example.com", "comment": "will rework the heating model", "topic_guid": "B345F4F2-3A04-B43B-A713-5E456BEF8228" } ] ``` -------------------------------- ### GET Topic Service Example Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Use this snippet to retrieve a specific topic using its project and topic GUID. ```http GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics/B345F4F2-3A04-B43B-A713-5E456BEF8228 ``` -------------------------------- ### Example Response for GET Topic Service Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md This is an example of a successful response when retrieving a topic, including its details and authorization information. ```json { "guid": "B345F4F2-3A04-B43B-A713-5E456BEF8228", "server_assigned_id": "ISSUE-00549", "creation_author": "Architect@example.com", "creation_date": "2016-08-01T17:34:22.409Z", "topic_type": "Clash", "topic_status": "open", "title": "Example topic 3", "priority": "high", "labels": [ "Architecture", "Heating" ], "assigned_to": "harry.muster@example.com", "bim_snippet": { "snippet_type": "clash", "is_external": true, "reference": "https://example.com/bcf/1.0/ADFE23AA11BCFF444122BB", "reference_schema": "https://example.com/bcf/1.0/clash.xsd" }, "authorization": { "topic_actions": [ "createComment", "createViewpoint" ] } } ``` -------------------------------- ### Example Response for POST Topic Service Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md This is an example of a successful response when creating a topic, including its assigned GUID and server ID. ```json { "guid": "A245F4F2-2C01-B43B-B612-5E456BEF8116", "server_assigned_id": "ISSUE-01462", "creation_author": "Architect@example.com", "creation_date": "2016-08-01T17:34:22.409Z", "topic_type": "Clash", "topic_status": "open", "title": "Example topic 3", "priority": "high", "labels": [ "Architecture", "Heating" ], "assigned_to": "harry.muster@example.com", "bim_snippet": { "snippet_type": "clash", "is_external": true, "reference": "https://example.com/bcf/1.0/ADFE23AA11BCFF444122BB", "reference_schema": "https://example.com/bcf/1.0/clash.xsd" } } ``` -------------------------------- ### GET Document References Example Request Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md This example shows how to request a collection of all document references for a specific topic. ```http GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics/B345F4F2-3A04-B43B-A713-5E456BEF8228/document_references ``` -------------------------------- ### POST Document Reference (Internal) Example Response Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md An example response after successfully creating an internal document reference. ```json { "guid": "135ab37a-6122-448e-86fc-86503183b520", "document_guid": "472ab37a-6122-448e-86fc-86503183b520", "description": "The building owners global design parameters for buildings." } ``` -------------------------------- ### GET Project Files Information Response Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Example response body for the project files information service. It includes display information for UI rendering and file details for referencing. ```json [ { "display_information": [ { "field_display_name": "Model Name", "field_value": "ARCH-Z100-051" }, { "field_display_name": "Revision Date", "field_value": "May 3 2020" } ], "file": { "ifc_project": "0J$yPqHBD12v72y4qF6XcD", "file_name": "OfficeBuilding_Architecture_0001.ifc", "reference": "https://example.com/files/0J$yPqHBD12v72y4qF6XcD_0001.ifc" } }, { "display_information": [ { "field_display_name": "Model Name", "field_value": "MEP-Z100-015" }, { "field_display_name": "Revision Date", "field_value": "Apr 30 2020" } ], "file": { "ifc_project": "3hwBHP91jBRwPsmyf$3Hea", "file_name": "OfficeBuilding_Heating_0003.ifc", "reference": "cf37bae6-0900-46be-b37f-b34754fe0b4a" } } ] ``` -------------------------------- ### GET Project Files Information Request Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Example request to retrieve a collection of project file information. This supports users in selecting which files to reference in topic headers. ```http GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/files_information ``` -------------------------------- ### Topic Identifiers Examples Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Examples of topic identifiers, including machine-friendly GUIDs and human-friendly server-assigned IDs. ```text 420b24db-921c-46d6-9629-d529d130307f, 5139a00f-5cbd-4760-9e44-16cc4826aa5a ``` ```text 003490, ISSUE-01 ``` -------------------------------- ### GET Viewpoints Response Example Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Example JSON response for the GET Viewpoints Service, detailing the structure of viewpoint data including camera perspective, lines, and clipping planes. This response contains a collection of viewpoint objects. ```json [ { "guid": "b24a82e9-f67b-43b8-bda0-4946abf39624", "perspective_camera": { "camera_view_point": { "x": 0.0, "y": 0.0, "z": 0.0 }, "camera_direction": { "x": 1.0, "y": 1.0, "z": 2.0 }, "camera_up_vector": { "x": 0.0, "y": 0.0, "z": 1.0 }, "field_of_view": 90.0, "aspect_ratio": 1.33 }, "lines": [{ "start_point": { "x": 2.0, "y": 1.0, "z": 1.0 }, "end_point": { "x": 0.0, "y": 1.0, "z": 0.7 } }], "clipping_planes": [{ "location": { "x": 0.7, "y": 0.3, "z": -0.2 }, "direction": { "x": 1.0, "y": 0.4, "z": 0.1 } }] }, { "guid": "a11a82e7-e66c-34b4-ada1-5846abf39133", "perspective_camera": { "camera_view_point": { "x": 0.0, "y": 0.0, "z": 0.0 }, "camera_direction": { "x": 1.0, "y": 1.0, "z": 2.0 }, "camera_up_vector": { "x": 0.0, "y": 0.0, "z": 1.0 }, "field_of_view": 90.0, "aspect_ratio": 1.33 }, "lines": [{ "start_point": { "x": 1.0, "y": 1.0, "z": 1.0 }, "end_point": { "x": 0.0, "y": 0.0, "z": 0.0 } }], "clipping_planes": [{ "location": { "x": 0.5, "y": 0.5, "z": 0.5 }, "direction": { "x": 1.0, "y": 0.0, "z": 0.0 } }] }] ``` -------------------------------- ### GET Document References Example Response Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md This is an example response for retrieving document references, showing both external (url) and internal (document_guid) reference types. ```json [ { "guid": "212ab37a-6122-448e-86fc-86503183b520", "url": "http://example.com/files/LegalRequirements.pdf", "description": "The legal requirements for buildings." }, { "guid": "6cbfe31d-95c3-4f4d-92a6-420c23698721", "document_guid": "472ab37a-6122-448e-86fc-86503183b520", "description": "The building owners global design parameters for buildings." } ] ``` -------------------------------- ### PUT Files (Header) Service Example Response Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md This example shows a successful response (200 OK) for the PUT Files (Header) Service, returning the updated collection of file references. ```json Response Code: 200 - OK Body: [{ ``` ```json "ifc_project": "0J$yPqHBD12v72y4qF6XcD", "filename": "OfficeBuilding_Architecture_0001.ifc", "reference": "https://example.com/files/0J$yPqHBD12v72y4qF6XcD_0001.ifc" }, { ``` ```json "ifc_project": "3hwBHP91jBRwPsmyf$3Hea", "filename": "OfficeBuilding_Heating_0003.ifc", "reference": "cf37bae6-0900-46be-b37f-b34754fe0b4a" }] ``` -------------------------------- ### POST Document Reference (External) Example Response Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md An example response after successfully creating an external document reference. ```json { "guid": "275ab37a-6122-448e-86fc-86503183b520", "url": "http://example.com/files/LegalRequirements.pdf", "description": "The legal requirements for buildings." } ``` -------------------------------- ### Retrieve Specific Document (GET) Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Use this to retrieve a specific document as a binary file using its GUID. ```http GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/documents/472ab37a-6122-448e-86fc-86503183b520 ``` -------------------------------- ### GET Files (Header) Response Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Example response body for the GET Files (Header) service. It lists file references associated with a topic, where 'reference' can be a Uri or a server-specific ID. ```json [ { "ifc_project": "0J$yPqHBD12v72y4qF6XcD", "filename": "OfficeBuilding_Architecture_0001.ifc", "reference": "https://example.com/files/0J$yPqHBD12v72y4qF6XcD_0001.ifc" }, { "ifc_project": "3hwBHP91jBRwPsmyf$3Hea", "filename": "OfficeBuilding_Heating_0003.ifc", "reference": "cf37bae6-0900-46be-b37f-b34754fe0b4a" } ] ``` -------------------------------- ### PUT Files (Header) Service Example Request Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md This example demonstrates the structure of a request body to update file references on a topic header. Ensure the 'updateFiles' flag is set in the topic authorization. ```json PUT /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics/B345F4F2-3A04-B43B-A713-5E456BEF8228/files Body: [{ ``` ```json "ifc_project": "0J$yPqHBD12v72y4qF6XcD", "filename": "OfficeBuilding_Architecture_0001.ifc", "reference": "https://example.com/files/0J$yPqHBD12v72y4qF6XcD_0001.ifc" }, { ``` ```json "ifc_project": "3hwBHP91jBRwPsmyf$3Hea", "filename": "OfficeBuilding_Heating_0003.ifc", "reference": "cf37bae6-0900-46be-b37f-b34754fe0b4a" }] ``` -------------------------------- ### Retrieve All Documents (GET) Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Use this to retrieve a collection of all documents uploaded to a project. The response includes the GUID and filename for each document. ```http GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/documents ``` -------------------------------- ### GET All Topics for a Project Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md A basic request to retrieve all topics associated with a specific project. This serves as a starting point before applying filters or sorting. ```http GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics ``` -------------------------------- ### BCF API Viewpoint Creation Response Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Example 201 Created response body after successfully creating a viewpoint. It confirms the viewpoint details and includes generated GUIDs. ```json { "guid": "a11a82e7-e66c-34b4-ada1-5846abf39133", "index": 10, "perspective_camera": { "camera_view_point": { "x": 0.0, "y": 0.0, "z": 0.0 }, "camera_direction": { "x": 1.0, "y": 1.0, "z": 2.0 }, "camera_up_vector": { "x": 0.0, "y": 0.0, "z": 1.0 }, "field_of_view": 90.0, "aspect_ratio": 1.33 }, "lines": [{ "start_point": { "x": 1.0, "y": 1.0, "z": 1.0 }, "end_point": { "x": 0.0, "y": 0.0, "z": 0.0 } }], "clipping_planes": [{ "location": { "x": 0.5, "y": 0.5, "z": 0.5 }, "direction": { "x": 1.0, "y": 0.0, "z": 0.0 } }], "bitmaps": [{ "guid": "20c1cb56-315f-4a0a-922d-ed7a4a8edf55", "bitmap_type": "jpg", "location": { "x": 10.0, "y": -10.0, "z": 7.0 }, "normal": { "x": -1.0, "y": 1.25, "z": 0.0 }, "up": { "x": -5.4, "y": -4.3, "z": 1.0 }, "height": 1666 }], "snapshot": { "snapshot_type": "png" } } ``` -------------------------------- ### PUT Topic Service Response Example Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md This is an example of a successful response when updating a topic. It includes the topic's details and modification timestamps. ```json { "guid": "B345F4F2-3A04-B43B-A713-5E456BEF8228", "server_assigned_id": "ISSUE-00037", "creation_author": "Architect@example.com", "creation_date": "2016-08-01T17:34:22.409Z", "modified_author": "Architect@example.com", "modified_date": "2016-08-02T13:22:22.409Z", "topic_type": "Clash", "topic_status": "open", "title": "Example topic 3 - Changed Title", "priority": "high", "labels": [ "Architecture", "Heating" ], "assigned_to": "harry.muster@example.com", "bim_snippet": { "snippet_type": "clash", "is_external": true, "reference": "https://example.com/bcf/1.0/ADFE23AA11BCFF444122BB", "reference_schema": "https://example.com/bcf/1.0/clash.xsd" } } ``` -------------------------------- ### GET Files (Header) Request Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Example request to retrieve a collection of file references for a specific topic. The 'reference' can be a Uri or a server-specific ID. ```http GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics/B345F4F2-3A04-B43B-A713-5E456BEF8228/files ``` -------------------------------- ### POST Document Reference (External) Example Request Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md This example demonstrates how to add an external document reference to a topic. Ensure 'document_guid' is null when using 'url'. ```http POST /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics/B345F4F2-3A04-B43B-A713-5E456BEF8228/document_references ``` -------------------------------- ### DELETE Topic Service Example Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md This example shows the request to delete a single topic. This operation requires the 'delete' flag in Topic authorization. ```http DELETE /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics/B345F4F2-3A04-B43B-A713-5E456BEF8228 ``` -------------------------------- ### POST Topic Service Example Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Use this snippet to create a new topic. Ensure the server returns the 'createTopic' flag in Project authorization. The 'bim_snippet' object requires all four properties if used. ```json POST /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics Body: { "topic_type": "Clash", "topic_status": "open", "title": "Example topic 3", "priority": "high", "labels": [ "Architecture", "Heating" ], "assigned_to": "harry.muster@example.com", "bim_snippet": { "snippet_type": "clash", "is_external": true, "reference": "https://example.com/bcf/1.0/ADFE23AA11BCFF444122BB", "reference_schema": "https://example.com/bcf/1.0/clash.xsd" } } ``` -------------------------------- ### Get a Single Comment by GUID Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Retrieve a specific comment using its unique GUID. This endpoint requires the version, project ID, topic GUID, and the comment's GUID. ```http GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics/B345F4F2-3A04-B43B-A713-5E456BEF8228/comments/A333FCA8-1A31-CAAC-A321-BB33ABC8414 ``` -------------------------------- ### GET Comment Service Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Retrieves a single comment by its GUID. ```APIDOC ## GET Comment Service ### Description Get a single comment by its GUID. ### Method GET ### Endpoint /bcf/{version}/projects/{project_id}/topics/{guid}/comments/{guid} ### Request Example ``` GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics/B345F4F2-3A04-B43B-A713-5E456BEF8228/comments/A333FCA8-1A31-CAAC-A321-BB33ABC8414 ``` ### Response #### Success Response (200) - **guid** (string) - Description - **date** (datetime) - Description - **author** (string) - Description - **comment** (string) - Description - **topic_guid** (string) - Description #### Response Example ```json { "guid": "A333FCA8-1A31-CAAC-A321-BB33ABC8414", "date": "2016-08-01T14:24:11.316Z", "author": "bob.heater@example.com", "comment": "will rework the heating model", "topic_guid": "B345F4F2-3A04-B43B-A713-5E456BEF8228" } ``` ``` -------------------------------- ### GET Topic Service Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Retrieves a specific topic by its GUID within a project. ```APIDOC ## GET /bcf/{version}/projects/{guid}/topics/{guid} ### Description Retrieve a specific topic. ### Method GET ### Endpoint /bcf/{version}/projects/{guid}/topics/{guid} ### Parameters #### Path Parameters - **guid** (string) - Required - The GUID of the project. - **guid** (string) - Required - The GUID of the topic. ### Request Example ``` GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics/B345F4F2-3A04-B43B-A713-5E456BEF8228 ``` ### Response #### Success Response (200) - **guid** (string) - Description - **server_assigned_id** (string) - Description - **creation_author** (string) - Description - **creation_date** (string) - Description - **topic_type** (string) - Description - **topic_status** (string) - Description - **title** (string) - Description - **priority** (string) - Description - **labels** (array of strings) - Description - **assigned_to** (string) - Description - **bim_snippet** (object) - Description - **authorization** (object) - Description #### Response Example ```json { "guid": "B345F4F2-3A04-B43B-A713-5E456BEF8228", "server_assigned_id": "ISSUE-00549", "creation_author": "Architect@example.com", "creation_date": "2016-08-01T17:34:22.409Z", "topic_type": "Clash", "topic_status": "open", "title": "Example topic 3", "priority": "high", "labels": [ "Architecture", "Heating" ], "assigned_to": "harry.muster@example.com", "bim_snippet": { "snippet_type": "clash", "is_external": true, "reference": "https://example.com/bcf/1.0/ADFE23AA11BCFF444122BB", "reference_schema": "https://example.com/bcf/1.0/clash.xsd" }, "authorization": { "topic_actions": [ "createComment", "createViewpoint" ] } } ``` ``` -------------------------------- ### GET Document Service Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Retrieves a specific document as a binary file using its GUID. ```APIDOC ## GET /bcf/{version}/projects/{project_id}/documents/{guid} ### Description Retrieves a document as binary file. ### Method GET ### Endpoint /bcf/{version}/projects/{project_id}/documents/{guid} ### Response #### Success Response (200) Retrieves a document as binary file. ``` -------------------------------- ### Upload Document (POST) Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Use this to upload a document (binary file) to a project. This operation requires the `createDocument` flag in Project authorization. An optional GUID can be provided as a query parameter. ```http POST /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/documents?guid=472ab37a-6122-448e-86fc-86503183b520 ``` -------------------------------- ### GET Comments Events Service Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Retrieve a collection of comment events related to a project. Events can be filtered by comment GUID, topic GUID, author, date, and type. Results can be sorted by date. ```APIDOC ## GET /bcf/{version}/projects/{project_id}/topics/comments/events ### Description Retrieve a collection of comment events related to a project. The default sort order is `date`. ### Method GET ### Endpoint /bcf/{version}/projects/{project_id}/topics/comments/events ### Parameters #### Query Parameters - **$filter** (string) - Optional - Odata filter parameters. Supported fields: `comment_guid`, `topic_guid`, `author`, `date`, `type`. - **$orderby** (string) - Optional - Odata sort parameters. Supported fields: `date`. - **$top** (integer) - Optional - Number of records to retrieve. - **$skip** (integer) - Optional - Number of records to skip. ### Comment event types - **comment_created**: null - **comment_text_updated**: The comment text (limit: 1024 characters) - **viewpoint_updated**: The viewpoint guid - **viewpoint_removed**: null ### Example Request with odata ``` GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics/comments/events?$filter=author eq 'Architect@example.com' and date gt 2015-12-05T00:00:00+01:00 and type eq 'comment_created'&$orderby=date asc ``` ### Example Request ``` GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics/comments/events ``` ### Response #### Success Response (200) - **comment_guid** (string) - GUID of the comment. - **topic_guid** (string) - GUID of the topic. - **date** (datetime) - Date of the event. - **author** (string) - User ID of the author. - **events** (array) - Array of event objects. - **type** (string) - Type of the event. - **value** (any) - Value associated with the event. #### Response Example ```json [ { "comment_guid": "C4215F4D-AC45-A43A-D615-AA456BEF832B", "topic_guid": "A211FCC2-3A3B-EAA4-C321-DE22ABC8414", "date": "2014-11-19T14:24:11.316Z", "author": "Architect@example.com", "events": [ { "type": "comment_created", "value": null } ] }, { "comment_guid": "C4215F4D-AC45-A43A-D615-AA456BEF832B", "topic_guid": "A245F4F2-2C01-B43B-B612-5E456BEF8116", "date": "2013-10-21T17:34:22.409Z", "author": "Architect@example.com", "events": [ { "type": "viewpoint_updated", "value": "b24a82e9-f67b-43b8-bda0-4946abf39624" } ] } ] ``` ``` -------------------------------- ### BCF API Viewpoint Creation Request Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Example POST request body for creating a viewpoint. Includes camera settings, lines, clipping planes, bitmaps, snapshots, and component configurations. ```json { "index": 10, "perspective_camera": { "camera_view_point": { "x": 0.0, "y": 0.0, "z": 0.0 }, "camera_direction": { "x": 1.0, "y": 1.0, "z": 2.0 }, "camera_up_vector": { "x": 0.0, "y": 0.0, "z": 1.0 }, "field_of_view": 90.0, "aspect_ratio": 1.33 }, "lines": [{ "start_point": { "x": 1.0, "y": 1.0, "z": 1.0 }, "end_point": { "x": 0.0, "y": 0.0, "z": 0.0 } }], "clipping_planes": [{ "location": { "x": 0.5, "y": 0.5, "z": 0.5 }, "direction": { "x": 1.0, "y": 0.0, "z": 0.0 } }], "bitmaps": [{ "bitmap_type": "jpg", "bitmap_data": "SGVsbG8gV29ybGQh", "location": { "x": 10.0, "y": -10.0, "z": 7.0 }, "normal": { "x": -1.0, "y": 1.25, "z": 0.0 }, "up": { "x": -5.4, "y": -4.3, "z": 1.0 }, "height": 1666 }], "snapshot": { "snapshot_type": "png", "snapshot_data": "SGVsbG8gV29ybGQh" }, "components": { "selection": [{ "ifc_guid": "2MF28NhmDBiRVyFakgdbCT", "originating_system": "Example CAD Application", "authoring_tool_id": "EXCAD/v1.0" }], "coloring": [{ "color": "ff0000", "components": [{ "ifc_guid": "3$cshxZO9AJBebsni$z9Yk" }] }], "visibility": { "default_visibility": false, "exceptions": [{ "ifc_guid": "4$cshxZO9AJBebsni$z9Yk" }], "view_setup_hints": { "spaces_visible": true, "space_boundaries_visible": false, "openings_visible": true } } } } ``` -------------------------------- ### Example BCF API Topic Event Response Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md A sample JSON response for the Topics Events Service, showing topic GUID, date, author, and a list of events with their types and values. ```json [ { "topic_guid": "A211FCC2-3A3B-EAA4-C321-DE22ABC8414", "date": "2014-11-19T14:24:11.316Z", "author": "Architect@example.com", "events": [ { "type": "status_updated", "value": "Closed" } ] }, { "topic_guid": "A245F4F2-2C01-B43B-B612-5E456BEF8116", "date": "2013-10-21T17:34:22.409Z", "author": "Architect@example.com", "events": [ { "type": "type_updated", "value": "Warning" } ] } ] ``` -------------------------------- ### GET Viewpoint Source: https://github.com/buildingsmart/bcf-api/blob/release_3_0/README.md Retrieve a specific viewpoint by its GUID. This endpoint allows fetching detailed information about a saved viewpoint, including camera settings, lines, clipping planes, and associated bitmaps. ```APIDOC ## GET /bcf/{version}/projects/{guid}/topics/{guid}/viewpoints/{guid} ### Description Retrieve a specific viewpoint. ### Method GET ### Endpoint /bcf/{version}/projects/{guid}/topics/{guid}/viewpoints/{guid} ### Parameters #### Path Parameters - **version** (string) - Required - The API version. - **guid** (string) - Required - The GUID of the project. - **guid** (string) - Required - The GUID of the topic. - **guid** (string) - Required - The GUID of the viewpoint. ### Response #### Success Response (200) - **guid** (string) - The GUID of the viewpoint. - **index** (integer) - The index of the viewpoint. - **perspective_camera** (object) - Camera settings for the viewpoint. - **camera_view_point** (object) - The camera's position. - **camera_direction** (object) - The camera's viewing direction. - **camera_up_vector** (object) - The camera's up vector. - **field_of_view** (number) - The camera's field of view. - **aspect_ratio** (number) - The camera's aspect ratio. - **lines** (array) - An array of lines defining visual elements. - **start_point** (object) - The starting point of a line. - **end_point** (object) - The ending point of a line. - **clipping_planes** (array) - An array of clipping planes. - **location** (object) - The location of the clipping plane. - **direction** (object) - The direction of the clipping plane. - **bitmaps** (array) - An array of associated bitmaps. - **guid** (string) - The GUID of the bitmap. - **bitmap_type** (string) - The type of the bitmap (e.g., 'jpg'). - **location** (object) - The location of the bitmap. - **normal** (object) - The normal vector of the bitmap. - **up** (object) - The up vector of the bitmap. - **height** (integer) - The height of the bitmap. - **snapshot** (object) - Information about the viewpoint snapshot. - **snapshot_type** (string) - The type of the snapshot (e.g., 'png'). ### Request Example GET /bcf/3.0/projects/F445F4F2-4D02-4B2A-B612-5E456BEF9137/topics/B345F4F2-3A04-B43B-A713-5E456BEF8228/viewpoints/a11a82e7-e66c-34b4-ada1-5846abf39133 ### Response Example { "guid": "a11a82e7-e66c-34b4-ada1-5846abf39133", "index": 10, "perspective_camera": { "camera_view_point": { "x": 0.0, "y": 0.0, "z": 0.0 }, "camera_direction": { "x": 1.0, "y": 1.0, "z": 2.0 }, "camera_up_vector": { "x": 0.0, "y": 0.0, "z": 1.0 }, "field_of_view": 90.0, "aspect_ratio": 1.33 }, "lines": [ { "start_point": { "x": 1.0, "y": 1.0, "z": 1.0 }, "end_point": { "x": 0.0, "y": 0.0, "z": 0.0 } } ], "clipping_planes": [ { "location": { "x": 0.5, "y": 0.5, "z": 0.5 }, "direction": { "x": 1.0, "y": 0.0, "z": 0.0 } } ], "bitmaps": [ { "guid": "20c1cb56-315f-4a0a-922d-ed7a4a8edf55", "bitmap_type": "jpg", "location": { "x": 10.0, "y": -10.0, "z": 7.0 }, "normal": { "x": -1.0, "y": 1.25, "z": 0.0 }, "up": { "x": -5.4, "y": -4.3, "z": 1.0 }, "height": 1666 } ], "snapshot": { "snapshot_type": "png" } } ```