---
title: "Forecasts.create"
method: POST
path: "/entities/Forecasts"
tags: ["Forecast"]
---

# Forecasts.create

`POST /entities/Forecasts`

Creates new Forecast

## Query parameters

- `validation-level` integer

## Response `201`

Creation confirmation. Returns created Forecast

- object
  - `success` boolean — True when response succeeded, false on error.
  - `data` Forecast
    - `is_delete_protected` boolean, required — Tells if the entity instance is protected against delete (Entities that need to be present in the system at any time). Delete action still may fail if entity is deletable, due some other additional validations.
    - `id` string, uuid, required — Unique identifier of entity.
    - `is_deleted` boolean — Specifies if the entity is considered deleted.
    - `modified` string, date-time — Last modification time.
    - `created` string, date-time — Creation time.
    - `field` string, uri, required — Field whose value is summed when computing forecast amounts (typically a currency field on Opportunity). Relation to Field. By default it is returned as URI to related resource. Using parameter 'expand', it will return full entity. See: 'Field' object for properties.
    - `owner` string, uri, required — User who owns the forecast. Relation to Client. By default it is returned as URI to related resource. Using parameter 'expand', it will return full entity. See: 'Client' object for properties.
    - `pipeline` string, uri, required — Pipeline whose opportunities the forecast aggregates. Relation to Pipeline. By default it is returned as URI to related resource. Using parameter 'expand', it will return full entity. See: 'Pipeline' object for properties.
    - `description` string — Free-text description shown alongside the forecast.
    - `end_date` string, date, required — Last date covered by the forecast period.
    - `field_id` string, uuid, required — Id of the aggregation field.
    - `name` string, required — Name of the entity and its default text representation.
    - `owner_id` string, uuid, required — Id of the owning user.
    - `pipeline_id` string, uuid, required — Id of the pipeline.
    - `settings` object, required — 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://graphql.api-doc.pipelinersales.com/latest/graphql/space/betterforecastschema.doc.html
    - `share_mode` 0 | 1 | 2 | 3 — Field whose values are strictly defined with an enumeration of values. Integer enum value: 0 - Standard, 1 - Private, 2 - AllView, 3 - AllEdit
    - `share_mode_params` string — Bit flags fine-tuning sharing behavior (e.g. allow editing for shared users).
    - `start_date` string, date, required — First date covered by the forecast period.
    - `type` object, required — Order of forecast levels as a JSON array (e.g. ["Units", "Users"]). Each level adds a grouping dimension to the breakdown.
    - `revision` integer — Revision when entity was lastly changed.
    - `shared_clients` string[], required — Users granted shared access to this forecast (custom share mode).
    - `shared_units` string[], required — Sales units granted shared access to this forecast (custom share mode).

## Other responses

- `500` — unexpected error

---

[API](https://skmtc.net/aws/apis/pipeliner-cloud-api.md) · [All operations](https://skmtc.net/aws/apis/pipeliner-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/pipeliner-cloud-api/revisions/e8c12ae60aca/schema)
