LogoLogo
HomeSupport centerAPP
  • Overview
    • Quick Start
    • About the API
    • Authentication
  • API Reference
    • REST API
    • GraphQL API
  • Core API Concepts
    • Understanding the CRM Concept
    • Fields
    • API parameters
    • Dates
    • Pagination
    • Bulk Create, Update, Delete
    • Webhooks(Real-time updates)
  • Tutorials & Articles
    • Create Account
    • Create Contact
    • Create Opportunity
    • Create Product, Product Line Item
    • Create Custom Entity Record
    • Upload Document
    • Merging Accounts/Contacts
Powered by GitBook
On this page
  • Bulk Create, Update
  • Using Rollback for Bulk operations
  1. Core API Concepts

Bulk Create, Update, Delete

PreviousPaginationNextWebhooks(Real-time updates)

Last updated 3 years ago

It is recommended to use Bulk Create, Update, Delete methods when working with a lot of data at once.

Operation Name
Endpoint

Create, Update

.*batch-modify

Delete

*.batch-delete

Bulk Create, Update

Pipeliner API supports creating, updating records in one *.batch-modifyrequest

  1. When the ID is specified in an object, it works as an update method

  2. When the ID is not specified in an object, it works as a create method

Snippet

POST /entities/{{Entity-name}}/batch-modify
[
    {"id": "123", "name": "update"}, 
    {"name": "create"}
]

Using Rollback for Bulk operations

Rollback is , that can help you to rollback data that has failed for some reason (eg. data became invalid).

Example

In this example, we are going to bulk update Accounts, with the rollback method turned on.

Rollback = 0

If at least one object in a request is invalid, any operation isn“t executed (all data are rollbacked)

POST {{baseUrl}}/entities/Accounts/batch-modify?rollback-method=0
[
    {
        "id": "0bc376a4-c579-413a-9221-e86e4a134766",
        "name": "Account - Updated"
    },
    {
        "name": "Account - Created"
    }
]
{
    "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
}

Rollback=1

If an object in a request is invalid, it is not saved but other valid records are saved successfully. If the error occurs it is then returned in a response

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"
    }
]
{
    "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"
    ]
}

API parameter