BigCommerce Custom Fields API

The Custom Fields API from BigCommerce — 2 operation(s) for custom fields.

Documentation

📖
Documentation
https://developer.bigcommerce.com/
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/abandoned-carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/brands
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/categories
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/category-trees
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-modifiers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-variant-options
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-variants
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/products
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/channels
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/checkouts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/store-content
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/currencies
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/customers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/email-templates
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/geography
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/orders
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/pages
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/tokens
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/methods-deprecated
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/processing
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/settings
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/shipping-v2
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/channels/site
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/store-information
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/checkouts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/customers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/orders
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/subscriptions
📖
APIReference
https://developer.bigcommerce.com/docs/integrations/webhooks
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/widgets

Specifications

Other Resources

OpenAPI Specification

bigcommerce-custom-fields-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: BigCommerce Abandoned Cart Emails Custom Fields API
  version: 3.0.0
  termsOfService: https://www.bigcommerce.com/terms
  description: Abandoned Cart Emails V3 API managing Handlebars-based emails.
  contact:
    name: BigCommerce
    url: https://www.bigcommerce.com
    email: support@bigcommerce.com
servers:
- url: https://api.bigcommerce.com/stores/{store_hash}/v3
  variables:
    store_hash:
      default: store_hash
      description: Permanent ID of the BigCommerce store.
  description: BigCommerce API Gateway
security:
- X-Auth-Token: []
tags:
- name: Custom Fields
paths:
  /catalog/products/{product_id}/custom-fields:
    parameters:
    - $ref: '#/components/parameters/ProductIdParam'
    get:
      tags:
      - Custom Fields
      summary: BigCommerce Get Product Custom Fields
      description: 'Returns a list of product *Custom Fields*. You can pass in optional parameters.


        **Note:**

        The default rate limit for this endpoint is 40 concurrent requests.'
      operationId: getProductCustomFields
      parameters:
      - name: include_fields
        in: query
        description: Fields to include in a comma-separated list; returned fields are the ID and specified fields.
        schema:
          type: string
      - name: exclude_fields
        in: query
        description: Fields to exclude in a comma-separated list; responses do not include specified fields, and you can not exclude the ID.
        schema:
          type: string
      - name: page
        in: query
        description: Specifies the page number in a limited (paginated) list of products.
        schema:
          type: integer
      - name: limit
        in: query
        description: Controls the number of items per page in a limited (paginated) list of products.
        schema:
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/CustomFieldsResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/GeneralErrorWithErrors'
        '404':
          $ref: '#/components/responses/GeneralError'
        '405':
          $ref: '#/components/responses/MethodNotAllowedError'
    post:
      tags:
      - Custom Fields
      summary: BigCommerce Create a Product Custom Field
      description: 'Creates a *Custom Field*.


        **Required Fields:**

        - name

        - value


        **Name-Value Pair Uniqueness**

        - Every name-value pair must be unique inside a product.


        **Read-Only:**

        - id


        **Limits**

        - 200 custom fields per product limit.

        - 250 characters per custom field limit.


        **Note:**

        The default rate limit for this endpoint is 40 concurrent requests.'
      operationId: createProductCustomField
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/customFieldPost'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/CustomFieldResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/GeneralErrorWithErrors'
        '404':
          $ref: '#/components/responses/GeneralError'
        '405':
          $ref: '#/components/responses/MethodNotAllowedError'
        '415':
          $ref: '#/components/responses/UnsupportedMediaTypeError'
        '422':
          $ref: '#/components/responses/GeneralError'
  /catalog/products/{product_id}/custom-fields/{custom_field_id}:
    parameters:
    - $ref: '#/components/parameters/ProductIdParam'
    - $ref: '#/components/parameters/CustomFieldIdParam'
    get:
      tags:
      - Custom Fields
      summary: BigCommerce Get a Product Custom Field
      description: 'Returns a *Custom Field*.


        **Note:**

        The default rate limit for this endpoint is 40 concurrent requests.

        '
      operationId: getProductCustomField
      parameters:
      - name: include_fields
        in: query
        description: Fields to include in a comma-separated list; returned fields are the ID and specified fields.
        schema:
          type: string
      - name: exclude_fields
        in: query
        description: Fields to exclude in a comma-separated list; responses do not include specified fields, and you can not exclude the ID.
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/CustomFieldResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/GeneralErrorWithErrors'
        '404':
          $ref: '#/components/responses/GeneralError'
        '405':
          $ref: '#/components/responses/MethodNotAllowedError'
    put:
      tags:
      - Custom Fields
      summary: BigCommerce Update a Product Custom Field
      description: "Updates a *Custom Field*.\n\n**Required Fields**\n- none\n\n**Name-Value Pair Uniqueness**\n- Every name-value pair must be unique inside a product.\n\n**Read-Only**\n- id\n\n **Limits**\n- 200 custom fields per product limit.\n- 250 characters per custom field limit.\n- 40 concurrent requests default rate limit."
      operationId: updateProductCustomField
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/customFieldPut'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/CustomFieldResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/GeneralErrorWithErrors'
        '404':
          $ref: '#/components/responses/GeneralError'
        '405':
          $ref: '#/components/responses/MethodNotAllowedError'
        '415':
          $ref: '#/components/responses/UnsupportedMediaTypeError'
        '422':
          $ref: '#/components/responses/GeneralError'
    delete:
      tags:
      - Custom Fields
      summary: BigCommerce Delete a Product Custom Field
      description: 'Deletes a product *Custom Field*.


        **Note:**

        The default rate limit for this endpoint is 40 concurrent requests.'
      operationId: deleteProductCustomField
      responses:
        '204':
          description: 204 No Content
          content: {}
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/GeneralErrorWithErrors'
        '404':
          $ref: '#/components/responses/GeneralError'
        '405':
          $ref: '#/components/responses/MethodNotAllowedError'
components:
  responses:
    CustomFieldResponse:
      description: Gets Custom field.
      content:
        application/json:
          schema:
            properties:
              data:
                $ref: '#/components/schemas/customFieldData'
              meta:
                $ref: '#/components/schemas/metaEmptyFull'
    CustomFieldsResponse:
      description: Gets array of Custom fields.
      content:
        application/json:
          schema:
            properties:
              data:
                type: array
                items:
                  $ref: '#/components/schemas/customFieldData'
              meta:
                $ref: '#/components/schemas/metaCollectionFull'
    GeneralErrorWithErrors:
      description: General Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GeneralErrorWithErrors'
    GeneralError:
      description: General Error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GeneralError'
    UnauthorizedError:
      description: 401 Unauthorized
      content:
        plain/text:
          schema:
            type: string
    MethodNotAllowedError:
      description: 405 Method Not Allowed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MethodNotAllowedError'
    UnsupportedMediaTypeError:
      description: 415 Unsupported Media Type
      content:
        text/html:
          schema:
            type: string
  schemas:
    GeneralErrorWithErrors:
      required:
      - status
      - title
      - type
      - errors
      title: Error Response
      type: object
      properties:
        status:
          type: integer
          description: The HTTP status code.
        title:
          type: string
          description: The error title describes the particular error.
        type:
          type: string
        errors:
          title: Detailed Errors
          type: object
          properties: {}
          additionalProperties: true
    GeneralError:
      required:
      - status
      - title
      - type
      title: Error Response
      type: object
      properties:
        status:
          type: integer
          description: The HTTP status code.
        title:
          type: string
          description: The error title describes the particular error.
        type:
          type: string
        code:
          type: integer
          description: The custom code of the error.
    MethodNotAllowedError:
      required:
      - status
      - title
      - type
      - detail
      title: Error Response
      type: object
      properties:
        status:
          type: integer
          description: The HTTP status code.
          example: 405
        title:
          type: string
          description: The error title describes the particular error.
        type:
          type: string
        detail:
          title: Detailed Errors
          type: string
          description: The detailed title describes the particular error.
    metaCollectionFull:
      title: metaCollectionFull
      type: object
      properties:
        pagination:
          type: object
          properties:
            total:
              type: integer
              description: 'Total number of items in the result set.

                '
              example: 36
            count:
              type: integer
              description: 'Total number of items in the collection response.

                '
              example: 36
            per_page:
              type: integer
              description: 'The amount of items returned in the collection per page, controlled by the limit parameter.

                '
              example: 50
            current_page:
              type: integer
              description: 'The page you are currently on within the collection.

                '
              example: 2
            total_pages:
              type: integer
              description: 'The total number of pages in the collection.

                '
              example: 3
            links:
              type: object
              properties:
                previous:
                  type: string
                  description: 'Link to the previous page returned in the response.

                    '
                  example: ?page=1&limit=50
                current:
                  type: string
                  description: 'Link to the current page returned in the response.

                    '
                  example: ?page=2&limit=50
                next:
                  type: string
                  description: 'Link to the next page returned in the response.

                    '
                  example: ?page=3&limit=50
              description: 'Pagination links for the previous and next parts of the whole collection.

                '
          description: Data about the response, including pagination and collection totals.
      description: Data about the response, including pagination and collection totals.
    customFieldPut:
      title: Custom Field Put
      type: object
      properties:
        name:
          maxLength: 250
          minLength: 1
          type: string
          description: 'The value of the field, shown on the storefront, orders, etc. This field is a requirement for /POST requests.

            '
          example: ISBN
        value:
          maxLength: 250
          minLength: 1
          type: string
          description: 'The value of the field, shown on the storefront, orders, etc. This field is a requirement for /POST requests.

            '
          example: '1234567890123'
      description: Payload for PUT request to update custom fields associated with a product.
    customFieldData:
      title: Product Custom Field Data
      type: object
      properties:
        id:
          minimum: 1
          type: integer
          description: The unique numeric ID of the custom field increments sequentially. Read-Only.
          example: 6
        name:
          maxLength: 250
          minLength: 1
          type: string
          description: 'The name of the field, shown on the storefront, orders, etc. This field is a requirement for /POST requests.

            '
          example: ISBN
        value:
          maxLength: 250
          minLength: 1
          type: string
          description: 'The value of the field, shown on the storefront, orders, etc. This field is a requirement for /POST requests.

            '
          example: '1234567890123'
      description: Gets custom fields associated with a product. These allow you to specify additional information that will appear on the product’s page, such as a book’s ISBN or a DVD’s release date.
    metaEmptyFull:
      type: object
      title: Response meta
      properties: {}
      additionalProperties: true
      description: Response metadata.
    customFieldPost:
      title: Custom Field Post
      required:
      - name
      - value
      type: object
      properties:
        name:
          maxLength: 250
          minLength: 1
          type: string
          description: 'The name of the field, shown on the storefront, orders, etc. This field is a requirement for /POST requests.

            '
          example: ISBN
        value:
          maxLength: 250
          minLength: 1
          type: string
          description: 'The value of the field, shown on the storefront, orders, etc. This field is a requirement for /POST requests.

            '
          example: '1234567890123'
      description: Payload for POST request to create custom fields associated with a product.
  parameters:
    CustomFieldIdParam:
      name: custom_field_id
      description: 'The ID of the `CustomField`.

        '
      required: true
      in: path
      schema:
        type: integer
    ProductIdParam:
      name: product_id
      in: path
      description: 'The ID of the `Product` to which the resource belongs.

        '
      required: true
      schema:
        type: integer
  securitySchemes:
    X-Auth-Token:
      name: X-Auth-Token
      description: '### OAuth scopes


        | UI Name | Permission | Parameter |

        |:--|:--|:-|

        | Information & Settings  | read-only  | `store_v2_information_read_only`|

        | Information & Settings  | modify     | `store_v2_information`          |


        ### Authentication header


        | Header | Argument | Description |

        |:-|:|:|

        | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). |


        ### Further reading


        For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests).


        For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes).


        For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes).'
      type: apiKey
      in: header