Vendasta Product Custom Fields API

The Product Custom Fields API from Vendasta — 1 operation(s) for product custom fields.

Operations 3

PATCH /productCustomFields/{id} Update Custom Fields for a product #
GET /productCustomFields/{id} Get Product Custom Fields by ID #
OPTIONS /productCustomFields/{id} List valid HTTP verbs for /productCustomFields/{id} #

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/vendasta-product-custom-fields-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

vendasta-product-custom-fields-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Platform REST Product Custom Fields API
  version: Evergreen
servers:
- url: https://prod.apigateway.co/platform
  description: Production
- description: Demo
  url: https://demo.apigateway.co/platform
- description: Local
  url: '{local}/platform'
- url: http://localhost:11001/platform
  description: Localhost
tags:
- name: Product Custom Fields
paths:
  /productCustomFields/{id}:
    parameters:
    - schema:
        type: string
      name: id
      in: path
      required: true
      example: ABC-MP-1234567890ABCDEFGHIJKLMNOPQRSTUV
      description: The ID of the Custom Fields, which is a Product ID
    patch:
      summary: Update Custom Fields for a product
      operationId: patch-productCustomFields-by-id
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  $ref: '#/components/schemas/productCustomFields'
              required:
              - data
            examples:
              Example with String, Date and Integer:
                value:
                  data:
                    id: ABC-MP-1234567890ABCDEFGHIJKLMNOPQRSTUV
                    type: productCustomFields
                    attributes:
                      partnerFields:
                      - fieldId: FieldID-123448ca-abc0-abc5-abc2-abc640bf4b99
                        integerValue: 1000
                      - fieldId: FieldID-987448ca-abc0-abc5-abc2-abc640bf4b99
                        dateValue: A good date value
                      - fieldId: FieldID-abc448ca-abc0-abc5-abc2-abc640bf4b99
                        stringValue: A good string value
              Example some fields using externalId instead of fieldId:
                value:
                  data:
                    id: ABC-MP-1234567890ABCDEFGHIJKLMNOPQRSTUV
                    type: productCustomFields
                    attributes:
                      partnerFields:
                      - externalId: days-active
                        integerValue: 1000
                      - fieldId: FieldID-987448ca-abc0-abc5-abc2-abc640bf4b99
                        dateValue: A good date value
                      - externalId: custom-nickname
                        stringValue: A good string value
      responses:
        '200':
          description: OK
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/productCustomFields'
              examples:
                Return Example:
                  value:
                    data:
                      id: ABC-MP-1234567890ABCDEFGHIJKLMNOPQRSTUV
                      type: productCustomFields
                      attributes:
                        partnerFields:
                        - fieldId: FieldID-123448ca-abc0-abc5-abc2-abc640bf4b99
                          integerValue: 1000
                          title: Title of 123448ca field
                          description: Description for 123448ca field
                          fieldType: integer
                        - fieldId: FieldID-987448ca-abc0-abc5-abc2-abc640bf4b99
                          dateValue: A good date value
                          title: Title of 987448ca field
                          description: Description for 987448ca field
                          fieldType: date
                        - fieldId: FieldID-abc448ca-abc0-abc5-abc2-abc640bf4b99
                          stringValue: A good string value
                          title: Title of abc448ca field
                          description: Description for abc448ca field
                          fieldType: string
      x-lifecycle:
        status: trustedTester
      description: 'Status: `Trusted Tester`


        Custom Fields are an additional information attached to a Product'
      parameters:
      - schema:
          type: string
          example: Bearer <Access Token>
          pattern: ^Bearer\s\S+
        in: header
        name: Authorization
        description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details.
        required: true
      - schema:
          type: string
          default: application/vnd.api+json
          enum:
          - application/vnd.api+json
        in: header
        name: Content-Type
        required: true
        description: Indicates the format of the request body being sent. In most cases you will want `application/vnd.api+json`
      security:
      - OAuth2Demo:
        - product
      - OAuth2Prod:
        - product
      tags:
      - Product Custom Fields
    get:
      summary: Get Product Custom Fields by ID
      responses:
        '200':
          description: OK
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/productCustomFields'
                  links:
                    type: object
                    properties:
                      self:
                        type: string
                        format: uri
                      first:
                        type: string
                        description: Provides a link back to the first page of results
                        format: uri
                      next:
                        type: string
                        description: The URI at which the next batch of fields can be gotten from
                        format: uri
              examples:
                Return Example:
                  value:
                    data:
                      id: ABC-MP-1234567890ABCDEFGHIJKLMNOPQRSTUV
                      type: productCustomFields
                      attributes:
                        partnerFields:
                        - fieldId: FieldID-123448ca-abc0-abc5-abc2-abc640bf4b99
                          integerValue: 1000
                          title: Title of 123448ca field
                          description: Description for 123448ca field
                          fieldType: integer
                        - fieldId: FieldID-987448ca-abc0-abc5-abc2-abc640bf4b99
                          dateValue: A good date value
                          title: Title of 987448ca field
                          description: Description for 987448ca field
                          fieldType: date
                        - fieldId: FieldID-abc448ca-abc0-abc5-abc2-abc640bf4b99
                          stringValue: A good string value
                          title: Title of abc448ca field
                          description: Description for abc448ca field
                          fieldType: string
      operationId: get-productCustomFields-by-id
      description: 'Status: `Trusted Tester`


        Returns custom fields for a product.


        Attributes can be set up at the partner administration page in Partner Center.'
      security:
      - OAuth2Demo:
        - product
      - OAuth2Prod:
        - product
      x-lifecycle:
        status: trustedTester
      tags:
      - Product Custom Fields
      parameters:
      - schema:
          type: string
          example: Bearer <Access Token>
          pattern: ^Bearer\s\S+
        in: header
        name: Authorization
        description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details.
    options:
      summary: List valid HTTP verbs for /productCustomFields/{id}
      operationId: options-productCustomFields-by-id
      responses:
        '204':
          description: No Content
      description: Used solely for CORS the OPTIONS request returns the list of possible HTTP methods and other headers that browsers use to protect user's security. You should not call this operation directly.
      tags:
      - Product Custom Fields
components:
  schemas:
    productCustomFields:
      title: Product Custom Fields
      type: object
      x-lifecycle:
        status: trustedTester
      description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester`


        Custom fields associated with a product. These attributes can be managed at Partner Center -> Administration -> Data attributes.


        One form of identifier should be chosen, either `fieldId` or `externalId`.

        `fieldId` is the computer generated ID (like `FieldID-abc448ca-abc0-abc5-abc2-abc640bf4b99`) and `externalId` is a optional human-readable ID that can be set in the administration panel.


        Dropdown possible values and the currency code are also configured in the Administration panel.'
      x-tags:
      - Product Custom Fields
      properties:
        id:
          type: string
          description: An identifier for the parent entity, for example product (ABC-MP-1234567890ABCDEFGHIJKLMNOPQRSTUV)
          readOnly: true
        type:
          type: string
          default: productCustomFields
          enum:
          - productCustomFields
          description: Should always be productCustomFields
        partnerFields:
          type: array
          description: 'List of custom fields specific to the partner with a direct relationship to the product.

            To send a new value each field must have at least the fieldId and its correspondent value.

            For example a field of type string must have the stringValue attribute filled.


            string -> stringValue


            integer -> integerValue


            date -> dateValue


            Only the fields that you wish to modify need to be sent.'
          items:
            type: object
            properties:
              fieldId:
                type: string
                description: Field identifier, can be retrieved by listing the attributes
              externalId:
                type: string
                description: Alternative field identifier, can be set on admin panel and can be retrieved by listing the attributes
              fieldType:
                type: string
                example: string
                enum:
                - string
                - integer
                - date
                - dropdown
                - currency
                description: 'Indicates which of the value fields to use to read or write the data. It can only be modified from within partner center.


                  string -> stringValue

                  integer -> integerValue

                  date -> dateValue

                  dropdown -> dropdownValue

                  currency -> currencyValue'
                readOnly: true
              stringValue:
                type: string
                description: Required when the field type is `string`
              integerValue:
                type: integer
                description: Required when the field type is `integer`
              dateValue:
                type: string
                description: Required when the field type is `date`
                format: date
              dropdownValue:
                type: string
                description: Required when type is `dropdown`. The possible values can be discovered using the administration panel.
              currencyValue:
                type: integer
                description: 'Required when the field type is `currency`.


                  This field represents the cents (or the smallest part of the currency).


                  Example:

                  USD 600.00 -> currencyValue=60000'
              currencyCode:
                type: string
                minLength: 3
                maxLength: 3
                description: 'Represents the type of currency when the field is type `currency`. It will be the 3 letter currency code as defined by [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)


                  Ex: USD, CAD, AUD'
                example: USD
                readOnly: true
              title:
                type: string
                description: The main label for the field, appearing in most user interfaces that show the value. This field is not read when setting a value.
                readOnly: true
              description:
                type: string
                description: A longer text explanation of the field, it optionally appears in the UI. This field is not read when setting a value.
                readOnly: true
      required:
      - id
      - type
  securitySchemes:
    JWT:
      type: http
      scheme: bearer
      bearerFormat: JWT
    OAuth2Demo:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://sso-api-demo.apigateway.co/oauth2/auth
          tokenUrl: https://sso-api-demo.apigateway.co/oauth2/token
          scopes:
            sales.contact: Read-write access to sales contact details
            business:read: Read only access to business details
            business: Read-write access to business details
            partner:read: Read-write access to details about your partner
            financial: Read-write access to financial details
            order: Read-write access to order details
            order:read: Read only access to order details
            user.profile:read: Read access to the profile fields of all categories of users
            user.contact:read: Read access to the contact info (email, phone, address) of all categories of users
            user.permission:read: Read access to the permission info (accessible locations, features and roles) of all categories of users
            user.permission: Read-write access to the permission info (accessible locations, features and roles) of all categories of users
            user.admin: Read-write access to manage all users
            user.list: '''Allows searching for users based on a set of filters. (ex: email, name, category, organization). Without this scope an exact user id is required.'
            self.user.admin: Allows editing the profile, contact info and profile image for the current user.
            self.user.contact:read: Read access to the contact info (email, phone, address) of the current user.
            openid: Allows getting the user id of the current user
            profile: Readonly access to the user profile, including name, locale, and language preferences.
            email: Allows readonly access to the email of the current user.
            phone: Allows readonly access to the phone numbers of the current user.
            address: Allows readonly access to the address of the current user.
            sales.account: Allows read-write access to account records
            sales.proposals: Allows read-write access to proposals
            product: Read access to the product details
            automation:read: Read only access to automations
          refreshUrl: ''
    OAuth2Prod:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://sso-api-prod.apigateway.co/oauth2/auth
          tokenUrl: https://sso-api-prod.apigateway.co/oauth2/token
          scopes:
            sales.contact: Read-write access to sales contact details
            business:read: Read only access to business details
            business: Read-write access to business details
            partner:read: Read-write access to details about your partner
            financial: Read-write access to financial details
            order:read: Read only access to order details
            order: Read-write access to order details
            user.profile:read: Read access to the profile fields of all categories of users
            user.contact:read: Read access to the contact info (email, phone, address) of all categories of users
            user.permission:read: Read access to the permission info (accessible locations, features and roles) of all categories of users
            user.permission: Read-write access to the permission info (accessible locations, features and roles) of all categories of users
            user.admin: Read-write access to manage all users
            user.list: '''Allows searching for users based on a set of filters. (ex: email, name, category, organization). Without this scope an exact user id is required.'
            self.user.admin: Allows editing the profile, contact info and profile image for the current user.
            self.user.contact:read: Read access to the contact info (email, phone, address) of the current user.
            openid: Allows getting the user id of the current user
            profile: Readonly access to the user profile, including name, locale, and language preferences.
            email: Allows readonly access to the email of the current user.
            phone: Allows readonly access to the phone numbers of the current user.
            address: Allows readonly access to the address of the current user.
            sales.account: Allows read-write access to account records
            sales.proposals: Allows read-write access to proposals
            product: Read access to the product details
            automation:read: Read only access to automations
          refreshUrl: ''