Forecast

Forecasts.batch_create_or_update

Creates or updates Forecast records in one request: an item with an id updates that record, an item without one creates a new record.

post/entities/Forecasts/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

descriptionstring

Free-text description shown alongside the forecast.

namestring

Name of the entity and its default text representation.

owner_idstring uuid

Id of the owning user.

settingsobject

Forecast configuration as a JSON object conforming to the BetterForecastSchema type: currency, period (year + quarter/month), breakdown levels (type), items and quotas, and column layout. Validated on write. Full structure: https://developers.coevera.com/reference/graphql/types/b/#BetterForecastSchema This payload conforms to the BetterForecastSchema JSON Schema (see the linked schema).

share_mode0 | 1 | 2 | 3

Who besides the owner can access the forecast. Updating it to AllEdit shares the forecast with the users and sales units it covers (see shared_clients and shared_units) and stores the mode as Standard.

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

share_mode_paramsstring

Legacy additional sharing options; kept with the record but no longer applied.

revisioninteger

Revision when entity was lastly changed.

idstring uuid

ID of object to update.

Example request

[
  {
    "description": "string",
    "name": "string",
    "owner_id": "01234567-abcd-dcba-ffff-000000000000",
    "revision": 1
  }
]

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.