Elastic Path Transactions API
Methods to allow you to modify and view a products stock via transactions.
Methods to allow you to modify and view a products stock via transactions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/elastic-path-transactions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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