Elastic Path Transactions API

Methods to allow you to modify and view a products stock via transactions.

Operations 3

GET /inventories/{product_uuid}/transactions Get Stock Transactions for Product #
POST /inventories/{product_uuid}/transactions Create Stock Transaction on Product #
GET /inventories/{product_uuid}/transactions/{transaction_uuid} Get Single Stock Transaction for Product #

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-transactions-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-transactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Elastic Path Transactions API
  version: '1.0'
  description: 'Operations tagged Transactions across 2 of this provider''s published API definitions: inventory-legacy.yaml, inventory.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://euwest.api.elasticpath.com/v2
  description: EU West cluster
- url: https://useast.api.elasticpath.com/v2
  description: US East cluster
security:
- bearerAuth: []
tags:
- name: Transactions
  description: Methods to allow you to modify and view a products stock via transactions.
paths:
  /inventories/{product_uuid}/transactions:
    parameters:
    - name: product_uuid
      in: path
      description: The unique identifier of the product.
      required: true
      schema:
        $ref: '#/components/schemas/UUID'
    get:
      parameters:
      - $ref: '#/components/parameters/PageOffset'
      - $ref: '#/components/parameters/PageLimit'
      summary: Get Stock Transactions for Product
      description: Returns the transactions recorded for the specified product.
      tags:
      - Transactions
      operationId: GetStockTransactions
      responses:
        '200':
          description: Success. Returns the stock for the given product
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/Meta'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Transaction'
        '500':
          $ref: '#/components/responses/InternalServerError'
    post:
      summary: Create Stock Transaction on Product
      tags:
      - Transactions
      operationId: UpdateProductStock
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - data
              properties:
                data:
                  $ref: '#/components/schemas/TransactionCreate'
      responses:
        '200':
          description: Success. Stock was successfully modified for product
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Transaction'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '422':
          $ref: '#/components/responses/UnprocessableEntityError'
        '500':
          $ref: '#/components/responses/InternalServerError'
    servers:
    - url: https://euwest.api.elasticpath.com/v2
      description: EU West cluster
    - url: https://useast.api.elasticpath.com/v2
      description: US East cluster
  /inventories/{product_uuid}/transactions/{transaction_uuid}:
    parameters:
    - name: product_uuid
      in: path
      description: The unique identifier of the product.
      required: true
      schema:
        $ref: '#/components/schemas/UUID'
    - name: transaction_uuid
      in: path
      description: The unique identifier of the transaction.
      required: true
      schema:
        $ref: '#/components/schemas/UUID'
    get:
      summary: Get Single Stock Transaction for Product
      description: Returns the specific transaction with transaction_uuid for product_uuid
      tags:
      - Transactions
      operationId: GetSingleStockTransaction
      responses:
        '200':
          description: Success. Returns the stock transaction for the given product
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Transaction'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/InternalServerError'
    servers:
    - url: https://euwest.api.elasticpath.com/v2
      description: EU West cluster
    - url: https://useast.api.elasticpath.com/v2
      description: US East cluster
components:
  responses:
    UnprocessableEntityError:
      description: The request was understood, but could not be processed by the server
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missing-name:
              value:
                errors:
                - title: Cannot complete request
                  status: '422'
                  detail: Your request could not be completed due to insufficient stock levels
    NotFoundError:
      description: Not found. The requested entity does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            not-found:
              value:
                errors:
                - title: Not Found
                  status: '404'
                  detail: No stock found
    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:
                - title: Internal Server Error
                  status: '500'
    NotFoundError_2:
      description: Not found. The requested entity does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            not-found:
              value:
                errors:
                - title: Not Found
                  status: '404'
                  detail: No location found
    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: Your request was invalid
  schemas:
    Meta:
      allOf:
      - $ref: '#/components/schemas/Timestamps'
    Timestamps:
      properties:
        updated_at:
          description: The date and time a resource was updated.
          type: string
          example: '2017-01-10T11:41:19.244842Z'
        created_at:
          description: The date and time a resource was created.
          type: string
          example: '2017-01-10T11:41:19.244842Z'
    ErrorResponse:
      type: object
      required:
      - errors
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    TransactionCreate:
      required:
      - action
      - type
      properties:
        product_id:
          description: The ID of the product to perform the transaction against
          type: string
          format: uuid
          example: b9ad64bd-fc21-4918-b6ec-768809f4a1e9
        type:
          description: The type of object being returned. Always `stock-transaction`.
          type: string
          enum:
          - stock-transaction
          default: stock-transaction
          example: stock-transaction
        action:
          description: "The type of action being performed by this transaction.\n\n - **increment** - use this when you want to make products available for purchase, for example, when you have received stock from a supplier.\n\n - **decrement** - Use this when you want to remove stock from product inventory.\n\n - **allocate** - Use this when you want to allocate stock, normally to a reseller who sells on the stock.\n\n - **deallocate** - Use this when you want to deallocate any previously allocated stock.\n"
          type: string
          enum:
          - increment
          - decrement
          - allocate
          - deallocate
          example: allocate
        quantity:
          description: The amount of stock affected by the stock transaction.
          type: integer
          format: int64
          example: 5
          minimum: 1
    Error:
      type: object
      required:
      - status
      - title
      properties:
        status:
          type: string
          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.
        meta:
          type: object
          description: Additional supporting meta data for the error.
          example:
            missing_ids:
            - e7d50bd5-1833-43c0-9848-f9d325b08be8
    Transaction:
      required:
      - type
      properties:
        id:
          description: The unique identifier for the stock transaction.
          type: string
          example: f976dace-450f-4a5d-8877-d119c5a550a1
        type:
          description: The type represents the object being returned. Always `stock-transaction`.
          type: string
          example: stock-transaction
          enum:
          - stock-transaction
          default: stock-transaction
        action:
          description: 'The type of action performed by this transaction.


            - **increment** - use this when you want to make products available for purchase, for example, when you have received stock from a supplier.


            - **decrement** - Use this when you want to remove stock from product inventory.


            - **allocate** - Use this when you want to allocate stock, normally to a reseller who sells on the stock.


            - **deallocate** - Use this when you want to deallocate any previously allocated stock.

            '
          type: string
          enum:
          - increment
          - decrement
          - allocate
          - deallocate
          example: allocate
        product_id:
          description: The product identifier that this stock transaction is for.
          type: string
          example: 86b84d3e-0a86-43d6-a347-78ba4adacca2
        quantity:
          description: The amount of stock affected by the stock transaction.
          type: integer
          format: int64
          example: 5
        timestamps:
          $ref: '#/components/schemas/Timestamps'
    UUID:
      type: string
      description: The unique identifier.
      x-go-type: uuid.UUID
      x-go-type-import:
        name: uuid
        path: github.com/google/uuid
      example: 00000000-0000-0000-0000-000000000000
    LinkURI:
      type:
      - string
      - 'null'
      format: uri
      example: http://example.com/articles/1/comments
    Link:
      anyOf:
      - $ref: '#/components/schemas/LinkURI'
      - $ref: '#/components/schemas/LinkObject'
    TransactionCreateAttributes:
      required:
      - action
      - quantity
      properties:
        product_id:
          $ref: '#/components/schemas/UUID'
        action:
          description: "The type of action being performed by this transaction.\n\n - **increment** - use this when you want to make products available for purchase, for example, when you have received stock from a supplier.\n\n - **decrement** - Use this when you want to remove stock from product inventory.\n\n - **allocate** - Use this when you want to allocate stock, normally to a reseller who sells on the stock.\n\n - **deallocate** - Use this when you want to deallocate any previously allocated stock.\n\n - **set** - Use this when you want to set total stock to a specific value.\n"
          type: string
          enum:
          - increment
          - decrement
          - allocate
          - deallocate
          - set
          example: allocate
          x-go-type: model.TransactionAction
          x-go-type-import:
            name: model
            path: gitlab.elasticpath.com/commerce-cloud/inventories.svc/internal/domain/model
        quantity:
          description: The amount of stock affected by the stock transaction.
          type: integer
          format: int64
          example: 5
          minimum: 0
        location:
          description: The slug of the location that the transaction should act on.
          type: string
          minLength: 1
          maxLength: 128
          example: milton-keynes-warehouse
    TransactionCreate_2:
      required:
      - type
      - attributes
      properties:
        type:
          $ref: '#/components/schemas/StockTransactionType'
        attributes:
          $ref: '#/components/schemas/TransactionCreateAttributes'
    LinkObject:
      type: object
      properties:
        href:
          type: string
          format: uri
          example: http://example.com/articles/1/comments
        title:
          type: string
          example: Comments
        describedby:
          type: string
          format: uri
          example: http://example.com/schemas/article-comments
    Meta_2:
      type: object
      required:
      - timestamps
      properties:
        timestamps:
          $ref: '#/components/schemas/Timestamps_2'
    StockTransactionType:
      type: string
      enum:
      - stock-transaction
      default: stock-transaction
      example: stock-transaction
    TransactionResponseAttributes:
      type: object
      required:
      - action
      - product_id
      - quantity
      properties:
        action:
          description: 'The type of action performed by this transaction.


            - **increment** - use this when you want to make products available for purchase, for example, when you have received stock from a supplier.


            - **decrement** - Use this when you want to remove stock from product inventory.


            - **allocate** - Use this when you want to allocate stock, normally to a reseller who sells on the stock.


            - **deallocate** - Use this when you want to deallocate any previously allocated stock.

            '
          type: string
          enum:
          - increment
          - decrement
          - allocate
          - deallocate
          example: allocate
          x-go-type: model.TransactionAction
          x-go-type-import:
            name: model
            path: gitlab.elasticpath.com/commerce-cloud/inventories.svc/internal/domain/model
        product_id:
          $ref: '#/components/schemas/UUID'
        quantity:
          description: The amount of stock affected by the stock transaction.
          type: integer
          format: int64
          example: 5
        location:
          description: The slug of the location that the transaction should act on.
          type: string
          minLength: 1
          maxLength: 128
          example: milton-keynes-warehouse
    Timestamps_2:
      required:
      - created_at
      properties:
        updated_at:
          description: The date and time a resource was updated.
          type: string
          example: '2017-01-10T11:41:19.244842Z'
        created_at:
          description: The date and time a resource was created.
          type: string
          example: '2017-01-10T11:41:19.244842Z'
    TransactionResponse:
      type: object
      required:
      - id
      - type
      - attributes
      properties:
        id:
          $ref: '#/components/schemas/UUID'
        type:
          $ref: '#/components/schemas/StockTransactionType'
        attributes:
          $ref: '#/components/schemas/TransactionResponseAttributes'
        meta:
          $ref: '#/components/schemas/Meta_2'
    Links:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/Link'
  parameters:
    PageOffset:
      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**](https://elasticpath.dev/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.
      in: query
      required: false
      schema:
        type: integer
        format: int
        minimum: 0
        maximum: 10000
        example: 10
    PageLimit:
      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 the [**page length**](https://elasticpath.dev/docs/commerce-cloud/global-project-settings/settings-overview#page-length) store setting is used.
      name: page[limit]
      in: query
      required: false
      schema:
        type: integer
        format: int
        minimum: 0
        example: 100
    Filter:
      name: filter
      in: query
      required: false
      schema:
        type: string
        format: string
        description: 'Some Inventories API endpoints support filtering. For the general syntax, see [**Filtering**](/guides/Getting-Started/filtering), but you must go to a specific endpoint to understand the attributes and operators an endpoint supports.

          '
        example: eq(location,new-york)
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
x-refined-from:
- inventory-legacy.yaml
- inventory.yaml