Pipeliner CRM Forecast API

The Forecast API from Pipeliner CRM — 5 operation(s) for forecast.

Operations 8

GET /entities/Forecasts/{id} Forecasts.get #
DELETE /entities/Forecasts/{id} Forecasts.delete #
PATCH /entities/Forecasts/{id} Forecasts.update #
GET /entities/Forecasts Forecasts.list #
POST /entities/Forecasts Forecasts.create #
POST /entities/Forecasts/batch-delete Forecasts.batch_delete #
POST /entities/Forecasts/batch-modify Forecasts.batch_create_or_update #
POST /entities/Forecasts/batch-restore Forecasts.batch_restore #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pipeliner:pipeliner-forecast-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pipeliner-forecast-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Pipeliner Cloud Forecast API
  version: '100'
servers:
- url: https://us-east.api.pipelinersales.com/api/v100/rest/spaces/{space_id}
- url: https://eu-central.api.pipelinersales.com/api/v100/rest/spaces/{space_id}
- url: https://ca-central.api.pipelinersales.com/api/v100/rest/spaces/{space_id}
- url: https://ap-southeast.api.pipelinersales.com/api/v100/rest/spaces/{space_id}
tags:
- name: Forecast
paths:
  /entities/Forecasts/{id}:
    get:
      description: Returns Forecast with given id
      operationId: Forecasts.get
      summary: Forecasts.get
      tags:
      - Forecast
      parameters:
      - name: id
        in: path
        description: ID of Forecast to retrieve
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Forecast data
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                    description: True when response succeeded, false on error.
                  data:
                    $ref: '#/components/schemas/Forecast'
        '404':
          description: Sent when invalid ID is given
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      description: Removes Forecast with given id
      operationId: Forecasts.delete
      summary: Forecasts.delete
      tags:
      - Forecast
      parameters:
      - name: id
        in: path
        description: ID of Forecast to delete
        required: true
        schema:
          type: string
          format: uuid
      - name: validation-level
        in: query
        description: 'Specify validation level of Forecast on delete. Use them as bit mask: 0 - validate each field on entity,

          2 - validate only changed fields, 4 - validate only system fields, 8 - allows to override readonly fields,

          16 - allows to set entity on deleted relationship.'
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Removal confirmation
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                    description: True when response succeeded, false on error.
                  data:
                    description: id of deleted Forecast
                    type: string
                    format: uuid
        '404':
          description: Sent when invalid ID is given
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    patch:
      description: Modifies Forecast or Forecasts with given id(s)
      parameters:
      - name: id
        in: path
        description: ID of Forecast to update
        required: true
        schema:
          type: string
          format: uuid
      - name: validation-level
        in: query
        description: 'Specify validation level of Forecast on update. Use them as bit mask: 0 - validate each field on entity,

          2 - validate only changed fields, 4 - validate only system fields, 8 - allows to override readonly fields,

          16 - allows to set entity on deleted relationship.'
        schema:
          type: integer
          format: int32
      operationId: Forecasts.update
      summary: Forecasts.update
      tags:
      - Forecast
      requestBody:
        description: id(s) of modified item(s) and fields to modify
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateForecastInput'
      responses:
        '200':
          description: Modification confirmation. Returns resulting Forecast
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                    description: True when response succeeded, false on error.
                  data:
                    $ref: '#/components/schemas/Forecast'
        '404':
          description: Sent when invalid ID is given
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /entities/Forecasts:
    get:
      description: Returns all defined Forecasts
      operationId: Forecasts.list
      summary: Forecasts.list
      tags:
      - Forecast
      parameters:
      - name: include-deleted
        in: query
        description: if enabled, deleted Forecasts are returned as well
        required: false
        schema:
          type: boolean
      - name: first
        in: query
        description: 'Number of entities to return from beginning of the result set. Max: 100. Default: 30'
        required: false
        schema:
          type: integer
          format: int32
      - name: last
        in: query
        description: Return only the "last" number of entities from result set. When used with first parameter, then it returns last M records from the first N records.
        required: false
        schema:
          type: integer
          format: int32
      - name: before
        in: query
        description: Cursor until which to take entities to result set.
        required: false
        schema:
          type: string
      - name: after
        in: query
        description: Cursor after which to start taking entities to result set.
        required: false
        schema:
          type: string
      - name: expand
        in: query
        description: Expand related entity. Use api_names of relation fields. You can use multiple values separated via ',' colon. If not used, URI link will be returned instead. You can use dots '.' to expand nested entities as well.
        required: false
        example: expand=owner,sales_unit,account_relations.account
        schema:
          type: string
      - name: order-by
        in: query
        description: Order by values. Use api_name of field to sort by ascending. Prefix api_name with '-' to descending sort. You can use multiple values separated via ',' colon.
        example: order-by=created,-modified
        required: false
        schema:
          type: string
      - name: filter
        in: query
        description: Use name of field in braces to filter by this field. To advanced filter, use with combination with filter-op parameter.
        example: filter[name]=Example
        required: false
        schema:
          type: object
        style: deepObject
        allowReserved: true
      - name: filter-op
        in: query
        description: 'Filter operator. Specify a way how to filter fields. Supported operators: [eq, ieq, not-eq, not-ieq, contains, starts, ends, icontains, istarts, iends, null, not-null, empty, not-empty, gt, gte, lt, lte, between].'
        example: filter-op[name]=eq
        required: false
        schema:
          type: object
        style: deepObject
        allowReserved: true
      - name: load-only
        in: query
        description: Loads only fields defined within this parameter. You can use multiple values separated via ',' colon. If not used, then all fields are returned. You can use dots '.' to specify load only fields in nested as well.
        required: false
        example: load-only=id,name,owner.id
        schema:
          type: string
      responses:
        '200':
          description: list of Forecasts
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                    description: True when response succeeded, false on error.
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Forecast'
                  page_info:
                    type: object
                    properties:
                      start_cursor:
                        type: string
                        example: WyIwMSIsICJiMmYwODI0Ni1iYWE5LTQyY2QtYmM3Yi04YmM4MjY3M2E2NTgiXQ==
                        description: Start cursor of result set.
                      end_cursor:
                        type: string
                        example: WyIwNSIsICJmMjZhZjZiMC00ZWE4LTQ3MDgtODU2NC0wN2JmYzI4ZGQ5ZTgiXQ==
                        description: End cursor of result set.
                      has_previous_page:
                        type: boolean
                        example: true
                        description: If result set has previous page (if yes, use start_cursor value in before parameter to load it).
                      has_next_page:
                        type: boolean
                        example: true
                        description: If result set has next page (if yes, use end_cursor value in after parameter to load it).
                    description: Page info result set. Please note it is returned only when legacy limit & offset parameters are not used.
        '500':
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      description: Creates new Forecast
      operationId: Forecasts.create
      summary: Forecasts.create
      tags:
      - Forecast
      parameters:
      - name: validation-level
        in: query
        description: 'Specify validation level of Forecast on create. Use them as bit mask: 0 - validate each field on entity,

          2 - validate only changed fields, 4 - validate only system fields, 8 - allows to override readonly fields,

          16 - allows to set entity on deleted relationship.'
        schema:
          type: integer
          format: int32
      requestBody:
        description: data of new Forecast
        required: true
        content:
          application / json:
            schema:
              $ref: '#/components/schemas/createForecastInput'
      responses:
        '201':
          description: Creation confirmation. Returns created Forecast
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                    description: True when response succeeded, false on error.
                  data:
                    $ref: '#/components/schemas/Forecast'
        '500':
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /entities/Forecasts/batch-delete:
    post:
      description: Removes Forecasts with given list of ids
      operationId: Forecasts.batch_delete
      summary: Forecasts.batch_delete
      tags:
      - Forecast
      parameters:
      - name: validation-level
        in: query
        description: 'Specify validation level of Forecasts on delete. Use them as bit mask: 0 - validate each field on entity,

          2 - validate only changed fields, 4 - validate only system fields, 8 - allows to override readonly fields,

          16 - allows to set entity on deleted relationship.'
        schema:
          type: integer
          format: int32
      - name: rollback-method
        in: query
        description: Specify rollback method for Forecasts. 0 - rollback all, 1 - rollback only failed records.
        schema:
          type: integer
          format: int32
      requestBody:
        description: List of ids to delete.
        required: true
        content:
          application / json:
            schema:
              type: array
              items:
                type: string
                description: An id of entity Forecast to delete.
                format: uuid
      responses:
        '200':
          description: Batch removal confirmation
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                    description: True when response succeeded, false on error.
                  data:
                    type: array
                    items:
                      oneOf:
                      - type: string
                        description: An id of deleted Forecast.
                        format: uuid
                      - $ref: '#/components/schemas/Error'
        '500':
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /entities/Forecasts/batch-modify:
    post:
      description: Create or update an batch of Forecasts
      operationId: Forecasts.batch_create_or_update
      summary: Forecasts.batch_create_or_update
      tags:
      - Forecast
      parameters:
      - name: validation-level
        in: query
        description: 'Specify validation level of Forecasts on change. Use them as bit mask: 0 - validate each field on entity,

          2 - validate only changed fields, 4 - validate only system fields, 8 - allows to override readonly fields,

          16 - allows to set entity on deleted relationship.'
        schema:
          type: integer
          format: int32
      - name: rollback-method
        in: query
        description: Specify rollback method for Forecasts. 0 - rollback all, 1 - rollback only failed records.
        schema:
          type: integer
          format: int32
      requestBody:
        description: data of new Forecast
        required: true
        content:
          application / json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/batchForecastInput'
      responses:
        '200':
          description: Creation confirmation. Returns a list of created / updated Forecasts
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                    description: True when response succeeded, false on error.
                  data:
                    type: array
                    items:
                      oneOf:
                      - type: string
                        description: And ID of created / updated entity.
                        format: uuid
                      - $ref: '#/components/schemas/Error'
        '500':
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /entities/Forecasts/batch-restore:
    post:
      description: Restores Forecasts with given list of ids
      operationId: Forecasts.batch_restore
      summary: Forecasts.batch_restore
      tags:
      - Forecast
      parameters:
      - name: validation-level
        in: query
        description: 'Specify validation level of Forecasts on restore. Use them as bit mask: 0 - validate each field on entity,

          2 - validate only changed fields, 4 - validate only system fields, 8 - allows to override readonly fields,

          16 - allows to set entity on deleted relationship.'
        schema:
          type: integer
          format: int32
      - name: rollback-method
        in: query
        description: Specify rollback method for Forecasts. 0 - rollback all, 1 - rollback only failed records.
        schema:
          type: integer
          format: int32
      requestBody:
        description: List of ids to restore.
        required: true
        content:
          application / json:
            schema:
              type: array
              items:
                type: string
                description: An id of entity Forecast to restore.
                format: uuid
      responses:
        '200':
          description: Batch restoration confirmation
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                    description: True when response succeeded, false on error.
                  data:
                    type: array
                    items:
                      oneOf:
                      - type: string
                        description: An id of restored Forecast.
                        format: uuid
                      - $ref: '#/components/schemas/Error'
        '500':
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    updateForecastInput:
      properties:
        description:
          type: string
          example: string
          description: Free-text description shown alongside the forecast.
        name:
          type: string
          example: string
          description: Name of the entity and its default text representation.
        owner_id:
          type: string
          format: uuid
          example: 01234567-abcd-dcba-ffff-000000000000
          description: Id of the owning user.
        settings:
          type: object
          description: '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:
          type: integer
          description: 'Field whose values are strictly defined with an enumeration of values.


            Integer enum value: 0 - Standard, 1 - Private, 2 - AllView, 3 - AllEdit'
          example: 0
          enum:
          - 0
          - 1
          - 2
          - 3
        share_mode_params:
          type: string
          example: 1
          enum:
          - 1
          - 2
          description: Bit flags fine-tuning sharing behavior (e.g. allow editing for shared users).
        revision:
          type: integer
          format: int32
          example: 1
          description: Revision when entity was lastly changed.
        shared_clients:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uri
            description: 'Relation to Client, see: ''updateClientInput'' object for properties.'
          description: Users granted shared access to this forecast (custom share mode).
        shared_units:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uri
            description: 'Relation to SalesUnit, see: ''updateSalesUnitInput'' object for properties.'
          description: Sales units granted shared access to this forecast (custom share mode).
    batchForecastInput:
      properties:
        description:
          type: string
          example: string
          description: Free-text description shown alongside the forecast.
        name:
          type: string
          example: string
          description: Name of the entity and its default text representation.
        owner_id:
          type: string
          format: uuid
          example: 01234567-abcd-dcba-ffff-000000000000
          description: Id of the owning user.
        settings:
          type: object
          description: '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:
          type: integer
          description: 'Field whose values are strictly defined with an enumeration of values.


            Integer enum value: 0 - Standard, 1 - Private, 2 - AllView, 3 - AllEdit'
          example: 0
          enum:
          - 0
          - 1
          - 2
          - 3
        share_mode_params:
          type: string
          example: 1
          enum:
          - 1
          - 2
          description: Bit flags fine-tuning sharing behavior (e.g. allow editing for shared users).
        revision:
          type: integer
          format: int32
          example: 1
          description: Revision when entity was lastly changed.
        shared_clients:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uri
            description: 'Relation to Client, see: ''updateClientInput'' object for properties.'
          description: Users granted shared access to this forecast (custom share mode).
        shared_units:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uri
            description: 'Relation to SalesUnit, see: ''updateSalesUnitInput'' object for properties.'
          description: Sales units granted shared access to this forecast (custom share mode).
        id:
          description: ID of object to update.
          type: string
          format: uuid
    Error:
      properties:
        http_status:
          description: HTTP status code
          type: integer
          example: 400
        code:
          description: Internal API error code
          type: integer
          example: 117
        name:
          description: Name of the API error
          type: string
          example: ERROR_PARAMETER_INVALID
        message:
          description: Description of the API error
          type: string
        success:
          description: Always false on error.
          type: boolean
          example: false
      required:
      - success
      - http_status
    Forecast:
      properties:
        is_delete_protected:
          type: boolean
          example: false
          description: 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.
          readOnly: true
        id:
          type: string
          format: uuid
          example: 01234567-abcd-dcba-ffff-000000000000
          description: Unique identifier of entity.
          readOnly: true
        is_deleted:
          type: boolean
          example: false
          description: Specifies if the entity is considered deleted.
          readOnly: true
        modified:
          type: string
          format: date-time
          example: '2019-01-01T00:00:00'
          description: Last modification time.
          readOnly: true
        created:
          type: string
          format: date-time
          example: '2019-01-01T00:00:00'
          description: Creation time.
          readOnly: true
        field:
          type: string
          format: uri
          description: '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.'
          readOnly: true
        owner:
          type: string
          format: uri
          description: '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:
          type: string
          format: uri
          description: '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.'
          readOnly: true
        description:
          type: string
          example: string
          description: Free-text description shown alongside the forecast.
        end_date:
          type: string
          format: date
          example: '2019-01-01'
          description: Last date covered by the forecast period.
          readOnly: true
        field_id:
          type: string
          format: uuid
          example: 01234567-abcd-dcba-ffff-000000000000
          description: Id of the aggregation field.
          readOnly: true
        name:
          type: string
          example: string
          description: Name of the entity and its default text representation.
        owner_id:
          type: string
          format: uuid
          example: 01234567-abcd-dcba-ffff-000000000000
          description: Id of the owning user.
        pipeline_id:
          type: string
          format: uuid
          example: 01234567-abcd-dcba-ffff-000000000000
          description: Id of the pipeline.
          readOnly: true
        settings:
          type: object
          description: '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:
          type: integer
          description: 'Field whose values are strictly defined with an enumeration of values.


            Integer enum value: 0 - Standard, 1 - Private, 2 - AllView, 3 - AllEdit'
          example: 0
          enum:
          - 0
          - 1
          - 2
          - 3
        share_mode_params:
          type: string
          example: 1
          enum:
          - 1
          - 2
          description: Bit flags fine-tuning sharing behavior (e.g. allow editing for shared users).
        start_date:
          type: string
          format: date
          example: '2019-01-01'
          description: First date covered by the forecast period.
          readOnly: true
        type:
          type: object
          description: Order of forecast levels as a JSON array (e.g. ["Units", "Users"]). Each level adds a grouping dimension to the breakdown.
          readOnly: true
        revision:
          type: integer
          format: int32
          example: 1
          description: Revision when entity was lastly changed.
        shared_clients:
          type: array
          items:
            type: string
            format: uri
            description: '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.'
          description: Users granted shared access to this forecast (custom share mode).
        shared_units:
          type: array
          items:
            type: string
            format: uri
            description: 'Relation to SalesUnit. By default it is returned as URI to related resource. Using parameter ''expand'', it will return full entity. See: ''SalesUnit'' object for properties.'
          description: Sales units granted shared access to this forecast (custom share mode).
      required:
      - is_delete_protected
      - id
      - field
      - owner
      - pipeline
      - end_date
      - field_id
      - name
      - owner_id
      - pipeline_id
      - settings
      - start_date
      - type
      - shared_clients
      - shared_units
    createForecastInput:
      properties:
        modified:
          type: string
          format: date-time
          example: '2019-01-01T00:00:00'
          description: Last modification time.
          readOnly: true
        created:
          type: string
          format: date-time
          example: '2019-01-01T00:00:00'
          description: Creation time.
          readOnly: true
        description:
          type: string
          example: string
          description: Free-text description shown alongside the forecast.
        name:
          type: string
          example: string
          description: Name of the entity and its default text representation.
        owner_id:
          type: string
          format: uuid
          example: 01234567-abcd-dcba-ffff-000000000000
          description: Id of the owning user.
        settings:
          type: object
          description: '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:
          type: integer
          description: 'Field whose values are strictly defined with an enumeration of values.


            Integer enum value: 0 - Standard, 1 - Private, 2 - AllView, 3 - AllEdit'
          example: 0
          enum:
          - 0
          - 1
          - 2
          - 3
        share_mode_params:
          type: string
          example: 1
          enum:
          - 1
          - 2
          description: Bit flags fine-tuning sharing behavior (e.g. allow editing for shared users).
        revision:
          type: integer
          format: int32
          example: 1
          description: Revision when entity was lastly changed.
        shared_clients:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uri
            description: 'Relation to Client, see: ''createClientInput'' object for properties.'
          description: Users granted shared access to this forecast (custom share mode).
        shared_units:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uri
            description: 'Relation to SalesUnit, see: ''createSalesUnitInput'' object for properties.'
          description: Sales units granted shared access to this forecast (custom share mode).
      required:
      - name
      - owner_id
      - settings
      - shared_clients
      - shared_units