Lead & Opportunity

Create or update opportunities in a batch

An item with an id updates that opportunity; an item without one creates an opportunity. By default one invalid item fails the whole call with HTTP 422.

post/entities/Opportunities/batch-modify

Request

Query parameters

validation-levelinteger

Bit mask that relaxes validation on this write. 0 (the default) validates everything. Bits: 2 skip unchanged fields, 4 skip admin-defined validations, 8 allow read-only fields, 16 skip relation checks, 32 skip value checks, 64 skip invalid recalculations, 128 skip step-checklist gates, 256 add conditional field requirements, 512 skip uniqueness checks. Add bits together (20 = 4 + 16); member names and comma lists such as 4,16 work too. A value with an internal-only bit is refused with HTTP 400, code 117.

rollback-method0 | 1

0, the default: one failed item fails the whole batch (HTTP 422, or 404 for an unknown id) and nothing is written. 1: the valid items are written and the call answers 200 with success false and one result per item, an id or an error, in input order. Check every item.

Request body

createdstring date-time

Creation time.

active_quote_idstring uuid

Id of the quote currently synchronized with this opportunity, or empty when no quote is active. A quote can be active on only one opportunity at a time.

closing_datestring date

Expected or actual closing date of the opportunity.

currency_exchange_rates_list_idstring uuid

Id of the currency exchange rate list applied to this opportunity.

descriptionstring

Free-form description of the opportunity.

is_archivedboolean

True when the opportunity has been archived (lost). Archived opportunities remain readable but are hidden from active lists and cannot be edited until reactivated.

is_value_auto_calculateboolean

True when value is auto-calculated from the opportunity product line items. False when the user enters value directly.

label_flagstring

User-set colored flag used to highlight the opportunity in lists and reports.

last_ai_buying_center_appliedstring date-time

Time when an AI-suggested buying center was last applied to this opportunity.

lead_source_idstring uuid

Id of the lead source the opportunity originated from.

namestring

Name of the entity and its default text representation.

oppty_type_idstring uuid

Id of the opportunity type.

owner_idstring uuid

Id of the opportunity owner.

product_currency_idstring uuid

Id of the currency used for product line-item prices on this opportunity.

product_price_list_idstring uuid

Id of the price list that supplies prices for product line items added to this opportunity, or empty to use catalog defaults.

product_sectionsobject

Product sections grouping the record's line items, as a JSON array of {"id": <UUID>, "name": <string>} objects. Validated on write. Full structure: https://developers.coevera.com/reference/graphql/types/p/#ProductSection This payload conforms to the ProductSection JSON Schema (see the linked schema).

quick_account_emailstring

Free-text company email captured at opportunity creation when no Account record has been linked yet.

quick_account_namestring

Free-text company name captured at opportunity creation when no Account record has been linked yet.

quick_account_phonestring

Free-text company phone captured at opportunity creation when no Account record has been linked yet.

quick_contact_namestring

Free-text contact name captured at opportunity creation when no Contact record has been linked yet.

quick_emailstring

Free-text contact email captured at opportunity creation when no Contact record has been linked yet.

quick_phonestring

Free-text contact phone captured at opportunity creation when no Contact record has been linked yet.

rankinginteger

Qualitative ranking score (1-10) the user assigns to indicate the strength of the opportunity.

reason_of_close_descriptionstring

Free-form note explaining why the opportunity was archived (lost).

reason_of_close_idstring uuid

Id of the reason of close option selected when the opportunity was archived (lost).

share_mode0 | 1 | 2 | 3

Sharing model applied on top of the owner/unit visibility (e.g. shared with selected sales units or selected users). The matching sharing_units / sharing_clients lists control who is granted access.

Integer enum value: 0 - Standard, 1 - Private, 2 - AllView, 3 - AllEdit

step_idstring uuid

Id of the pipeline step.

unit_idstring uuid

Id of the sales unit.

was_qualifiedboolean

True when the opportunity has gone through the qualification step at least once.

revisioninteger

Revision when entity was lastly changed.

won_datestring date-time

Timestamp of when the opportunity was won. Setting it adjusts the underlying win event; empty for opportunities that have not been won.

lost_datestring date-time

Timestamp of when the opportunity was archived (lost). Setting it adjusts the underlying loss event; empty for opportunities that have not been archived.

idstring uuid

ID of object to update.

Example request

[
  {
    "created": "2019-01-01T00:00:00",
    "active_quote_id": "01234567-abcd-dcba-ffff-000000000000",
    "closing_date": "2019-01-01",
    "currency_exchange_rates_list_id": "01234567-abcd-dcba-ffff-000000000000",
    "description": "string",
    "last_ai_buying_center_applied": "2019-01-01T00:00:00",
    "lead_source_id": "01234567-abcd-dcba-ffff-000000000000",
    "name": "string",
    "oppty_type_id": "01234567-abcd-dcba-ffff-000000000000",
    "owner_id": "01234567-abcd-dcba-ffff-000000000000",
    "product_currency_id": "01234567-abcd-dcba-ffff-000000000000",
    "product_price_list_id": "01234567-abcd-dcba-ffff-000000000000",
    "quick_account_email": "string",
    "quick_account_name": "string",
    "quick_account_phone": "string",
    "quick_contact_name": "string",
    "quick_email": "string",
    "quick_phone": "string",
    "ranking": 1,
    "reason_of_close_description": "string",
    "reason_of_close_id": "01234567-abcd-dcba-ffff-000000000000",
    "step_id": "01234567-abcd-dcba-ffff-000000000000",
    "unit_id": "01234567-abcd-dcba-ffff-000000000000",
    "revision": 1,
    "value": {
      "currency_id": "01234567-abcd-dcba-ffff-000000000000"
    },
    "won_date": "2019-01-01T00:00:00",
    "lost_date": "2019-01-01T00:00:00"
  }
]

Response

Result per item, in request order: the id of the created or updated record, or the error.

successboolean

True when the request succeeded; false on error.

Example response

{
  "success": true,
  "data": [
    {
      "http_status": 400,
      "code": 117,
      "name": "ERROR_PARAMETER_INVALID"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.