Products

Products are the goods or services you are dealing with. Each product can have N different price points - firstly, each product can have a price in N different currencies, and secondly, each product can have N variations of itself, each having N prices in different currencies. Note that only one price per variation per currency is supported. Products can be instantiated to deals. In the context of instatiation, a custom price, quantity, duration and discount can be applied.

Get all products

Copy link

Returns data about all products.

Cost

10

Request
GET

/api/v2/products

Query parameters

owner_id

integer

If supplied, only products owned by the given user will be returned

ids

string

Optional comma separated string array of up to 100 entity ids to fetch. If filter_id is provided, this is ignored. If any of the requested entities do not exist or are not visible, they are not included in the response.

filter_id

integer

The ID of the filter to use

cursor

string

For pagination, the marker (an opaque string value) representing the first item on the next page

limit

integer

For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed.

sort_by

string

The field to sort by. Supported fields: id, name, add_time, update_time.

Default

id

Values

id

name

add_time

update_time

sort_direction

string

The sorting direction. Supported values: asc, desc.

Default

asc

Values

asc

desc

custom_fields

string

Comma separated string array of custom fields keys to include. If you are only interested in a particular set of custom fields, please use this parameter for a smaller response.
A maximum of 15 keys is allowed.

Response
200

OK

Expand all
Copy code
    • true
    • [ ... ]
      • { ... }

      Search products

      Copy link

      Searches all products by name, code and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope.

      Cost

      20

      Request
      GET

      /api/v2/products/search

      Query parameters

      term

      string

      required

      The search term to look for. Minimum 2 characters (or 1 if using exact_match). Please note that the search term has to be URL encoded.

      fields

      string

      A comma-separated string array. The fields to perform the search from. Defaults to all of them. Only the following custom field types are searchable: address, varchar, text, varchar_auto, double, monetary and phone. Read more about searching by custom fields here.

      Values

      code

      custom_fields

      name

      exact_match

      boolean

      When enabled, only full exact matches against the given term are returned. It is not case sensitive.

      include_fields

      string

      Supports including optional fields in the results which are not provided by default

      Values

      product.price

      limit

      integer

      For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed.

      cursor

      string

      For pagination, the marker (an opaque string value) representing the first item on the next page

      Response
      200

      OK

      Expand all
      Copy code
        • true
        • { ... }
          • { ... }

          Get one product

          Copy link

          Returns data about a specific product.

          Cost

          1

          Request
          GET

          /api/v2/products/{id}

          Path parameters

          id

          integer

          required

          The ID of the product

          Response
          200

          OK

          Expand all
          Copy code
            • true
            • { ... }

            Get deals where a product is attached to

            Copy link

            Returns data about deals that have a product attached to it.

            Cost

            20

            Request
            GET

            /v1/products/{id}/deals

            Path parameters

            id

            integer

            required

            The ID of the product

            Query parameters

            start

            integer

            Pagination start

            Default

            0

            limit

            integer

            Items shown per page

            status

            string

            Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted, deals that have been deleted up to 30 days ago will be included.

            Default

            all_not_deleted

            Values

            open

            won

            lost

            deleted

            all_not_deleted

            Response
            200

            OK

            Expand all
            Copy code
              • true
              • [ ... ]
                • { ... }
                  • { ... }

                  List files attached to a product

                  Copy link

                  Lists files associated with a product.

                  Cost

                  20

                  Request
                  GET

                  /v1/products/{id}/files

                  Path parameters

                  id

                  integer

                  required

                  The ID of the product

                  Query parameters

                  start

                  integer

                  Pagination start

                  Default

                  0

                  limit

                  integer

                  Items shown per page. Please note that a maximum value of 100 is allowed.

                  sort

                  string

                  Supported fields: id, update_time

                  Response
                  200

                  OK

                  Expand all
                  Copy code
                    • true
                    • [ ... ]
                      • { ... }

                      List followers of a product

                      Copy link

                      Lists users who are following the product.

                      Cost

                      10

                      Request
                      GET

                      /api/v2/products/{id}/followers

                      Path parameters

                      id

                      integer

                      required

                      The ID of the product

                      Query parameters

                      limit

                      integer

                      For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed.

                      cursor

                      string

                      For pagination, the marker (an opaque string value) representing the first item on the next page

                      Response
                      200

                      OK

                      Expand all
                      Copy code
                        • true
                        • [ ... ]
                          • { ... }

                          List permitted users

                          Copy link

                          Lists users permitted to access a product.

                          Cost

                          10

                          Request
                          GET

                          /v1/products/{id}/permittedUsers

                          Path parameters

                          id

                          integer

                          required

                          The ID of the product

                          Response
                          200

                          OK

                          Expand all
                          Copy code
                            • true
                            • [ ... ]

                            List followers changelog of a product

                            Copy link

                            Lists changelogs about users have followed the product.

                            Cost

                            10

                            Request
                            GET

                            /api/v2/products/{id}/followers/changelog

                            Path parameters

                            id

                            integer

                            required

                            The ID of the product

                            Query parameters

                            limit

                            integer

                            For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed.

                            cursor

                            string

                            For pagination, the marker (an opaque string value) representing the first item on the next page

                            Response
                            200

                            OK

                            Expand all
                            Copy code
                              • true
                              • [ ... ]
                                • { ... }

                                Get all product variations

                                Copy link

                                Returns data about all product variations.

                                Cost

                                10

                                Request
                                GET

                                /api/v2/products/{id}/variations

                                Path parameters

                                id

                                integer

                                required

                                The ID of the product

                                Query parameters

                                cursor

                                string

                                For pagination, the marker (an opaque string value) representing the first item on the next page

                                limit

                                integer

                                For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed.

                                Response
                                200

                                OK

                                Expand all
                                Copy code
                                  • true
                                  • [ ... ]
                                    • { ... }

                                    Get image of a product

                                    Copy link

                                    Retrieves the image of a product. The public URL has a limited lifetime of 7 days.

                                    Endpoint is in beta

                                    Cost

                                    10

                                    Request
                                    GET

                                    /api/v2/products/{id}/images

                                    Path parameters

                                    id

                                    integer

                                    required

                                    The ID of the product

                                    Response
                                    200

                                    OK

                                    Expand all
                                    Copy code
                                      • true
                                      • { ... }

                                      Add a product

                                      Copy link

                                      Adds a new product to the Products inventory. For more information, see the tutorial for adding a product.

                                      Cost

                                      5

                                      Request
                                      POST

                                      /api/v2/products

                                      Body parameters

                                      application/json

                                      name

                                      string

                                      required

                                      The name of the product. Cannot be an empty string

                                      code

                                      string

                                      The product code

                                      description

                                      string

                                      The product description

                                      unit

                                      string

                                      The unit in which this product is sold

                                      tax

                                      number

                                      The tax percentage

                                      Default

                                      0

                                      category

                                      number

                                      The category of the product

                                      owner_id

                                      integer

                                      The ID of the user who will be marked as the owner of this product. When omitted, the authorized user ID will be used

                                      is_linkable

                                      boolean

                                      Whether this product can be added to a deal or not

                                      Default

                                      true

                                      visible_to

                                      number

                                      The visibility of the product. If omitted, the visibility will be set to the default visibility setting of this item type for the authorized user. Read more about visibility groups here.

                                      Light / Growth and Professional plans

                                      ValueDescription
                                      1Owner & followers
                                      3Entire company

                                      Premium / Ultimate plan

                                      ValueDescription
                                      1Owner only
                                      3Owner's visibility group
                                      5Owner's visibility group and sub-groups
                                      7Entire company

                                      Values

                                      1

                                      3

                                      5

                                      7

                                      prices

                                      array

                                      An array of objects, each containing: currency (string), price (number), cost (number, optional), direct_cost (number, optional). Note that there can only be one price per product per currency. When prices is omitted altogether, a default price of 0 and the user's default currency will be assigned.

                                      billing_frequency

                                      string

                                      Only available in Growth and above plans

                                      How often a customer is billed for access to a service or product

                                      Default

                                      one-time

                                      Values

                                      one-time

                                      annually

                                      semi-annually

                                      quarterly

                                      monthly

                                      weekly

                                      billing_frequency_cycles

                                      integer

                                      Only available in Growth and above plans

                                      The number of times the billing frequency repeats for a product in a deal

                                      When billing_frequency is set to one-time, this field must be null

                                      When billing_frequency is set to weekly, this field cannot be null

                                      For all the other values of billing_frequency, null represents a product billed indefinitely

                                      Must be a positive integer less or equal to 208

                                      Response
                                      201

                                      Created

                                      Expand all
                                      Copy code
                                        • true
                                        • { ... }

                                        Add a follower to a product

                                        Copy link

                                        Adds a user as a follower to the product.

                                        Cost

                                        5

                                        Request
                                        POST

                                        /api/v2/products/{id}/followers

                                        Path parameters

                                        id

                                        integer

                                        required

                                        The ID of the product

                                        Body parameters

                                        application/json

                                        user_id

                                        integer

                                        required

                                        The ID of the user to add as a follower

                                        Response
                                        201

                                        Created

                                        Expand all
                                        Copy code
                                          • true
                                          • { ... }

                                          Duplicate a product

                                          Copy link

                                          Creates a duplicate of an existing product including all variations, prices, and custom fields.

                                          Cost

                                          5

                                          Request
                                          POST

                                          /api/v2/products/{id}/duplicate

                                          Path parameters

                                          id

                                          integer

                                          required

                                          The ID of the product

                                          Response
                                          201

                                          Created

                                          Expand all
                                          Copy code
                                            • true
                                            • { ... }

                                            Add a product variation

                                            Copy link

                                            Adds a new product variation.

                                            Cost

                                            5

                                            Request
                                            POST

                                            /api/v2/products/{id}/variations

                                            Path parameters

                                            id

                                            integer

                                            required

                                            The ID of the product

                                            Body parameters

                                            application/json

                                            name

                                            string

                                            required

                                            The name of the product variation. The maximum length is 255 characters.

                                            prices

                                            array

                                            Array of objects, each containing: currency (string), price (number), cost (number, optional), direct_cost (number, optional), notes (string, optional). When prices is omitted altogether, a default price of 0, a default cost of 0, a default direct_cost of 0 and the user's default currency will be assigned.

                                            Response
                                            201

                                            Created

                                            Expand all
                                            Copy code
                                              • true
                                              • { ... }

                                              Upload an image for a product

                                              Copy link

                                              Uploads an image for a product.

                                              Endpoint is in beta

                                              Cost

                                              20

                                              Request
                                              POST

                                              /api/v2/products/{id}/images

                                              Path parameters

                                              id

                                              integer

                                              required

                                              The ID of the product

                                              Body parameters

                                              multipart/form-data

                                              data

                                              string

                                              required

                                              One image supplied in the multipart/form-data encoding

                                              Format

                                              binary

                                              Response
                                              201

                                              Created

                                              Expand all
                                              Copy code
                                                • true
                                                • { ... }

                                                Update a product

                                                Copy link

                                                Updates product data.

                                                Cost

                                                5

                                                Request
                                                PATCH

                                                /api/v2/products/{id}

                                                Path parameters

                                                id

                                                integer

                                                required

                                                The ID of the product

                                                Body parameters

                                                application/json

                                                name

                                                string

                                                The name of the product. Cannot be an empty string

                                                code

                                                string

                                                The product code

                                                description

                                                string

                                                The product description

                                                unit

                                                string

                                                The unit in which this product is sold

                                                tax

                                                number

                                                The tax percentage

                                                Default

                                                0

                                                category

                                                number

                                                The category of the product

                                                owner_id

                                                integer

                                                The ID of the user who will be marked as the owner of this product. When omitted, the authorized user ID will be used

                                                is_linkable

                                                boolean

                                                Whether this product can be added to a deal or not

                                                Default

                                                true

                                                visible_to

                                                number

                                                The visibility of the product. If omitted, the visibility will be set to the default visibility setting of this item type for the authorized user. Read more about visibility groups here.

                                                Light / Growth and Professional plans

                                                ValueDescription
                                                1Owner & followers
                                                3Entire company

                                                Premium / Ultimate plan

                                                ValueDescription
                                                1Owner only
                                                3Owner's visibility group
                                                5Owner's visibility group and sub-groups
                                                7Entire company

                                                Values

                                                1

                                                3

                                                5

                                                7

                                                prices

                                                array

                                                An array of objects, each containing: currency (string), price (number), cost (number, optional), direct_cost (number, optional). Note that there can only be one price per product per currency. When prices is omitted altogether, a default price of 0 and the user's default currency will be assigned.

                                                billing_frequency

                                                string

                                                Only available in Growth and above plans

                                                How often a customer is billed for access to a service or product

                                                Values

                                                one-time

                                                annually

                                                semi-annually

                                                quarterly

                                                monthly

                                                weekly

                                                billing_frequency_cycles

                                                integer

                                                Only available in Growth and above plans

                                                The number of times the billing frequency repeats for a product in a deal

                                                When billing_frequency is set to one-time, this field must be null

                                                When billing_frequency is set to weekly, this field cannot be null

                                                For all the other values of billing_frequency, null represents a product billed indefinitely

                                                Must be a positive integer less or equal to 208

                                                Response
                                                200

                                                OK

                                                Expand all
                                                Copy code
                                                  • true
                                                  • { ... }

                                                  Update an image for a product

                                                  Copy link

                                                  Updates the image of a product.

                                                  Endpoint is in beta

                                                  Cost

                                                  20

                                                  Request
                                                  PUT

                                                  /api/v2/products/{id}/images

                                                  Path parameters

                                                  id

                                                  integer

                                                  required

                                                  The ID of the product

                                                  Body parameters

                                                  multipart/form-data

                                                  data

                                                  string

                                                  required

                                                  One image supplied in the multipart/form-data encoding

                                                  Format

                                                  binary

                                                  Response
                                                  200

                                                  OK

                                                  Expand all
                                                  Copy code
                                                    • true
                                                    • { ... }

                                                    Update a product variation

                                                    Copy link

                                                    Updates product variation data.

                                                    Cost

                                                    5

                                                    Request
                                                    PATCH

                                                    /api/v2/products/{id}/variations/{product_variation_id}

                                                    Path parameters

                                                    id

                                                    integer

                                                    required

                                                    The ID of the product

                                                    product_variation_id

                                                    integer

                                                    required

                                                    The ID of the product variation

                                                    Body parameters

                                                    application/json

                                                    name

                                                    string

                                                    The name of the product variation. The maximum length is 255 characters.

                                                    prices

                                                    array

                                                    Array of objects, each containing: currency (string), price (number), cost (number, optional), direct_cost (number, optional), notes (string, optional). When prices is omitted altogether, a default price of 0, a default cost of 0, a default direct_cost of 0 and the user's default currency will be assigned.

                                                    Response
                                                    200

                                                    OK

                                                    Expand all
                                                    Copy code
                                                      • true
                                                      • { ... }

                                                      Delete a product

                                                      Copy link

                                                      Marks a product as deleted. After 30 days, the product will be permanently deleted.

                                                      Cost

                                                      3

                                                      Request
                                                      DELETE

                                                      /api/v2/products/{id}

                                                      Path parameters

                                                      id

                                                      integer

                                                      required

                                                      The ID of the product

                                                      Response
                                                      200

                                                      OK

                                                      Expand all
                                                      Copy code
                                                        • true
                                                        • { ... }

                                                        Delete a follower from a product

                                                        Copy link

                                                        Deletes a user follower from the product.

                                                        Cost

                                                        3

                                                        Request
                                                        DELETE

                                                        /api/v2/products/{id}/followers/{follower_id}

                                                        Path parameters

                                                        id

                                                        integer

                                                        required

                                                        The ID of the product

                                                        follower_id

                                                        integer

                                                        required

                                                        The ID of the following user

                                                        Response
                                                        200

                                                        OK

                                                        Expand all
                                                        Copy code
                                                          • true
                                                          • { ... }

                                                          Delete a product variation

                                                          Copy link

                                                          Deletes a product variation.

                                                          Cost

                                                          3

                                                          Request
                                                          DELETE

                                                          /api/v2/products/{id}/variations/{product_variation_id}

                                                          Path parameters

                                                          id

                                                          integer

                                                          required

                                                          The ID of the product

                                                          product_variation_id

                                                          integer

                                                          required

                                                          The ID of the product variation

                                                          Response
                                                          200

                                                          OK

                                                          Expand all
                                                          Copy code
                                                            • true
                                                            • { ... }

                                                            Delete an image of a product

                                                            Copy link

                                                            Deletes the image of a product.

                                                            Endpoint is in beta

                                                            Cost

                                                            6

                                                            Request
                                                            DELETE

                                                            /api/v2/products/{id}/images

                                                            Path parameters

                                                            id

                                                            integer

                                                            required

                                                            The ID of the product

                                                            Response
                                                            200

                                                            OK

                                                            Expand all
                                                            Copy code
                                                              • true
                                                              • { ... }

                                                              Subscribe to Pipedrive’s Developer Newsletter