# Update or create deal

You can update an existing deal or create a new one in case a deal with a specific identifier doesn't exist. You can also set up any custom attribute of your choice. If a specified custom attribute doesn't exist yet it will be created.

POST /deals/update_or_create/

Attributes Type Required Description
custom_id string no The unique identifier for the deal which is provided by the client.
activities_status string no A status of an activity assigned to the user.
assigned_to integer no A unique identifier for the agent which is given by User.com automatically.
company_id integer no A unique identifier for the company which is given by User.com automatically.
currency ISO 4217 code no A currency of a deal.
expected_close_date date no A date when the deal is expected to be closed.
loss_reason integer no A reason for a lost deal.
lost_at datetime no A date when the deal has been marked as lost.
name string yes A deal name.
participants integer(list) no A list of user_ids assigned to a deal.
pipeline integer no An id of a pipeline where the deal is assigned to.
products integer(list) no A list of product IDs.
products_custom_id string(list) no A list of product custom IDs.
stage integer no An id of a stage of the pipeline the deal is currently at.
status integer no A status of your deal (0 - abandoned, 1 - in progress, 2 - won, 3 - lost, 4 - archived)
user_id integer no A unique identifier for the user which is given by User.com automatically.
value number no A value of a deal.
won_at datetime no A date when the deal has been marked as won.
user_custom_id string no The unique identifier for the user which is provided by the client.
company_custom_id string no The unique identifier for the company which is provided by the client.
order_products list no A list of basic information per each ordered product which is provided by the client.
Those information have to contain:
  • product_id (integer) OR product_custom_id (string)
  • quantity (integer)
  • value (integer)
  • currency (string)

# Request

  • CURL
  • JavaScript
  • PHP
  • Python
curl -X POST -H "Authorization: Token <your_64_char_api_key>" -H "Content-Type: application/json"
       -H "Accept: */*; version=2" -d '{
  "name": "My new deal",
  "description": "deal created by API request",
  "stage": 25898,
  "pipeline": 4338,
  "assigned_to": 5725,
  "status": 1,
  "scope": 1
}' "https://<your_app_subdomain>.user.com/api/public/deals/"

# Response

{
  "id": 12218,
  "name": "example deal",
  "value": "1200.00",
  "currency": "USD",
  "custom_id": null,
  "stage": 36585,
  "pipeline": 6179,
  "assigned_to": 398,
  "restricted_to": null,
  "agent": null,
  "company_id": 768,
  "user_id": 20900530,
  "status": 1,
  "products": [185582, 201009],
  "scope": 2,
  "created_by": 382,
  "created_at": "2017-09-06T09:53:50.748535Z",
  "updated_at": "2017-09-06T09:53:50.748555Z",
  "tags": [{ "id": 9, "name": "To call" }],
  "activities_status": "planned",
  "expected_close_date": null,
  "loss_reason": null,
  "loss_reason_description": "",
  "lost_at": null,
  "won_at": null,
  "participants": [4],
  "user_custom_id": "52bdc3be5145e87076c8",
  "products_custom_id": ["product_972348", "product_9423548"],
  "company_custom_id": "c44adda2ecc0",
  "custom_attribute_xyz": null,
  "order_products": [
    {
      "product_id": 185582,
      "product_custom_id": "product_972348",
      "currency": "USD",
      "value": "500.00",
      "quantity": 2
    },
    {
      "product_id": 201009,
      "product_custom_id": "product_9423548",
      "currency": "USD",
      "value": "200.00",
      "quantity": 1
    }
  ]
}