Elastic Path Entries API

### Entries in Commerce Entries hold the pieces of data collected within the fields. If your flow has more than one field related to it, you see multiple field slugs. ### Entries in Product Experience Manager Entries hold the pieces of data collected within the attributes. If your template has more than one attribute related to it, you see multiple attribute slugs.

Operations 5

GET /v2/flows/{flowSlug}/entries Get all Entries #
POST /v2/flows/{flowSlug}/entries Create an Entry #
GET /v2/flows/{flowSlug}/entries/{flowEntryID} Get an Entry #
DELETE /v2/flows/{flowSlug}/entries/{flowEntryID} Delete an Entry #
PUT /v2/flows/{flowSlug}/entries/{flowEntryID} Update an Entry #

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/elastic-path-entries-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

elastic-path-entries-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Flows Service Introduction Entries API
  version: 25.1201.6902711
  x-version-timestamp: 2025-12-01 12:04:04+00:00
  description: "\nWith flows you can extend the capabilities of Commerce and Product Experience Manager at both organization and store level, and apply Composable Commerce to almost any use case.\n \n### Flows in Commerce\n \nYou can define custom data fields for the resources that you use in your store or organization, such as adding more fields to the `customer` resource. \n \n You can also create new resources, such as a `wishlist` resource to support wishlists in your store. \n \n:::note\n \n [Custom APIs](/docs/api/commerce-extensions/custom-ap-is#custom-apis-vs-non-core-flows) are the next generation of Non-Core Flows. Flows are not going anywhere, but Custom APIs offer enhanced capabilities. We recommend using Custom APIs for any of your new use cases.\n \n:::\n\n:::caution\n \n- In an organization, not all resources are available. See [**Extend a resource**](https://elasticpath.dev/guides/Custom%20Data/extend-any-resource) for a list of organization resources that can be extended.\n- If you store any sensitive Personal Identifiable Information (PII) or non-public data on your site, ensure that you do not use this data in flows to avoid potential unauthorized access to the data. For more information, see [**Permissions**](/docs/authentication/tokens/permissions).\n \n:::\n \n### Templates in Product Experience Manager\n \n Templates allow you to attach a specific set of attributes to your products.\n \n - You can use templates to define characteristics of your product, for example, a product specification. For example, a *Book* template might contain attributes, such as *ISBN*, *Author*, *Number of pages*, *Year Published*, or *Condition (New/Used)*.\n - You can use templates for Search Engine Optimization (SEO). When you assign template attributes such as, *care instructions* or *fabric*, to a shirt and a shopper searches for a specific item, attributes help stores to return the products that match the search criteria. For example, when a shopper searches for a large blue shirt, all shirts that are large and blue are returned in the search result.\n"
servers:
- url: https://euwest.api.elasticpath.com
  description: EU West Production Server
- url: https://useast.api.elasticpath.com
  description: US East Production Server
security:
- bearerAuth: []
tags:
- name: Entries
  description: '### Entries in Commerce


    Entries hold the pieces of data collected within the fields. If your flow has more than one field related to it, you see multiple field slugs.


    ### Entries in Product Experience Manager


    Entries hold the pieces of data collected within the attributes. If your template has more than one attribute related to it, you see multiple attribute slugs.

    '
paths:
  /v2/flows/{flowSlug}/entries:
    get:
      tags:
      - Entries
      summary: Get all Entries
      description: '- For Commerce, this endpoint retrieves all entries for a flow.

        - For Product Experience Manager, this endpoint retrieves all entries for a template.

        '
      operationId: getAllEntries
      parameters:
      - name: flowSlug
        in: path
        required: true
        description: The slug for the flow/template you want to create an entry for.
        style: simple
        schema:
          type: string
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-offset'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Entry'
              examples:
                default:
                  value:
                    data:
                    - id: ce1f0b19-23c3-487b-aa2a-552b77abdf0c
                      type: entry
                      brand-image: https://files-eu.epusercontent.com/e8c53cb0-120d-4ea5-8941-ce74dec06038/61118f21-14a2-466c-a84b-c30b1f900cf9.png
                      meta:
                        owner: organization
                        timestamps:
                          created_at: '2018-06-05T20:58:25.596Z'
                          updated_at: '2018-06-05T20:58:25.596Z'
                      links:
                        self: https://useast.api.elasticpath.com/v2/flows/brands/entries/ce1f0b19-23c3-487b-aa2a-552b77abdf0c
                    - id: a5fcf6bc-233f-44d7-a3b0-0961eed3df9d
                      type: entry
                      brand-image: some image for brand x
                      meta:
                        owner: organization
                        timestamps:
                          created_at: '2018-06-06T14:48:59.006Z'
                          updated_at: '2018-06-06T14:48:59.006Z'
                      links:
                        self: https://useast.api.elasticpath.com/v2/flows/brands/entries/a5fcf6bc-233f-44d7-a3b0-0961eed3df9d
        '400':
          $ref: '#/components/responses/ValidationError'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/ValidationError'
        '500':
          $ref: '#/components/responses/InternalServerError'
    post:
      tags:
      - Entries
      summary: Create an Entry
      description: '- For Commerce, this endpoint creates an entry for a flow.

        - For Product Experience Manager, this endpoint creates an entry for a template.

        '
      operationId: createAnEntry
      parameters:
      - name: flowSlug
        in: path
        required: true
        description: The slug for the flow/template you want to create an entry for.
        style: simple
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/FlowsEntriesRequest'
              contentMediaType: application/json
            examples:
              default:
                value:
                  data:
                    FIELD_SLUG: a value
                    type: entry
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Entry'
              examples:
                default:
                  value:
                    data:
                      id: 10fe2aca-09fb-42fe-a1d4-081134320641
                      type: entry
                      meta:
                        owner: organization
                        timestamps:
                          created_at: '2021-10-26T17:10:56.329Z'
                          updated_at: '2021-10-26T17:10:56.329Z'
                      links:
                        self: https://epcc-integration.global.ssl.fastly.net/v2/flows/products/entries/10fe2aca-09fb-42fe-a1d4-081134320641
        '400':
          $ref: '#/components/responses/ValidationError'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/ValidationError'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /v2/flows/{flowSlug}/entries/{flowEntryID}:
    get:
      tags:
      - Entries
      summary: Get an Entry
      description: '- For Commerce, this endpoint retrieves an entry from a flow.

        - For Product Experience Manager, this endpoint retrieves an entry from a template.

        '
      operationId: getAnEntry
      parameters:
      - name: flowSlug
        in: path
        required: true
        description: The slug for the flow/template.
        style: simple
        schema:
          type: string
      - name: flowEntryID
        in: path
        required: true
        description: The ID of the entry.
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Entry'
              examples:
                default:
                  value:
                    data:
                      id: 4abb8316-d0a2-4c91-bf29-4d19ba932227
                      type: entry
                      meta:
                        owner: organization
                        timestamps:
                          created_at: '2018-05-10T15:28:59.192Z'
                          updated_at: '2018-05-10T15:28:59.192Z'
                      links:
                        self: https://useast.api.elasticpath.com/v2/flows/products/entries/4abb8316-d0a2-4c91-bf29-4d19ba932227
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    delete:
      tags:
      - Entries
      summary: Delete an Entry
      description: '- For Commerce, this endpoint deletes an entry from a flow.

        - For Product Experience Manager, this endpoint deletes an entry from a template.

        '
      operationId: deleteAnEntry
      parameters:
      - name: flowSlug
        in: path
        required: true
        description: The slug for the flow/template.
        style: simple
        schema:
          type: string
      - name: flowEntryID
        in: path
        required: true
        description: The ID of the entry.
        style: simple
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    put:
      tags:
      - Entries
      summary: Update an Entry
      description: '- For Commerce, this endpoint updates an entry for a flow.

        - For Product Experience Manager, this endpoint updates an entry for a template.

        '
      operationId: updateAnEntry
      parameters:
      - name: flowSlug
        in: path
        required: true
        description: The slug for the flow/template.
        style: simple
        schema:
          type: string
      - name: flowEntryID
        in: path
        required: true
        description: The ID of the entry.
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/FlowsEntriesUpdateRequest'
              contentMediaType: application/json
            examples:
              default:
                value:
                  data:
                    FIELD1_SLUG: value1
                    FIELD2_SLUG: value2
                    id: '{{entryID}}'
                    type: entry
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Entry'
              examples:
                default:
                  value:
                    data:
                      id: 03224af8-da41-4761-99fb-a125fa81ed99
                      type: entry
                      brand-image: a new image
                      meta:
                        owner: organization
                        timestamps:
                          created_at: '2018-06-06T14:42:39.312Z'
                          updated_at: '2018-06-06T14:42:39.312Z'
                      links:
                        self: https://useast.api.elasticpath.com/v2/flows/brands/entries/03224af8-da41-4761-99fb-a125fa81ed99
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/ValidationError'
        '500':
          $ref: '#/components/responses/InternalServerError'
      deprecated: false
components:
  schemas:
    Meta:
      type: object
      properties:
        owner:
          type: string
          description: The resource owner, either `organization` or `store`.
          example: enum
          enum:
          - store
          - organization
        timestamps:
          type: object
          properties:
            created_at:
              type: string
              description: The date and time a resource is created.
              example: '2023-10-11T13:02:25.293Z'
            updated_at:
              type: string
              description: The date and time a resource is updated.
              example: '2023-10-11T13:02:25.293Z'
    ErrorResponse:
      required:
      - errors
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    FlowsEntriesRequest:
      title: FlowsEntriesRequest
      type: object
      properties:
        data:
          type: object
          description: Specifies the type of the resource object.
          properties:
            FIELD_SLUG:
              type: string
              description: Where **FIELD_SLUG** is the slug for each field/attribute on this flow/template along with the corresponding value. You must provide a field slug and a value for the entry. You can have multiple field slugs if they are related to the flow/template.
              examples:
              - a value
            type:
              type: string
              description: Represents the type of object being returned.
              examples:
              - entry
    FlowsLinks:
      type: object
      description: "Links allow you to move between requests. Single entities use a `self` parameter with a link to that specific resource. Listing pages use the following:\n \n | Property | Description |\n | --- | --- |\n | `current` | Always the current page |\n | `first` | Always the first page |\n | `last` | `null` if there is only one page. |\n | `prev` | `null` if you are on the first page. |\n | `next` | `null` if there is only one page. |\n"
      properties:
        self:
          type: string
          example: https://euwest.api.elasticpath.com/v2/flows/d2a9b22a-b4b0-456b-bbc7-d8723aaffa84
    Entry:
      title: Entry
      type: object
      properties:
        id:
          $ref: '#/components/schemas/UUID'
        type:
          type: string
          description: Represents the type of object being returned.
          example: entry
        links:
          $ref: '#/components/schemas/FlowsLinks'
        meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties:
        type: string
        description: There can be a `:fieldSlug` attribute for each field/attribute attached to a flow/template. The type depends on the field type.
    Error:
      required:
      - status
      - title
      properties:
        status:
          type: integer
          format: int
          description: The HTTP response code of the error.
          example: 500
        title:
          type: string
          description: A brief summary of the error.
          example: Internal server error
        detail:
          type: string
          description: Optional additional detail about the error.
          example: An internal error has occurred.
        request_id:
          type: string
          description: Internal request ID.
          example: 00000000-0000-0000-0000-000000000000
        meta:
          type: object
          description: Additional supporting meta data for the error.
          example:
            missing_ids:
            - e7d50bd5-1833-43c0-9848-f9d325b08be8
    FlowsEntriesUpdateRequest:
      title: FlowsEntriesUpdateRequest
      type: object
      properties:
        data:
          type: object
          properties:
            FIELD1_SLUG:
              type: string
              description: The field slug for each field/attribute in a flow/template and the corresponding value for the entry. You can have multiple field slugs if they are related to the flow/template.
              examples:
              - value1
            FIELD2_SLUG:
              type: string
              description: The field slug for each field/attribute in a flow/template and the corresponding value for the entry. You can have multiple field slugs if they are related to the flow/template.
              examples:
              - value2
            id:
              $ref: '#/components/schemas/UUID'
            type:
              type: string
              description: Represents the type of the resource object.
              examples:
              - entry
    UUID:
      type: string
      description: A unique identifier for a resource.
      format: uuid
      example: 00000000-0000-0000-0000-000000000000
  responses:
    NotFound:
      description: Bad request. Not Found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            internal-server-error:
              value:
                errors:
                - title: Not Found
                  status: 404
    ValidationError:
      description: Bad request. The request failed validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missing-name:
              value:
                errors:
                - title: Validation Error
                  status: 400
                  detail: 'data.attributes.name: "name" is required'
    InternalServerError:
      description: Internal server error. There was a system failure in the platform.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            internal-server-error:
              value:
                errors:
                - status: 500
                  title: Internal Server Error
                  detail: There was an internal server error, you can report with your request id.
                  request_id: 635da56d-75a1-43cd-b696-7ab119756b3a
  parameters:
    page-limit:
      name: page[limit]
      description: 'The maximum number of records per page for this response. You can set this value up to 100. If no page size is set, the [**page length**](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.

        '
      in: query
      style: form
      explode: true
      schema:
        type: string
        examples:
        - '10'
    page-offset:
      name: page[offset]
      description: 'The current offset by number of records, not pages. Offset is zero-based. The maximum records you can offset is 10,000. If no page size is set, the [**page length**](/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.

        '
      in: query
      style: form
      explode: true
      schema:
        type: string
        examples:
        - '0'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer