ProductFields

Product fields represent the near-complete schema for a product in the context of the company of the authorized user. Each company can have a different schema for their products, with various custom fields. In the context of using product fields as a schema for defining the data fields of a product, it must be kept in mind that some types of custom fields can have additional data fields which are not separate product fields per se. Such is the case with monetary, daterange and timerange fields – each of these fields will have one additional data field in addition to the one presented in the context of product fields. For example, if there is a monetary field with the key ffk9s9 stored on the account, ffk9s9 would hold the numeric value of the field, and ffk9s9_currency would hold the ISO currency code that goes along with the numeric value. To find out which data fields are available, fetch one product and list its keys.

Get all product fields

Copy link

Returns data about all product fields.

API v1
Request
GET

/v1/productFields

Query parameters

start

integer

Pagination start

Default

0

limit

integer

Items shown per page

Response
200

OK

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

      Get one product field

      Copy link

      Returns data about a specific product field.

      API v1
      Request
      GET

      /v1/productFields/{id}

      Path parameters

      id

      integer

      required

      The ID of the product field

      Response
      200

      OK

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

        Add a new product field

        Copy link

        Adds a new product field. For more information, see the tutorial for adding a new custom field.

        API v1
        Request
        POST

        /v1/productFields

        Body parameters

        application/json

        name

        string

        required

        The name of the field

        options

        array

        When field_type is either set or enum, possible options must be supplied as a JSON-encoded sequential array, for example:
        [{"label":"red"}, {"label":"blue"}, {"label":"lilac"}]

        field_type

        string

        required

        The type of the field

        ValueDescription
        varcharText (up to 255 characters)
        varchar_autoAutocomplete text (up to 255 characters)
        textLong text (up to 65k characters)
        doubleNumeric value
        monetaryMonetary field (has a numeric value and a currency value)
        dateDate (format YYYY-MM-DD)
        setOptions field with a possibility of having multiple chosen options
        enumOptions field with a single possible chosen option
        userUser field (contains a user ID of another Pipedrive user)
        orgOrganization field (contains an organization ID which is stored on the same account)
        peoplePerson field (contains a product ID which is stored on the same account)
        phonePhone field (up to 255 numbers and/or characters)
        timeTime field (format HH:MM:SS)
        timerangeTime-range field (has a start time and end time value, both HH:MM:SS)
        daterangeDate-range field (has a start date and end date value, both YYYY-MM-DD)
        addressAddress field

        Values

        varchar

        varchar_auto

        text

        double

        monetary

        date

        set

        enum

        user

        org

        people

        phone

        time

        timerange

        daterange

        address

        Response
        201

        Created

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

          Update a product field

          Copy link

          Updates a product field. For more information, see the tutorial for updating custom fields' values.

          API v1
          Request
          PUT

          /v1/productFields/{id}

          Path parameters

          id

          integer

          required

          The ID of the product field

          Body parameters

          application/json

          name

          string

          The name of the field

          options

          array

          When field_type is either set or enum, possible options on update must be supplied as an array of objects each containing id and label, for example: [{"id":1, "label":"red"},{"id":2, "label":"blue"},{"id":3, "label":"lilac"}]

          Response
          200

          OK

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

            Delete multiple product fields in bulk

            Copy link

            Marks multiple fields as deleted.

            API v1
            Request
            DELETE

            /v1/productFields

            Query parameters

            ids

            string

            required

            The comma-separated field IDs to delete

            Response
            200

            OK

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

              Delete a product field

              Copy link

              Marks a product field as deleted. For more information, see the tutorial for deleting a custom field.

              API v1
              Request
              DELETE

              /v1/productFields/{id}

              Path parameters

              id

              integer

              required

              The ID of the product field

              Response
              200

              OK

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

                Subscribe to Pipedrive’s Developer Newsletter