### Get Pipeliner CRM Sales Units (JSON Example) Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/understanding-the-crm-concept Provides an example of a system sales unit, specifically the 'Company' sales unit, which sits at the top of the sales unit hierarchy. This JSON object illustrates the structure and attributes of a sales unit, including its parent-child relationship. ```json { "is_delete_protected": false, "id": "ea33e8fb-9a56-4802-a175-2d1f406af7cf", "is_deleted": false, "modified": "2019-02-01 13:17:03.495636+00:00", "created": "2019-01-30 11:06:54.115137+00:00", "parent": null, "picture": "https://us-east.pipelinersales.com/api/v100/rest/spaces/nv3_PipelinerDev/entities/CloudObjects/74cc1d77-11d7-455d-9c32-39065f269e1b", "name": "Company ", "parent_id": null, "picture_id": "74cc1d77-11d7-455d-9c32-39065f269e1b", "revision": 816 } ``` -------------------------------- ### Example Account Response Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-opportunity An example JSON response for an account search, detailing account properties such as ID, name, contact information, and associated metadata. This structure is typical for account entity retrieval. ```JSON { "is_delete_protected": false, "id": "0bc376a4-c579-413a-9221-e86e4a134766", "is_deleted": false, "modified": "2019-02-01 10:01:23.011709+00:00", "created": "2019-01-30 11:44:23.586083+00:00", "account_type": "https://us-east.pipelinersales.com/api/v100/rest/spaces/nv3_PipelinerDev/entities/AccountTypes/a456236f-6f23-0908-abfd-384aa0f62f9e", "customer_type": "https://us-east.pipelinersales.com/api/v100/rest/spaces/nv3_PipelinerDev/entities/Data/04444b3a-c669-03bc-2c49-bcd7f047d41a", "industry": "https://us-east.pipelinersales.com/api/v100/rest/spaces/nv3_PipelinerDev/entities/Data/acbda72f-2054-0b71-9d42-cb35aaa37600", "owner": "https://us-east.pipelinersales.com/api/v100/rest/spaces/nv3_PipelinerDev/entities/Clients/00000000-0000-0000-0000-000000011a3d", "parent_account": null, "parent_account_relation_type": null, "picture": "https://us-east.pipelinersales.com/api/v100/rest/spaces/nv3_PipelinerDev/entities/CloudObjects/5ddfe953-a569-48e1-86bb-271e6506e7d0", "unit": "https://us-east.pipelinersales.com/api/v100/rest/spaces/nv3_PipelinerDev/entities/SalesUnits/ea33e8fb-9a56-4802-a175-2d1f406af7cf", "account_class": 5, "account_type_id": "a456236f-6f23-0908-abfd-384aa0f62f9e", "address": "7 Lillian Plaza", "city": "Coronda", "comments": "", "country": "Argentina", "customer_type_id": "04444b3a-c669-03bc-2c49-bcd7f047d41a", "email1": "info@ziemann-and-sons.de", "email2": "", "email3": "", "email4": "", "email5": "", "health_category": null, "health_status": null, "home_page": "www.ziemannandsons.com", "industry_id": "acbda72f-2054-0b71-9d42-cb35aaa37600", "name": "Ziemann and Sons", "owner_id": "00000000-0000-0000-0000-000000011a3d", "parent_account_id": null, "parent_account_relation_type_id": null, "phone1": "+1 (888) 500-8000", "..." } ``` -------------------------------- ### Example Pipeline Response Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-opportunity An example JSON response for a pipeline query, showing the structure of pipeline details and its associated steps. This includes IDs, names, and creation/modification timestamps. ```JSON { "is_delete_protected": false, "id": "90be8a83-bae8-401d-9e5e-c4564a986270", "is_deleted": false, "modified": "2020-09-25 10:48:29.825069+00:00", "created": "2020-08-12 15:00:21.732550+00:00", "color": 16233984, "name": "Test Pipeline", "revision": 66001, "steps": [ { "is_delete_protected": false, "id": "de115511-5dc1-46c3-86d9-f714457208dd", "is_deleted": false, "modified": "2020-08-12 15:00:21.734413+00:00", "created": "2020-08-12 15:00:21.734454+00:00", "pipeline": "https://us-east.pipelinersales.com/api/v100/rest/spaces/nv3_PipelinerDev/entities/Pipelines/90be8a83-bae8-401d-9e5e-c4564a986270", "name": "First", "percent": 15, "pipeline_id": "90be8a83-bae8-401d-9e5e-c4564a986270", "sort_order": 0, "timeframe": null, "revision": 65654, "documents": [], "step_checklists": [] } } ``` -------------------------------- ### Example API URL for Pagination with Cursor Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/pagination This is an example of an API endpoint URL demonstrating how to use the 'after' API parameter with an 'end_cursor' value to fetch the next page of results. ```url {{baseUrl}}/entities/Opportunities?after=WyI0MGUxMGE1MC00ZTYxLTQ0M2YtYmUzOC0xNmNjMzQ5NTM2NGUiXQ== ``` -------------------------------- ### Example API Request with Parameters Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/api-parameters Demonstrates a typical API request to the Pipeliner API, showcasing the use of various query parameters for filtering, pagination, and expanding related entities. This example helps illustrate how to construct URLs for interacting with different API endpoints. ```http {{baseUrl}}/entities/Clients? include-deleted=true& first=-8971250& last=-8971250& before=true&after=true& expand=expand=owner,sales_unit,account_relations.account& order-by=order-by=created,-modified& load-only=id,default_unit_id& filter[emai]=john.doe@example.com ``` -------------------------------- ### Example REST API Base URL Source: https://developers.pipelinersales.com/api-docs/overview/about-the-api This is an example of a fully constructed REST API Base URL for Pipeliner. It demonstrates how to replace the placeholders with specific values like the service URL and space ID to form a functional endpoint. ```text https://us-east.pipelinersales.com/api/v100/rest/spaces/nv1_example_space ``` -------------------------------- ### Trigger Webhook on Account Creation (API Request) Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/webhooks-real-time-updates This example demonstrates how to register a webhook that triggers when a new Account is created in Pipeliner. It specifies the target URL for receiving the webhook and the event that should initiate the trigger. ```http POST {{baseUrl}}/entities/Webhooks { "insecure_ssl": false, "url": "https://enrdznpu5i7jp.x.pipedream.net", "events": [ "Account.Create" ], "options": {} } ``` -------------------------------- ### Example User Data Response Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-custom-entity-record An example JSON response when querying for user data, specifically showing the 'id' and 'default_unit_id' fields. ```json { "id": "00000000-0000-0000-0000-000000011a7d", "default_unit_id": "aba4a358-f3f8-4f55-b3ed-dd5cf589103b" } ``` -------------------------------- ### Search Opportunities by Name using OpenAPI Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-custom-entity-record This snippet demonstrates how to search for opportunities by name using the Pipelinersales API. It utilizes the OpenAPI specification to define the GET request for the Opportunities entity. The example shows how to filter opportunities where the 'name' contains a specific string. ```OpenAPI GET /entities/Opportunities Parameters: - filter-op[name]: Operator for filtering (e.g., 'contains') - filter[name]: Value to filter the 'name' field by. ``` ```Shell {{baseUrl}}/entities/Opportunities?filter-op[name]=contains&filter[name]=Accounting ``` -------------------------------- ### Example API Request for Filtering Custom Entity Records Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-custom-entity-record An example of a GET request to filter Custom Entity records. This example filters records for 'MyCustomEntity' where the custom field 'cf_priority' is greater than '3'. ```HTTP {{baseUrl}}/entities/MyCustomEntity?filter-op[cf_priority]=gt&filter[cf_priority]=3 ``` -------------------------------- ### Trigger Webhook on Filtered Data (Opportunity) Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/webhooks-real-time-updates Set up a webhook to receive notifications only when specific conditions are met for an Opportunity update. This example triggers only when the Opportunity status is 'Open'. If 'filter-op' is not defined, 'eq' (equals) is used by default. ```json { "insecure_ssl": false, "url": "https://enrdznpu5i7jp.x.pipedream.net", "events": [ "Opportunity.Update" ], "options": { "entity": { "Opportunity": { "filter":{ "status": "Open" } } } } } ``` -------------------------------- ### Base Currency Data Structure Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-opportunity Example JSON structure for the base currency, including its ID, code, symbol, and base status. ```JSON { "is_delete_protected": true, "id": "c4ca4238-a0b9-0382-0dcc-509a6f75849b", "is_deleted": false, "modified": "2019-01-30 11:20:40.481012+00:00", "created": "2019-01-11 13:47:33.247720+00:00", "code": "USD", "is_base": true, "symbol": "$", "revision": 18, "currency_exchange_rates": [] } ``` -------------------------------- ### POST /entities/Webhooks - Webhooks for Custom Entity records Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/webhooks-real-time-updates Configure webhooks for custom entities, specifying the custom entity API names and optional filters. This example sets up webhooks for 'CE_Bid' and 'CE_Campaign' entities, with a specific filter for 'CE_Bid'. ```APIDOC ## POST /entities/Webhooks ### Description Enables webhooks for custom entity records. You can specify multiple custom entities and apply filters to trigger notifications only for specific records or events within those entities. ### Method POST ### Endpoint {{baseUrl}}/entities/Webhooks ### Parameters #### Request Body - **insecure_ssl** (boolean) - Optional - Set to `false` to enforce SSL verification. - **url** (string) - Required - The URL to send the webhook notification to. - **events** (array of strings) - Required - A list of events to subscribe to. Example: `["CustomEntity.Create", "CustomEntity.Update"]`. - **options** (object) - Optional - Configuration options for the webhook. - **custom_entity_api_name** (array of strings) - Required for custom entities. Contains the API names of the custom entities. Example: `[ "CE_Bid", "CE_Campaign" ]`. - **entity** (object) - Optional - Configuration for specific custom entities. - **[CustomEntityAPIName]** (object) - Configuration for a specific custom entity (e.g., `CE_Bid`). - **filter** (object) - Optional - Defines filtering criteria for the custom entity. Example: `{"name": "important"}`. - **filter-op** (object) - Optional - Defines the operation for the filter. Example: `{"name": "contains"}`. ### Request Example ```json { "insecure_ssl": false, "url": "https://enrdznpu5i7jp.x.pipedream.net", "events": [ "CustomEntity.Create", "CustomEntity.Update" ], "options": { "custom_entity_api_name": [ "CE_Bid", "CE_Campaign" ], "entity": { "CE_Bid": { "filter": { "name": "important" }, "filter-op": { "name": "contains" } } } } } ``` ### Response #### Success Response (200) Details of the created webhook configuration. #### Response Example ```json { "message": "Webhook configured successfully." } ``` ``` -------------------------------- ### GET /entities/Currencies Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-opportunity Retrieve a list of currencies available in the system. This endpoint can be used to find the base currency. ```APIDOC ## GET /entities/Currencies ### Description Retrieves a list of currencies available in the system. This endpoint can be used to find the base currency. ### Method GET ### Endpoint /entities/Currencies ### Parameters #### Query Parameters - **filter[is_base]** (boolean) - Optional - Filter to retrieve only the base currency (true) or all currencies (false). ### Request Example ``` {{baseUrl}}/entities/Currencies?filter[is_base]=true ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the currency. - **code** (string) - The currency code (e.g., USD, EUR). - **is_base** (boolean) - Indicates if this is the base currency for the system. - **symbol** (string) - The currency symbol. - **created** (string) - The timestamp when the currency was created. - **modified** (string) - The timestamp when the currency was last modified. #### Response Example ```json { "is_delete_protected": true, "id": "c4ca4238-a0b9-0382-0dcc-509a6f75849b", "is_deleted": false, "modified": "2019-01-30 11:20:40.481012+00:00", "created": "2019-01-11 13:47:33.247720+00:00", "code": "USD", "is_base": true, "symbol": "$", "revision": 18, "currency_exchange_rates": [] } ``` ``` -------------------------------- ### POST /entities/Webhooks - Trigger webhook on filtered data Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/webhooks-real-time-updates Set up a webhook to receive notifications only when an Opportunity meets specific filter criteria. This example triggers notifications only when an Opportunity's status is 'Open'. ```APIDOC ## POST /entities/Webhooks ### Description Configures a webhook to send notifications based on filtered entity data. This allows you to receive alerts only for specific conditions, such as an Opportunity being in an 'Open' state. ### Method POST ### Endpoint {{baseUrl}}/entities/Webhooks ### Parameters #### Request Body - **insecure_ssl** (boolean) - Optional - Set to `false` to enforce SSL verification. - **url** (string) - Required - The URL to send the webhook notification to. - **events** (array of strings) - Required - A list of events to subscribe to. Example: `["Opportunity.Update"]`. - **options** (object) - Optional - Configuration options for the webhook. - **entity** (object) - Required if `events` includes entity updates. - **Opportunity** (object) - Configuration for Opportunity entity. - **filter** (object) - Optional - Defines the filtering criteria. Example: `{"status": "Open"}`. ### Request Example ```json { "insecure_ssl": false, "url": "https://enrdznpu5i7jp.x.pipedream.net", "events": [ "Opportunity.Update" ], "options": { "entity": { "Opportunity": { "filter":{ "status": "Open" } } } } } ``` ### Response #### Success Response (200) Details of the created webhook configuration. #### Response Example ```json { "message": "Webhook configured successfully." } ``` ``` -------------------------------- ### Trigger Webhook on Field Change (Opportunity) Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/webhooks-real-time-updates Configure a webhook to trigger when specific fields of an Opportunity are updated. This example listens for updates to 'Opportunity value' or 'closing_date'. The 'events' array specifies the type of action to monitor. ```json POST {{baseUrl}}/entities/Webhooks { "insecure_ssl": false, "url": "https://enrdznpu5i7jp.x.pipedream.net", "events": [ "Opportunity.Update" ], "options": { "entity": { "Opportunity": { "on-field-change": ["closing_date", "value"] } } } } ``` -------------------------------- ### Get Product Pricelists Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-product-product-line-item Retrieves a list of available product pricelists. This is useful for obtaining the `product_price_list_id` needed to automatically populate product prices in an opportunity. ```APIDOC ## GET /entities/ProductPriceLists ### Description Retrieves a list of all available product pricelists. This endpoint is essential for fetching the `product_price_list_id` which can then be used to automatically set product prices within an opportunity. ### Method GET ### Endpoint {{baseURL}}/entities/ProductPriceLists ### Parameters None ### Request Example None ### Response #### Success Response (200) - **id** (string) - The unique identifier for the product pricelist. - **name** (string) - The name of the product pricelist. #### Response Example ```json [ { "id": "4c4cf9ab-972a-40bb-a749-74fc64289e52", "name": "Default Pricelist" }, { "id": "b8a7b6c5-d4e3-f2a1-0987-654321fedcba", "name": "Q4 2023 Special Pricing" } ] ``` ``` -------------------------------- ### Get Specific Field Values by API Name (API) Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/fields Retrieves specific field values, particularly for dropdowns, by filtering the '/entities/Fields' endpoint using the 'api_name'. This example demonstrates how to use the 'filter' API parameter and 'expand' and 'load-only' query parameters to get only the 'api_name' and 'data_set.option_name'. ```http GET {{baseUrl}}/entities/Fields?expand=data_set&load-only=api_name,data_set.option_name&filter[api_name]=industry_id ``` ```json "data": [ { "api_name": "industry_id", "data_set": [ { "option_name": "Accounting" }, { "option_name": "Agriculture" }, { "option_name": "Broadcasting" } ... } ] ``` -------------------------------- ### GET /entities/{custom_entity_api_name}Type Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-custom-entity-record Retrieve custom entity types. This is necessary to get the `type_id` for creating custom entity records. ```APIDOC ## GET /entities/{custom_entity_api_name}Type ### Description Retrieves a list of available custom entity types. You need to use the `id` from the response as the `type_id` when creating a new custom entity record. ### Method GET ### Endpoint `/entities/{custom_entity_api_name}Type` ### Parameters #### Path Parameters - **custom_entity_api_name** (string) - Required - The API name of the custom entity type (e.g., `MyCustomEntityType`). ### Response #### Success Response (200 OK) - **id** (string) - The unique identifier of the custom entity type. - **name** (string) - The name of the custom entity type. - **entity_api_name** (string) - The API name of the entity. ### Response Example ```json [ { "is_delete_protected": true, "has_draft": false, "id": "00000000-0000-0000-0000-000000000002", "is_deleted": false, "modified": "2023-09-20 07:08:32.528011+00:00", "created": "2023-09-11 08:38:36.498033+00:00", "form_edit": {}, "form_edit_api": {}, "is_readonly": false, "name": "Custom entity 1", "is_published": true, "revision": 4288, "entity_api_name": "MyCustomEntity" }, { "is_delete_protected": false, "has_draft": false, "id": "018ad56d-879c-b0dd-3c3a-75c59ab97a23", "is_deleted": false, "modified": "2023-09-27 06:57:23.126262+00:00", "created": "2023-09-27 06:57:19.772625+00:00", "form_edit": "", "form_edit_api": {}, "is_readonly": false, "name": "Custom entity 2", "is_published": true, "revision": 4461, "entity_api_name": "MyCustomEntity" } ] ``` ``` -------------------------------- ### Example Custom Entity Type Response Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-custom-entity-record An example JSON response when querying for Custom Entity Types, illustrating the structure and fields returned, including 'id' and 'name'. ```json { "is_delete_protected": true, "has_draft": false, "id": "00000000-0000-0000-0000-000000000002", "is_deleted": false, "modified": "2023-09-20 07:08:32.528011+00:00", "created": "2023-09-11 08:38:36.498033+00:00", "form_edit": {}, "form_edit_api": {}, "is_readonly": false, "name": "Custom entity 1", "is_published": true, "revision": 4288, "entity_api_name": "MyCustomEntity" }, { "is_delete_protected": false, "has_draft": false, "id": "018ad56d-879c-b0dd-3c3a-75c59ab97a23", "is_deleted": false, "modified": "2023-09-27 06:57:23.126262+00:00", "created": "2023-09-27 06:57:19.772625+00:00", "form_edit": "", "form_edit_api": {}, "is_readonly": false, "name": "Custom entity 2", "is_published": true, "revision": 4461, "entity_api_name": "MyCustomEntity" } ``` -------------------------------- ### Webhook Options Configuration (JSON) Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/webhooks-real-time-updates This JSON object demonstrates the structure and available parameters for configuring webhook options in the Pipeliner API. It includes settings for custom entities, entity-specific expansions and filters, related entity data, skipping webhooks, and throttling. ```json { "custom_entity_api_name": [ "CE_Bid", "CE_Campaign" ], "entity": { "Contact": { "expand": [ "primary_account", "primary_contact", "task_relations.task" ], "load-only": [ "id", "primary_account", "primary_contact.first_name", "task_relations.task" ], "filter": { "email1": [ "test@example.com", "test@example.net" ], "email2": "test@example.com" }, "filter-op": { "email1": "eq" }, "on-field-change": [ "email1" ] }, "Account": { "filter": { "owner_id": [ "9900cce6-bcd6-412a-bcd1-1904556c949a" ] } } }, "related_entity": { "expand": [ "contact" ], "load-only": [ "id", "contact" ] }, "skip_keys": [ "gmail_sync", "custom_integration" ] } ``` -------------------------------- ### Bulk Create Products - Pipeliner API Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-product-product-line-item This example shows how to use the Pipeliner API's bulk create method to add multiple products simultaneously. It requires a POST request to the '/entities/Products/batch-modify' endpoint with a JSON array of product objects. Each product object must include 'name', 'allowed_pipelines', and 'unit_symbol'. ```json [ { "name": "Product 1", "allowed_pipelines": 1, "unit_symbol": "kg" }, { "name": "Product 2", "allowed_pipelines": 1, "unit_symbol": "pcs" }, { "name": "Product 3", "allowed_pipelines": 1, "unit_symbol": "hours" } ] ``` -------------------------------- ### Bulk Update with Rollback=0 (All or Nothing) Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/bulk-create-update-delete This example shows a bulk update operation for 'Accounts' with `rollback-method=0`. If any record in the batch fails validation or processing, the entire operation is rolled back, and no changes are applied. This ensures data integrity by preventing partial updates. ```http POST {{baseUrl}}/entities/Accounts/batch-modify?rollback-method=0 [ { "id": "0bc376a4-c579-413a-9221-e86e4a134766", "name": "Account - Updated" }, { "name": "Account - Created" } ] ``` ```json { "code": 40000, "name": "ERROR_ENTITY_VALIDATION", "message": "\n[owner_id] Relation Account.owner_id=00000000-0000-0000-0000-000000011a3d to Client doesn't exist!", "entity_id": "0bc376a4-c579-413a-9221-e86e4a134766", "entity_name": "Account", "entity_errors": [], "field_errors": [ { "field_id": "5b67c561-0136-0c86-9dc0-0b4c9acb42f5", "field_name": "owner_id", "name": "ERROR_FIELD_VALIDATION", "code": 40002, "errors": [ { "code": 120, "name": "ERROR_RELATIONS_DOESNT_EXIST", "message": "[owner_id] Relation Account.owner_id=00000000-0000-0000-0000-000000011a3d to Client doesn't exist!", "field_id": "5b67c561-0136-0c86-9dc0-0b4c9acb42f5", "field_name": "owner_id" } ] } ], "step_checklist_errors": [], "entity_index": null, "http_status": 422, "success": false } ``` -------------------------------- ### Batch Create Products API Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-product-product-line-item Create multiple products in Pipeliner Sales efficiently using the bulk create method. Ensure you have the required fields like name, allowed_pipelines, and unit_symbol. ```APIDOC ## POST /entities/Products/batch-modify ### Description Creates multiple products in the Pipeliner application in a single request. ### Method POST ### Endpoint /entities/Products/batch-modify ### Parameters #### Request Body - **name** (string) - Required - The name of the product. - **allowed_pipelines** (integer) - Required - Specifies the opportunity pipelines where the product should be enabled. Use `1` for all pipelines. - **unit_symbol** (string) - Required - The unit of measure for the product (e.g., 'kg', 'pcs', 'hours'). - **product_category_id** (string) - Optional - The ID of the product category to which the product belongs. ### Request Example ```json [ { "name": "Product 1", "allowed_pipelines": 1, "unit_symbol": "kg" }, { "name": "Product 2", "allowed_pipelines": 1, "unit_symbol": "pcs" }, { "name": "Product 3", "allowed_pipelines": 1, "unit_symbol": "hours", "product_category_id": "category-uuid-1" } ] ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the batch operation was successful. - **data** (array of strings) - A list of unique identifiers (UUIDs) for the newly created products. #### Response Example ```json { "success": true, "data": [ "703c7426-c197-4441-beb7-201609ee47af", "c4d2428f-f8ef-4f27-abdb-aaf3fe626a89", "3648bf8a-6ad8-4057-b404-5d01bfac7dff" ] } ``` ``` -------------------------------- ### Bulk Update with Rollback=1 (Partial Success) Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/bulk-create-update-delete This example demonstrates a bulk update operation for 'Accounts' with `rollback-method=1`. In this mode, invalid records are not saved, but valid records are processed successfully. Errors for individual records are returned in the response, allowing for partial data updates. ```http POST {{baseUrl}}/entities/Accounts/batch-modify?rollback-method=1 [ { "id": "0bc376a4-c579-413a-9221-e86e4a134766", "name": "Account - Updated" }, { "name": "Account - Created", "owner_id": "00000000-0000-0000-0000-000000011a7d" } ] ``` ```json { "success": false, "data": [ { "code": 40000, "name": "ERROR_ENTITY_VALIDATION", "message": "\n[owner_id] Relation Account.owner_id=00000000-0000-0000-0000-000000011a3d to Client doesn't exist!" }, "f75fc63f-8c6f-499e-b9d2-ff16bcefdd83" ] } ``` -------------------------------- ### Get All Fields Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/fields Retrieve all custom fields associated with an entity. Each field has a unique `api_name` that can be used for filtering. ```APIDOC ## GET /entities/Fields ### Description Retrieves a list of all custom fields. Each field has a unique `api_name` which can be used to identify and filter specific fields. ### Method GET ### Endpoint /entities/Fields ### Parameters #### Query Parameters - **api_name** (string) - Optional - Filters fields by their API name. - **filter[api_name]** (string) - Optional - Alias for `api_name` parameter for filtering. - **expand** (string) - Optional - Specifies related data to be included in the response (e.g., `data_set`). - **load-only** (string) - Optional - Specifies which fields to include in the response (e.g., `api_name,data_set.option_name`). ### Request Example ```json GET {{baseUrl}}/entities/Fields?expand=data_set&load-only=api_name,data_set.option_name&filter[api_name]=industry_id ``` ### Response #### Success Response (200) - **data** (array) - An array of field objects. - **is_delete_protected** (boolean) - Indicates if the field is protected from deletion. - **has_draft** (boolean) - Indicates if the field has a draft version. - **id** (string) - The unique identifier of the field. - **is_deleted** (boolean) - Indicates if the field has been deleted. - **modified** (string) - The timestamp when the field was last modified. - **created** (string) - The timestamp when the field was created. - **entity_name** (string) - The name of the entity the field belongs to. - **api_name** (string) - The API name of the field. - **name** (string) - The display name of the field. - **use_lang** (integer) - Language usage indicator. - **column_name** (string) - The database column name for the field. - **column_source** (integer) - The source of the column. - **data_set** (array) - (If expanded) An array of options for dropdown fields. - **option_name** (string) - The name of a dropdown option. #### Response Example ```json { "data": [ { "is_delete_protected": false, "has_draft": false, "id": "00000001-0001-a001-0040-000000000001", "is_deleted": false, "modified": "2020-09-21 10:16:11.968255+00:00", "created": "2020-09-21 10:16:12.334879+00:00", "entity_name": "Task", "api_name": "sf_jira_issue_link2", "name": "Jira Issue Link", "use_lang": 0, "column_name": "sf_jira_issue_link2_2", "column_source": 3, "data_set": [ { "option_name": "Accounting" }, { "option_name": "Agriculture" }, { "option_name": "Broadcasting" } ] } ] } ``` ``` -------------------------------- ### GET /entities/Opportunities Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-custom-entity-record Retrieves a list of opportunities. This endpoint allows searching for opportunities by name or other parameters. ```APIDOC ## GET /entities/Opportunities ### Description Retrieves a list of opportunities. This endpoint allows searching for opportunities by name or other parameters. ### Method GET ### Endpoint /entities/Opportunities ### Parameters #### Query Parameters - **filter-op[name]** (string) - Optional - Filter operator for the name field (e.g., 'contains'). - **filter[name]** (string) - Optional - The name of the opportunity to search for. ### Request Example ``` {{baseUrl}}/entities/Opportunities?filter-op[name]=contains&filter[name]=Accounting ``` ### Response #### Success Response (200) - **is_delete_protected** (boolean) - Indicates if the record is protected from deletion. - **id** (string) - The unique identifier of the opportunity. - **is_deleted** (boolean) - Indicates if the record has been deleted. - **modified** (string) - The timestamp when the record was last modified. - **created** (string) - The timestamp when the record was created. - **active_quote** (object | null) - Information about the active quote associated with the opportunity. - **oppty_type** (string) - The type of opportunity. - **owner** (string) - The owner of the opportunity. - **product_currency** (string) - The currency used for the product. - **product_price_list** (object | null) - Information about the product price list. - **reason_of_close** (object | null) - The reason for closing the opportunity. - **step** (string) - The current step in the sales process. - **unit** (string) - The unit associated with the opportunity. - **active_quote_id** (string | null) - The ID of the active quote. - **closing_date** (string) - The expected closing date of the opportunity. - **description** (string) - A description of the opportunity. - **is_archived** (boolean) - Indicates if the opportunity is archived. - **is_value_auto_calculate** (boolean) - Indicates if the opportunity value is auto-calculated. - **label_flag** (integer) - A flag for labeling the opportunity. - **name** (string) - The name of the opportunity. - **oppty_type_id** (string) - The ID of the opportunity type. - **owner_id** (string) - The ID of the opportunity owner. - **product_currency_id** (string) - The ID of the product currency. - **ranking** (integer) - The ranking of the opportunity. - **reason_of_close_description** (string) - Description of the reason for closing. - **reason_of_close_id** (string | null) - The ID of the reason for closing. - **share_mode** (integer) - The sharing mode for the opportunity. - **step_id** (string) - The ID of the current step. - **table_name** (string) - The name of the table where the opportunity data is stored. - **unit_id** (string) - The ID of the unit. - **was_qualified** (boolean) - Indicates if the opportunity was qualified. - **revision** (integer) - The revision number of the record. - **value** (object) - The value of the opportunity. - **base_value** (number) - The base value in the primary currency. - **currency_id** (string) - The ID of the currency. - **value_foreign** (number) - The value in a foreign currency. - **oppty_recurrence** (object | null) - Recurrence details for the opportunity. - **revenue_schedule** (object | null) - Revenue schedule details. - **product_relations** (array) - An array of product relations. - **primary_contact** (object | null) - The primary contact for the opportunity. - **primary_account** (string) - The primary account for the opportunity. - **contact_relations** (array) - An array of contact relations. - **account_relations** (array) - An array of account relations. - **documents** (array) - An array of documents associated with the opportunity. - **quote_relations** (array) - An array of quote relations. - **status** (integer) - The status of the opportunity. - **qualify_date** (string | null) - The date the opportunity was qualified. - **won_date** (string | null) - The date the opportunity was won. - **lost_date** (string | null) - The date the opportunity was lost. - **days_in_step** (integer) - The number of days the opportunity has been in the current step. - **is_favorite** (boolean) - Indicates if the opportunity is marked as favorite. - **sharing_units** (array) - Units with which the opportunity is shared. - **sharing_clients** (array) - Clients with which the opportunity is shared. - **tags** (array) - Tags associated with the opportunity. - **formatted_name** (string) - The formatted name of the opportunity. - **modified_by_user** (object | null) - The user who last modified the opportunity. #### Response Example ```json { "is_delete_protected": false, "id": "0188d953-0aa6-1094-f764-1ce141993b26", "is_deleted": false, "modified": "2023-06-20 15:01:18.162394+00:00", "created": "2023-06-20 15:01:18.118462+00:00", "active_quote": null, "oppty_type": "http://example.com", "owner": "http://example.com", "product_currency": "http://example.com", "product_price_list": null, "reason_of_close": null, "step": "http://example.com", "unit": "http://example.com", "active_quote_id": null, "closing_date": "2023-06-21", "description": "", "is_archived": false, "is_value_auto_calculate": false, "label_flag": 0, "name": "Double Entry Accounting Services", "oppty_type_id": "0c03f112-4544-06a8-b162-1f14524c149c", "owner_id": "00000000-0000-0000-0000-000000011a7d", "product_currency_id": "c4ca4238-a0b9-0382-0dcc-509a6f75849b", "ranking": 50, "reason_of_close_description": "", "reason_of_close_id": null, "share_mode": 0, "step_id": "5854307d-d86e-4b97-be3f-a2c19f85ff07", "table_name": "oppty", "unit_id": "7d9467e0-d885-4729-877e-5c9e1e057b4a", "was_qualified": false, "revision": 3584, "value": { "base_value": 10000, "currency_id": "36665823-00d8-401f-b7d2-8e0736c3beb2", "value_foreign": 12500 }, "oppty_recurrence": null, "revenue_schedule": null, "product_relations": [], "primary_contact": null, "primary_account": "http://example.com", "contact_relations": [], "account_relations": [ "http://example.com" ], "documents": [], "quote_relations": [], "status": 1, "qualify_date": null, "won_date": null, "lost_date": null, "days_in_step": 68, "is_favorite": false, "sharing_units": [], "sharing_clients": [], "tags": [], "formatted_name": "Double Entry Accounting Services", "modified_by_user": null } ``` ``` -------------------------------- ### Fetch Pipeline by Name using URL Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/create-opportunity Constructs a URL to fetch a pipeline by its name, expanding the 'steps' to include detailed step information. This is useful for programmatically accessing pipeline structure. ```URL {{baseUrl}}/entities/Pipelines?expand=steps&filter-op[name]=contains&filter[name]=Test Pipeline ``` -------------------------------- ### Upload Document from External Storage (JSON) Source: https://developers.pipelinersales.com/api-docs/tutorials-and-articles/upload-document This example shows how to upload a document from an external storage service, such as Google Drive, by providing a URL instead of base64 content. The 'type' attribute is crucial for specifying the external storage provider (e.g., '3' for GoogleDriveFile). ```json { "cloud_object": { "filename": "File from google drive", "type": 3, "url": "https://docs.google.com/spreadsheets/d/1qDQJPID0UHkGywAoopWLYMWHGVDwCo0M2nov-XmzU-Q/edit?usp=sharing" }, "account_id": "0bc376a4-c579-413a-9221-e86e4a134766" } ``` -------------------------------- ### Get Pipeliner CRM Users (OpenAPI) Source: https://developers.pipelinersales.com/api-docs/core-api-concepts/understanding-the-crm-concept Fetches a list of all users registered in the Pipeliner CRM. User information, including their unique email address and assigned default sales unit, is returned. This data is essential for user management and record assignment. ```openapi GET /entities/Clients ```