How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Elastic Path Custom Fields API

A Custom Field represents a single field of data (for example a Product Rating). A Custom API is composed of one or more Custom Fields.Here is a comparison of different types and validation available in Custom APIs vs Non-Core Flows.| Feature | Non-Core Flows | Commerce Extensions ||-----------------------------------------------|----------------|--------------------------------------------|| Data Type: String | ✅ | ✅ || Data Type: Integer | ✅ | ✅ || Data Type: Float | ✅ | ✅ || Data Type: Boolean | ✅ | ✅ || Data Type: List | ⛔ | ✅ || Data Type: Any | ⛔ | ✅ || Data Type: Date & Time | ✅ | ✅ Replaced by Regex Validation (See Below) || Data Type: One To Many | ✅ | Planned || Validation: Regular Expression | ⛔️ | ✅ || Validation: Slug/Email | ✅ | ✅ Replaced by Regex Validation (See Below) || Validation: Min/Max Value | ✅ | ✅ || Validation: Enum(String) | ✅ | ✅ Replaced by Regex validation (See Below) || Validation: Enum(Float/Integer) | ✅ | ⛔️ || Validation: Allow null values | ⛔ | ✅ || Validation: Unique(String) | ⛔ | ✅ || Validation: Unique Case Insensitivity(String) | ⛔ | ✅ || Validation: Immutable | ⛔ | ✅ |## ValidationWhen [creating](/docs/api/commerce-extensions/create-a-custom-field#request) or [updating](/docs/api/commerce-extensions/update-a-custom-field#request) a Custom Field, `validation` can be used to limit the values that may be stored in the corresponding Custom API Entry.:::noteAll validation changes, such as those to `allow_null_values` and any type specific rules, apply to new entries only. Existing Custom API Entry records are unaffected until updated.:::### Integer Validation- `min_value`: Specifies the minimum whole number that can be stored. If set, it must be less than `max_value`.- `max_value`: Specifies the maximum whole number that can be stored. If set, it must be greater than `min_value`.sample integer validation object:```json{ "validation": { "integer": { "min_value": 0, "max_value": 32 } }}```Even if no validation is set, field_type `integer` only supports values between -2^53+1 and 2^53+1. This is because the JSON format doesn't guarantee that values outside this range are portable ([Source](https://datatracker.ietf.org/doc/html/rfc7159#section-6)).### Float Validation- `min_value`: Specifies the minimum number that can be stored. If set, it must be less than `max_value`.- `max_value`: Specifies the maximum number that can be stored. If set, it must be greater than `min_value`.sample float validation object:```json{ "validation": { "float": { "min_value": 0.01, "max_value": 32.01 } }}```The `float` field_type cannot accurately represent some numbers and so using very small or large numbers might lose precision. We recommend that API clients use either the `integer` field_type if applicable , or the `string` data type if perfect precision or recall is required.### String Validation- `min_length`: Specifies the minimum number of characters that can be stored. If set, it must be greater than 0 and less than `max_length`.- `max_length`: Specifies the maximum number of characters that can be stored. If set, it must be greater than 0 and `min_length`.- `regex`: An [RE2](https://github.com/google/re2/wiki/Syntax) regular expression used to restrict the specific characters that can be stored. It must be less than 1024 characters.- `unique`: Specifies whether the field must have unique constraint or not. It must be `yes` or `no`.- `unique_case_insensitivity`: Applies when `unique` is set to `yes`. It controls whether values with different cases (for example, `ABC` and `abc`) should conflict. It must be `true` or `false`. sample string validation object:```json{ "validation": { "string": { "min_length": 0, "max_length": 64, "regex": "^.+\\.(jpg|jpeg|png|gif|pdf)$", "unique": "yes" "unique_case_insensitivity": true } }}```Even if no validation is set, field_type `string` only supports values that are up to `65535` characters long.#### Date & Time Values With Regular ExpressionsWhile Commerce Extensions does not have a native date or time type, you can none-the-less use these values in Commerce Extensions, by using the `string` field type and `regex` validation. To ensure thatordering is handled properly you should follow the guidance in [RFC 3339 - Section 5.1 Ordering](https://www.rfc-editor.org/rfc/rfc3339.html#section-5.1), namely store the fields in order of least to most precise,and in the same timezone, this will ensure that comparison operators (e.g., `gt`) and sorting, work as expected, for example the following regex will force all values to be in seconds in UTC: `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$`One thing to keep in mind is that some libraries, especially when dealing with sub-seconds might only display them if they are non-zero, and you will want to ensure that they are fully padded to the same length.#### Enum Values with Regular ExpressionsYou can ensure that only some values are allowed using the regular expression `^(alpha|bravo|charlie)$`.#### Slug Values with Regular ExpressionsSlugs can be replaced with the regular expression `^[a-z][a-z0-9-]*$`, this will ensure that the field starts with a lower case letter, and then has lower case letters, numbers or hyphens. You can tweak this regular expression as needed to suit your needs.### Email Validation with Regular ExpressionsE-mails can be tricky to validate properly, especially because many services _accept_ e-mails that are not valid, and reject e-mail addresses that are technically valid. Additionally, your own capabilities and purposes might inform your decision (e.g., if you support [i18n addresses](https://datatracker.ietf.org/doc/html/rfc6530) or don't then the set of allowed e-mails changes).### List Validation- `min_length`: Specifies the minimum number of elements that must be in the list.- `max_length`: Specifies the maximum number of elements allowed in the list. The maximum supported value is 1000.- `allowed_type`: Specifies the primitive type that all elements in the list must be. Valid values are `string`, `integer`, `boolean`, `float`, or `any`. The default is `any`, which allows mixed types. This value cannot be changed after the field is created.sample list validation object:```json{ "validation": { "list": { "min_length": 1, "max_length": 100, "allowed_type": "string" } }}```### Any ValidationThe `any` field type allows storing arbitrary JSON values including objects, arrays, strings, numbers, booleans, and null. When updating an entry, the `any` field value is completely replaced, not merged. Filtering is not supported on `any` fields.sample any validation object:```json{ "validation": { "any": { "allow_null_values": true, "immutable": false } }}```### Null ValuesAll Custom Fields can be configured to restrict the storage of `null` values for that field on a Custom API Entry. By default, this is `true`.sample validation object :```json{ "validation": { "boolean": { "allow_null_values": false, "immutable": false } }}```### ImmutableWhen [creating](/docs/api/commerce-extensions/create-a-custom-field#request) a Custom Field, it can be configured to be `immutable`. When set to true, the value of this field can be specified only during POST requests and cannot be modified during PUT requests. By default, this is `false`.sample validation object :```json{ "validation": { "boolean": { "immutable": false } }}```## PresentationWhen [creating](/docs/api/commerce-extensions/create-a-custom-field#request) or [updating](/docs/api/commerce-extensions/update-a-custom-field#request) a Custom Field, `presentation` can be used to influence the layout and order of fields within Commerce Manager. It does not affect the order of keys within JSON, nor influence any behaviour outside of Commerce Manager.## Reserved SlugsThe following values cannot be used as a `slug` in a Custom Field.- slug- type- id- meta- created_at- updated_at- links- relationships- attributes- attribute- dimension- dimensions- weight- weights

Elastic Path Custom Fields API is one of 100 APIs that Elastic Path publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Custom Fields. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 5 operations across 2 paths, and defines 29 schemas. It is described by OpenAPI 3.2.0, at version 26.0608.7722088.

Requests are made against 2 base URLs: https://useast.api.elasticpath.com, https://euwest.api.elasticpath.com.

5 operations 2 paths 29 schemas 1 DELETE2 GET1 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
26.0608.7722088
Base URL
https://useast.api.elasticpath.com
Authentication
HTTP Bearer
License
Resource Areas
1

Authentication & Security 1

Elastic Path Custom Fields API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). By default, every request must be authenticated.

Paths & Operations 5

Across 2 paths, the API surfaces 5 operations — 1 DELETE, 2 GET, 1 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Custom Fields 5

A Custom Field represents a single field of data (for example a Product Rating). A Custom API is composed of one or more Custom Fields. Here is a comparison of different types and…

POST
/v2/settings/extensions/custom-apis/{custom-api-id}/fields
Create a Custom Field
CreateACustomField 1 param body → 201400404409500
GET
/v2/settings/extensions/custom-apis/{custom-api-id}/fields
List Custom Fields
ListCustomFields 5 params → 200400404500
GET
/v2/settings/extensions/custom-apis/{custom-api-id}/fields/{custom-field-id}
Get a Custom Field
GetACustomField 2 params → 200400404500
PUT
/v2/settings/extensions/custom-apis/{custom-api-id}/fields/{custom-field-id}
Update a Custom Field
UpdateACustomField 2 params body → 200400404409500
DELETE
/v2/settings/extensions/custom-apis/{custom-api-id}/fields/{custom-field-id}
Delete a Custom Field
DeleteACustomField 2 params → 204400404500

Schemas 29

The contract defines 29 schemas that model the data the API accepts and returns. The most detailed are BaseCustomField (10 properties), BaseCreateCustomField (7 properties), PaginationLinks (5 properties), BaseUpdateCustomField (5 properties). Each schema is shown below with its type and property counts.

BaseCustomField
object
10 properties
BaseUpdateCustomField
object
5 properties
IntegerUpdateCustomField
IntegerCustomField
LinkURI
stringnull
BooleanUpdateCustomField
PaginationLinks
object
5 properties
StringCustomField
IntegerCreateCustomField
StringCreateCustomField
PaginationMeta
object
2 properties
Errors
object
1 property 1 required
AnyUpdateCustomField
CustomField
AnyCreateCustomField
ListCreateCustomField
Meta
object
1 property
BooleanCustomField
BaseCreateCustomField
object
7 properties
ListUpdateCustomField
StringUpdateCustomField
Timestamps
object
2 properties
FloatUpdateCustomField
FloatCustomField
ListCustomField
The list field type allows storing an array of primitive values (strings, integers, booleans, floats, or null). The list can contain up to 1000 elements. Filte…
BooleanCreateCustomField
JSONSchemaValidation
objectnull
An optional JSON Schema used to validate entry values for this field.
2 properties
AnyCustomField
The any field type allows storing arbitrary JSON values including objects, arrays, strings, numbers, booleans, and null. This provides maximum flexibility for…
FloatCreateCustomField

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

elastic-path-custom-fields-api-openapi.yml Raw ↑

Other APIs Elastic Path publishes across the network.

Elastic Path GraphQL API
Elastic Path Account Addresses API
Elastic Path Account Authentication Settings API
Elastic Path Account Cart Associations API
Elastic Path Account Management Authentication API
Elastic Path Account Members API
Elastic Path Account Membership API
Elastic Path Account Membership Settings API
Elastic Path Account Tags API
Elastic Path Accounts API
Elastic Path Administrator Latest Releases Catalog API API
Elastic Path Application Keys API
Where this information came from

This is an independent, third-party profile of Elastic Path Custom Fields API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.