docs: update OAS for loyalty plugin (#12836)

* updates

* cleanup

* generate OAS

* update links
This commit is contained in:
Shahed Nasser
2025-06-26 17:22:18 +03:00
committed by GitHub
parent 2983c7c3a5
commit 7d95eb73d3
81 changed files with 463 additions and 2001 deletions

View File

@@ -132,24 +132,6 @@ const generatedgeneratedStoreSidebarSidebar = {
"loaded": false,
"showLoadingIfEmpty": true
},
{
"type": "category",
"title": "Gift Card Invitations",
"children": [
{
"type": "link",
"path": "gift-card-invitations_giftcardinvitation_schema",
"title": "GiftCardInvitation Object",
"loaded": true,
"badge": {
"variant": "neutral",
"text": "Schema"
}
}
],
"loaded": false,
"showLoadingIfEmpty": true
},
{
"type": "category",
"title": "Gift Cards",

View File

@@ -0,0 +1,2 @@
curl '{backend_url}/admin/gift-cards/{id}/orders' \
-H 'Authorization: Bearer {access_token}'

View File

@@ -1,6 +0,0 @@
curl -X POST '{backend_url}/admin/gift-cards/{id}/transfer' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
--data-raw '{
"customer_id": "{value}"
}'

View File

@@ -4,7 +4,6 @@ x-schemaName: AdminGiftCard
required:
- line_item
- customer
- invitation
- id
- code
- status
@@ -65,8 +64,6 @@ properties:
type: string
title: expires_at
description: The date the gift card expires at.
invitation:
$ref: ./AdminGiftCardInvitation.yaml
created_at:
type: string
format: date-time

View File

@@ -1,37 +0,0 @@
type: object
description: The gift card invitation details.
required:
- gift_card
- id
- code
- status
- expires_at
- email
properties:
id:
type: string
title: id
description: The invitation's ID.
email:
type: string
title: email
description: The invitation's email.
format: email
code:
type: string
title: code
description: The invitation's code.
status:
type: string
description: The invitation's status.
enum:
- pending
- accepted
- rejected
expires_at:
type: string
title: expires_at
description: The date the invitation expires at.
gift_card:
type: object
x-schemaName: AdminGiftCardInvitation

View File

@@ -24,3 +24,8 @@ properties:
description: The list of gift cards.
items:
$ref: ./AdminGiftCard.yaml
estimate_count:
type: number
title: estimate_count
description: The gift card's estimate count.
x-featureFlag: index_engine

View File

@@ -24,3 +24,8 @@ properties:
description: The list of store credit accounts.
items:
$ref: ./AdminStoreCreditAccount.yaml
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine

View File

@@ -24,3 +24,8 @@ properties:
description: The list of transaction groups.
items:
$ref: ./AdminTransactionGroup.yaml
estimate_count:
type: number
title: estimate_count
description: The transaction group's estimate count.
x-featureFlag: index_engine

View File

@@ -24,3 +24,8 @@ properties:
description: The list of transactions.
items:
$ref: ./AdminTransaction.yaml
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine

View File

@@ -1,10 +0,0 @@
type: object
description: The details of the gift card transfer request.
x-schemaName: AdminTransferGiftCard
required:
- customer_id
properties:
customer_id:
type: string
title: customer_id
description: The ID of the customer to transfer the gift card to.

View File

@@ -1,16 +0,0 @@
type: object
description: The details to create a gift card invitation.
x-schemaName: StoreCreateGiftCardInvitation
required:
- email
properties:
email:
type: string
title: email
description: The email address to send the gift card invitation to.
format: email
expires_at:
type: string
title: expires_at
description: The date the gift card invitation expires.
format: date-time

View File

@@ -4,7 +4,6 @@ x-schemaName: StoreGiftCard
required:
- customer
- line_item
- invitation
- id
- code
- status
@@ -20,6 +19,12 @@ required:
properties:
customer:
$ref: ./StoreCustomer.yaml
line_item:
$ref: ./StoreOrderLineItem.yaml
id:
type: string
title: id
description: The gift card's ID.
code:
type: string
title: code
@@ -34,22 +39,32 @@ properties:
type: number
title: value
description: The gift card's amount.
currency_code:
type: string
title: currency_code
description: The gift card's currency code.
example: usd
customer_id:
type: string
title: customer_id
description: The ID of the customer that the gift card belongs to.
id:
type: string
title: id
description: The gift card's ID.
reference_id:
type: string
title: reference_id
description: The gift card's reference ID.
note:
type: string
title: note
description: A note with more information about the gift card.
reference:
type: string
title: reference
description: The gift card's reference.
expires_at:
type: string
title: expires_at
description: The date the gift card expires.
format: date-time
created_at:
type: string
format: date-time
@@ -60,20 +75,3 @@ properties:
format: date-time
title: updated_at
description: The date the gift card was updated.
currency_code:
type: string
title: currency_code
description: The gift card's currency code.
example: usd
note:
type: string
title: note
description: The gift card's note.
expires_at:
type: string
title: expires_at
description: The date the gift card expires.
invitation:
type: object
line_item:
$ref: ./StoreOrderLineItem.yaml

View File

@@ -1,8 +0,0 @@
type: object
description: The gift card invitation's details.
x-schemaName: StoreGiftCardInvitationResponse
required:
- gift_card_invitation
properties:
gift_card_invitation:
$ref: ./StoreGiftCardInvitation.yaml

View File

@@ -24,3 +24,8 @@ properties:
description: The list of store credit accounts.
items:
$ref: ./StoreStoreCreditAccount.yaml
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine

View File

@@ -20123,6 +20123,65 @@ paths:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/admin/gift-cards/{id}/orders:
get:
operationId: GetGiftCardsIdOrders
summary: List Gift Card's Orders
x-sidebar-summary: List Orders
description: Retrieve the list of orders that a gift card was used in.
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: id
in: path
description: The gift card's ID.
required: true
schema:
type: string
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
security:
- api_token: []
- cookie_auth: []
- jwt_token: []
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/admin/gift-cards/{id}/orders' \
-H 'Authorization: Bearer {access_token}'
tags:
- Gift Cards
responses:
'200':
description: OK
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/admin/gift-cards/{id}/redeem:
post:
operationId: PostGiftCardsIdRedeem
@@ -20194,77 +20253,6 @@ paths:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/admin/gift-cards/{id}/transfer:
post:
operationId: PostGiftCardsIdTransfer
summary: Transfer Gift Card
description: Transfer a gift card to another customer.
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: id
in: path
description: The gift card's ID.
required: true
schema:
type: string
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
security:
- api_token: []
- cookie_auth: []
- jwt_token: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AdminTransferGiftCard'
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/admin/gift-cards/{id}/transfer' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
--data-raw '{
"customer_id": "{value}"
}'
tags:
- Gift Cards
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AdminGiftCardResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
x-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/admin/inventory-items:
get:
operationId: GetInventoryItems
@@ -60112,7 +60100,6 @@ components:
required:
- line_item
- customer
- invitation
- id
- code
- status
@@ -60173,8 +60160,6 @@ components:
type: string
title: expires_at
description: The date the gift card expires at.
invitation:
$ref: '#/components/schemas/AdminGiftCardInvitation'
created_at:
type: string
format: date-time
@@ -60185,44 +60170,6 @@ components:
format: date-time
title: updated_at
description: The date the gift card was updated at.
AdminGiftCardInvitation:
type: object
description: The gift card invitation details.
required:
- gift_card
- id
- code
- status
- expires_at
- email
properties:
id:
type: string
title: id
description: The invitation's ID.
email:
type: string
title: email
description: The invitation's email.
format: email
code:
type: string
title: code
description: The invitation's code.
status:
type: string
description: The invitation's status.
enum:
- pending
- accepted
- rejected
expires_at:
type: string
title: expires_at
description: The date the invitation expires at.
gift_card:
type: object
x-schemaName: AdminGiftCardInvitation
AdminGiftCardResponse:
type: object
description: The gift card's details.
@@ -60259,6 +60206,11 @@ components:
description: The list of gift cards.
items:
$ref: '#/components/schemas/AdminGiftCard'
estimate_count:
type: number
title: estimate_count
description: The gift card's estimate count.
x-featureFlag: index_engine
AdminImportProductRequest:
type: object
description: The import's details.
@@ -66483,6 +66435,11 @@ components:
description: The list of store credit accounts.
items:
$ref: '#/components/schemas/AdminStoreCreditAccount'
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine
AdminStoreCurrency:
type: object
description: The details of a store's currency.
@@ -66951,6 +66908,11 @@ components:
description: The list of transaction groups.
items:
$ref: '#/components/schemas/AdminTransactionGroup'
estimate_count:
type: number
title: estimate_count
description: The transaction group's estimate count.
x-featureFlag: index_engine
AdminTransactionsResponse:
type: object
description: The paginated list of transactions.
@@ -66978,17 +66940,11 @@ components:
description: The list of transactions.
items:
$ref: '#/components/schemas/AdminTransaction'
AdminTransferGiftCard:
type: object
description: The details of the gift card transfer request.
x-schemaName: AdminTransferGiftCard
required:
- customer_id
properties:
customer_id:
type: string
title: customer_id
description: The ID of the customer to transfer the gift card to.
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine
AdminTransferOrder:
type: object
description: The details of the request to transfer the order.
@@ -75420,23 +75376,6 @@ components:
metadata:
type: object
description: The customer's metadata, can hold custom key-value pairs.
StoreCreateGiftCardInvitation:
type: object
description: The details to create a gift card invitation.
x-schemaName: StoreCreateGiftCardInvitation
required:
- email
properties:
email:
type: string
title: email
description: The email address to send the gift card invitation to.
format: email
expires_at:
type: string
title: expires_at
description: The date the gift card invitation expires.
format: date-time
StoreCreatePaymentCollection:
type: object
description: The details of the payment collection to create.
@@ -75855,7 +75794,6 @@ components:
required:
- customer
- line_item
- invitation
- id
- code
- status
@@ -75871,6 +75809,12 @@ components:
properties:
customer:
$ref: '#/components/schemas/StoreCustomer'
line_item:
$ref: '#/components/schemas/StoreOrderLineItem'
id:
type: string
title: id
description: The gift card's ID.
code:
type: string
title: code
@@ -75885,22 +75829,32 @@ components:
type: number
title: value
description: The gift card's amount.
currency_code:
type: string
title: currency_code
description: The gift card's currency code.
example: usd
customer_id:
type: string
title: customer_id
description: The ID of the customer that the gift card belongs to.
id:
type: string
title: id
description: The gift card's ID.
reference_id:
type: string
title: reference_id
description: The gift card's reference ID.
note:
type: string
title: note
description: A note with more information about the gift card.
reference:
type: string
title: reference
description: The gift card's reference.
expires_at:
type: string
title: expires_at
description: The date the gift card expires.
format: date-time
created_at:
type: string
format: date-time
@@ -75911,23 +75865,6 @@ components:
format: date-time
title: updated_at
description: The date the gift card was updated.
currency_code:
type: string
title: currency_code
description: The gift card's currency code.
example: usd
note:
type: string
title: note
description: The gift card's note.
expires_at:
type: string
title: expires_at
description: The date the gift card expires.
invitation:
type: object
line_item:
$ref: '#/components/schemas/StoreOrderLineItem'
StoreGiftCardInvitation:
type: object
description: The gift card invitation's details.
@@ -75953,15 +75890,6 @@ components:
description: The gift card invitation's status.
gift_card:
$ref: '#/components/schemas/StoreGiftCard'
StoreGiftCardInvitationResponse:
type: object
description: The gift card invitation's details.
x-schemaName: StoreGiftCardInvitationResponse
required:
- gift_card_invitation
properties:
gift_card_invitation:
$ref: '#/components/schemas/StoreGiftCardInvitation'
StoreGiftCardResponse:
type: object
description: The gift card's details.
@@ -83557,6 +83485,11 @@ components:
description: The list of store credit accounts.
items:
$ref: '#/components/schemas/StoreStoreCreditAccount'
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine
StoreTransactionGroup:
type: object
description: The transaction group's details.

View File

@@ -848,10 +848,10 @@ paths:
$ref: paths/admin_gift-cards.yaml
/admin/gift-cards/{id}:
$ref: paths/admin_gift-cards_{id}.yaml
/admin/gift-cards/{id}/orders:
$ref: paths/admin_gift-cards_{id}_orders.yaml
/admin/gift-cards/{id}/redeem:
$ref: paths/admin_gift-cards_{id}_redeem.yaml
/admin/gift-cards/{id}/transfer:
$ref: paths/admin_gift-cards_{id}_transfer.yaml
/admin/inventory-items:
$ref: paths/admin_inventory-items.yaml
/admin/inventory-items/location-levels/batch:

View File

@@ -1,7 +1,8 @@
post:
operationId: PostGiftCardsIdTransfer
summary: Transfer Gift Card
description: Transfer a gift card to another customer.
get:
operationId: GetGiftCardsIdOrders
summary: List Gift Card's Orders
x-sidebar-summary: List Orders
description: Retrieve the list of orders that a gift card was used in.
x-authenticated: true
x-ignoreCleanup: true
parameters:
@@ -13,13 +14,10 @@ post:
type: string
- name: fields
in: query
description: >-
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields,
using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
@@ -35,25 +33,16 @@ post:
- api_token: []
- cookie_auth: []
- jwt_token: []
requestBody:
content:
application/json:
schema:
$ref: ../components/schemas/AdminTransferGiftCard.yaml
x-codeSamples:
- lang: Shell
label: cURL
source:
$ref: ../code_samples/Shell/admin_gift-cards_{id}_transfer/post.sh
$ref: ../code_samples/Shell/admin_gift-cards_{id}_orders/get.sh
tags:
- Gift Cards
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: ../components/schemas/AdminGiftCardResponse.yaml
'400':
$ref: ../components/responses/400_error.yaml
'401':

View File

@@ -1,2 +0,0 @@
curl -X POST '{backend_url}/store/gift-card-invitations/{code}/accept' \
-H 'x-publishable-api-key: {your_publishable_api_key}'

View File

@@ -1,2 +0,0 @@
curl -X POST '{backend_url}/store/gift-card-invitations/{code}/reject' \
-H 'x-publishable-api-key: {your_publishable_api_key}'

View File

@@ -1,2 +0,0 @@
curl '{backend_url}/store/gift-cards' \
-H 'x-publishable-api-key: {your_publishable_api_key}'

View File

@@ -0,0 +1,3 @@
curl '{backend_url}/store/gift-cards/{idOrCode}' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'

View File

@@ -0,0 +1,3 @@
curl -X POST '{backend_url}/store/gift-cards/{idOrCode}/redeem' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'

View File

@@ -1,2 +0,0 @@
curl '{backend_url}/store/gift-cards/{id}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'

View File

@@ -1,6 +0,0 @@
curl -X POST '{backend_url}/store/gift-cards/{id}/invitation' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
-H 'Content-Type: application/json' \
--data-raw '{
"email": "Morton61@hotmail.com"
}'

View File

@@ -1,2 +0,0 @@
curl -X POST '{backend_url}/store/gift-cards/{id}/redeem' \
-H 'x-publishable-api-key: {your_publishable_api_key}'

View File

@@ -4,7 +4,6 @@ x-schemaName: AdminGiftCard
required:
- line_item
- customer
- invitation
- id
- code
- status
@@ -65,8 +64,6 @@ properties:
type: string
title: expires_at
description: The date the gift card expires at.
invitation:
$ref: ./AdminGiftCardInvitation.yaml
created_at:
type: string
format: date-time

View File

@@ -1,37 +0,0 @@
type: object
description: The gift card invitation details.
required:
- gift_card
- id
- code
- status
- expires_at
- email
properties:
id:
type: string
title: id
description: The invitation's ID.
email:
type: string
title: email
description: The invitation's email.
format: email
code:
type: string
title: code
description: The invitation's code.
status:
type: string
description: The invitation's status.
enum:
- pending
- accepted
- rejected
expires_at:
type: string
title: expires_at
description: The date the invitation expires at.
gift_card:
type: object
x-schemaName: AdminGiftCardInvitation

View File

@@ -24,3 +24,8 @@ properties:
description: The list of gift cards.
items:
$ref: ./AdminGiftCard.yaml
estimate_count:
type: number
title: estimate_count
description: The gift card's estimate count.
x-featureFlag: index_engine

View File

@@ -24,3 +24,8 @@ properties:
description: The list of store credit accounts.
items:
$ref: ./AdminStoreCreditAccount.yaml
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine

View File

@@ -24,3 +24,8 @@ properties:
description: The list of transaction groups.
items:
$ref: ./AdminTransactionGroup.yaml
estimate_count:
type: number
title: estimate_count
description: The transaction group's estimate count.
x-featureFlag: index_engine

View File

@@ -24,3 +24,8 @@ properties:
description: The list of transactions.
items:
$ref: ./AdminTransaction.yaml
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine

View File

@@ -1,10 +0,0 @@
type: object
description: The details of the gift card transfer request.
x-schemaName: AdminTransferGiftCard
required:
- customer_id
properties:
customer_id:
type: string
title: customer_id
description: The ID of the customer to transfer the gift card to.

View File

@@ -1,16 +0,0 @@
type: object
description: The details to create a gift card invitation.
x-schemaName: StoreCreateGiftCardInvitation
required:
- email
properties:
email:
type: string
title: email
description: The email address to send the gift card invitation to.
format: email
expires_at:
type: string
title: expires_at
description: The date the gift card invitation expires.
format: date-time

View File

@@ -4,7 +4,6 @@ x-schemaName: StoreGiftCard
required:
- customer
- line_item
- invitation
- id
- code
- status
@@ -20,6 +19,12 @@ required:
properties:
customer:
$ref: ./StoreCustomer.yaml
line_item:
$ref: ./StoreOrderLineItem.yaml
id:
type: string
title: id
description: The gift card's ID.
code:
type: string
title: code
@@ -34,22 +39,32 @@ properties:
type: number
title: value
description: The gift card's amount.
currency_code:
type: string
title: currency_code
description: The gift card's currency code.
example: usd
customer_id:
type: string
title: customer_id
description: The ID of the customer that the gift card belongs to.
id:
type: string
title: id
description: The gift card's ID.
reference_id:
type: string
title: reference_id
description: The gift card's reference ID.
note:
type: string
title: note
description: A note with more information about the gift card.
reference:
type: string
title: reference
description: The gift card's reference.
expires_at:
type: string
title: expires_at
description: The date the gift card expires.
format: date-time
created_at:
type: string
format: date-time
@@ -60,20 +75,3 @@ properties:
format: date-time
title: updated_at
description: The date the gift card was updated.
currency_code:
type: string
title: currency_code
description: The gift card's currency code.
example: usd
note:
type: string
title: note
description: The gift card's note.
expires_at:
type: string
title: expires_at
description: The date the gift card expires.
invitation:
type: object
line_item:
$ref: ./StoreOrderLineItem.yaml

View File

@@ -1,8 +0,0 @@
type: object
description: The gift card invitation's details.
x-schemaName: StoreGiftCardInvitationResponse
required:
- gift_card_invitation
properties:
gift_card_invitation:
$ref: ./StoreGiftCardInvitation.yaml

View File

@@ -24,3 +24,8 @@ properties:
description: The list of store credit accounts.
items:
$ref: ./StoreStoreCreditAccount.yaml
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine

View File

@@ -58,15 +58,6 @@ tags:
url: https://docs.medusajs.com/resources/storefront-development/customers
x-associatedSchema:
$ref: '#/components/schemas/StoreCustomer'
- name: Gift Card Invitations
description: |
A gift card invitation is a way to send a gift card to a customer. They can be sent from one customer to another.
These API routes allow logged-in customers to create and manage gift card invitations.
<Note>
Gift Card Invitations are only available for Cloud users using the [Loyalty Plugin](https://docs.medusajs.com/cloud/loyalty-plugin).
</Note>
x-associatedSchema:
$ref: '#/components/schemas/StoreGiftCardInvitation'
- name: Gift Cards
description: |
A gift card is a prepaid card that customers can use to purchase products in the store.
@@ -4196,297 +4187,18 @@ paths:
$ref: '#/components/responses/500_error'
x-workflow: deleteCustomerAddressesWorkflow
x-events: []
/store/gift-card-invitations/{code}/accept:
post:
operationId: PostGiftCardInvitationsCodeAccept
summary: Accept Customer's Gift Card Invitation
x-sidebar-summary: Accept Invitation
description: Accept the logged-in customer's gift card invitation
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: code
in: path
description: The gift card invitation's code.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/gift-card-invitations/{code}/accept' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Gift Card Invitations
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreGiftCardInvitationResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/store/gift-card-invitations/{code}/reject:
post:
operationId: PostGiftCardInvitationsCodeReject
summary: Reject Customer's Gift Card Invitation
x-sidebar-summary: Reject Invitation
description: Reject the logged-in customer's gift card invitation
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: code
in: path
description: The gift card invitation's code.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/gift-card-invitations/{code}/reject' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Gift Card Invitations
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreGiftCardInvitationResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/store/gift-cards:
/store/gift-cards/{idOrCode}:
get:
operationId: GetGiftCards
summary: List Customer's Gift Cards
x-sidebar-summary: List Gift Cards
description: Retrieve a customer's gift cards. The gift cards can be filtered by fields such as `id`. The gift cards can also be sorted or paginated.
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: id
in: query
required: false
schema:
oneOf:
- type: string
title: id
description: Filter by a gift card ID.
- type: array
description: Filter by gift card IDs.
items:
type: string
title: id
description: A gift card's ID.
- name: limit
in: query
description: Limit the number of items returned in the list.
required: false
schema:
type: number
title: limit
description: Limit the number of items returned in the list.
externalDocs:
url: '#pagination'
- name: offset
in: query
description: The number of items to skip when retrieving a list.
required: false
schema:
type: number
title: offset
description: The number of items to skip when retrieving a list.
externalDocs:
url: '#pagination'
- name: order
in: query
description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`.
required: false
schema:
type: string
title: order
description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`.
externalDocs:
url: '#pagination'
- name: fields
in: query
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
- name: $and
in: query
description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters.
required: false
schema:
type: array
description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters.
items:
type: object
title: $and
- name: $or
in: query
description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters.
required: false
schema:
type: array
description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters.
items:
type: object
title: $or
- name: status
in: query
required: false
schema:
oneOf:
- type: string
description: Filter by a gift card's status.
enum:
- pending
- redeemed
- type: array
description: Filter by gift card statuses.
items:
type: string
description: A gift card status.
enum:
- pending
- redeemed
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/gift-cards' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Gift Cards
responses:
'200':
description: OK
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/store/gift-cards/{id}:
get:
operationId: GetGiftCardsId
summary: Get Customer's Gift Card
operationId: GetGiftCardsIdorcode
summary: Get a Gift Card
x-sidebar-summary: Get Gift Card
description: Retrieve the logged-in customer's gift card by its ID. You can expand the gift card's relations or select the fields that should be returned.
x-authenticated: true
description: Retrieve a gift card by its ID or code. You can expand the gift card's relations or select the fields that should be returned.
x-authenticated: false
x-ignoreCleanup: true
parameters:
- name: id
- name: idOrCode
in: path
description: The gift card's ID.
description: The gift card's ID or code.
required: true
schema:
type: string
@@ -4502,8 +4214,8 @@ paths:
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
@@ -4515,7 +4227,8 @@ paths:
- lang: Shell
label: cURL
source: |-
curl '{backend_url}/store/gift-cards/{id}' \
curl '{backend_url}/store/gift-cards/{idOrCode}' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Gift Cards
@@ -4534,104 +4247,22 @@ paths:
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/store/gift-cards/{id}/invitation:
/store/gift-cards/{idOrCode}/redeem:
post:
operationId: PostGiftCardsIdInvitation
summary: Send Gift Card Invitation
x-sidebar-summary: Send Invitation
description: Send a gift card invitation to a customer's email address. The gift card must belong to the logged-in customer, and it must not have been redeemed yet.
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: id
in: path
description: The gift card's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoreCreateGiftCardInvitation'
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/gift-cards/{id}/invitation' \
-H 'x-publishable-api-key: {your_publishable_api_key}' \
-H 'Content-Type: application/json' \
--data-raw '{
"email": "Morton61@hotmail.com"
}'
tags:
- Gift Cards
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StoreGiftCardResponse'
'400':
$ref: '#/components/responses/400_error'
'401':
$ref: '#/components/responses/unauthorized'
'404':
$ref: '#/components/responses/not_found_error'
'409':
$ref: '#/components/responses/invalid_state_error'
'422':
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: |
This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
/store/gift-cards/{id}/redeem:
post:
operationId: PostGiftCardsIdRedeem
summary: Redeem Customer's Gift Card
operationId: PostGiftCardsIdorcodeRedeem
summary: Redeem a Gift Card
x-sidebar-summary: Redeem Gift Card
description: Redeem the logged-in customer's gift card
description: Redeem a gift card by its ID or code. The gift card will be added to the logged-in customer's store credit account.
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: id
- name: idOrCode
in: path
description: The gift card's ID.
description: The gift card's ID or code.
required: true
schema:
type: string
@@ -4647,8 +4278,8 @@ paths:
in: query
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
@@ -4656,11 +4287,15 @@ paths:
description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields. Without prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
security:
- cookie_auth: []
- jwt_token: []
x-codeSamples:
- lang: Shell
label: cURL
source: |-
curl -X POST '{backend_url}/store/gift-cards/{id}/redeem' \
curl -X POST '{backend_url}/store/gift-cards/{idOrCode}/redeem' \
-H 'Authorization: Bearer {access_token}' \
-H 'x-publishable-api-key: {your_publishable_api_key}'
tags:
- Gift Cards
@@ -4683,9 +4318,6 @@ paths:
$ref: '#/components/responses/invalid_request_error'
'500':
$ref: '#/components/responses/500_error'
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: |
@@ -15295,7 +14927,6 @@ components:
required:
- line_item
- customer
- invitation
- id
- code
- status
@@ -15356,8 +14987,6 @@ components:
type: string
title: expires_at
description: The date the gift card expires at.
invitation:
$ref: '#/components/schemas/AdminGiftCardInvitation'
created_at:
type: string
format: date-time
@@ -15368,44 +14997,6 @@ components:
format: date-time
title: updated_at
description: The date the gift card was updated at.
AdminGiftCardInvitation:
type: object
description: The gift card invitation details.
required:
- gift_card
- id
- code
- status
- expires_at
- email
properties:
id:
type: string
title: id
description: The invitation's ID.
email:
type: string
title: email
description: The invitation's email.
format: email
code:
type: string
title: code
description: The invitation's code.
status:
type: string
description: The invitation's status.
enum:
- pending
- accepted
- rejected
expires_at:
type: string
title: expires_at
description: The date the invitation expires at.
gift_card:
type: object
x-schemaName: AdminGiftCardInvitation
AdminGiftCardResponse:
type: object
description: The gift card's details.
@@ -15442,6 +15033,11 @@ components:
description: The list of gift cards.
items:
$ref: '#/components/schemas/AdminGiftCard'
estimate_count:
type: number
title: estimate_count
description: The gift card's estimate count.
x-featureFlag: index_engine
AdminImportProductRequest:
type: object
description: The import's details.
@@ -21666,6 +21262,11 @@ components:
description: The list of store credit accounts.
items:
$ref: '#/components/schemas/AdminStoreCreditAccount'
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine
AdminStoreCurrency:
type: object
description: The details of a store's currency.
@@ -22134,6 +21735,11 @@ components:
description: The list of transaction groups.
items:
$ref: '#/components/schemas/AdminTransactionGroup'
estimate_count:
type: number
title: estimate_count
description: The transaction group's estimate count.
x-featureFlag: index_engine
AdminTransactionsResponse:
type: object
description: The paginated list of transactions.
@@ -22161,17 +21767,11 @@ components:
description: The list of transactions.
items:
$ref: '#/components/schemas/AdminTransaction'
AdminTransferGiftCard:
type: object
description: The details of the gift card transfer request.
x-schemaName: AdminTransferGiftCard
required:
- customer_id
properties:
customer_id:
type: string
title: customer_id
description: The ID of the customer to transfer the gift card to.
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine
AdminTransferOrder:
type: object
description: The details of the request to transfer the order.
@@ -30603,23 +30203,6 @@ components:
metadata:
type: object
description: The customer's metadata, can hold custom key-value pairs.
StoreCreateGiftCardInvitation:
type: object
description: The details to create a gift card invitation.
x-schemaName: StoreCreateGiftCardInvitation
required:
- email
properties:
email:
type: string
title: email
description: The email address to send the gift card invitation to.
format: email
expires_at:
type: string
title: expires_at
description: The date the gift card invitation expires.
format: date-time
StoreCreatePaymentCollection:
type: object
description: The details of the payment collection to create.
@@ -31038,7 +30621,6 @@ components:
required:
- customer
- line_item
- invitation
- id
- code
- status
@@ -31054,6 +30636,12 @@ components:
properties:
customer:
$ref: '#/components/schemas/StoreCustomer'
line_item:
$ref: '#/components/schemas/StoreOrderLineItem'
id:
type: string
title: id
description: The gift card's ID.
code:
type: string
title: code
@@ -31068,22 +30656,32 @@ components:
type: number
title: value
description: The gift card's amount.
currency_code:
type: string
title: currency_code
description: The gift card's currency code.
example: usd
customer_id:
type: string
title: customer_id
description: The ID of the customer that the gift card belongs to.
id:
type: string
title: id
description: The gift card's ID.
reference_id:
type: string
title: reference_id
description: The gift card's reference ID.
note:
type: string
title: note
description: A note with more information about the gift card.
reference:
type: string
title: reference
description: The gift card's reference.
expires_at:
type: string
title: expires_at
description: The date the gift card expires.
format: date-time
created_at:
type: string
format: date-time
@@ -31094,23 +30692,6 @@ components:
format: date-time
title: updated_at
description: The date the gift card was updated.
currency_code:
type: string
title: currency_code
description: The gift card's currency code.
example: usd
note:
type: string
title: note
description: The gift card's note.
expires_at:
type: string
title: expires_at
description: The date the gift card expires.
invitation:
type: object
line_item:
$ref: '#/components/schemas/StoreOrderLineItem'
StoreGiftCardInvitation:
type: object
description: The gift card invitation's details.
@@ -31136,15 +30717,6 @@ components:
description: The gift card invitation's status.
gift_card:
$ref: '#/components/schemas/StoreGiftCard'
StoreGiftCardInvitationResponse:
type: object
description: The gift card invitation's details.
x-schemaName: StoreGiftCardInvitationResponse
required:
- gift_card_invitation
properties:
gift_card_invitation:
$ref: '#/components/schemas/StoreGiftCardInvitation'
StoreGiftCardResponse:
type: object
description: The gift card's details.
@@ -38740,6 +38312,11 @@ components:
description: The list of store credit accounts.
items:
$ref: '#/components/schemas/StoreStoreCreditAccount'
estimate_count:
type: number
title: estimate_count
description: The store credit account's estimate count.
x-featureFlag: index_engine
StoreTransactionGroup:
type: object
description: The transaction group's details.

View File

@@ -73,22 +73,6 @@ tags:
url: https://docs.medusajs.com/resources/storefront-development/customers
x-associatedSchema:
$ref: ./components/schemas/StoreCustomer.yaml
- name: Gift Card Invitations
description: >
A gift card invitation is a way to send a gift card to a customer. They
can be sent from one customer to another.
These API routes allow logged-in customers to create and manage gift card
invitations.
<Note>
Gift Card Invitations are only available for Cloud users using the
[Loyalty Plugin](https://docs.medusajs.com/cloud/loyalty-plugin).
</Note>
x-associatedSchema:
$ref: ./components/schemas/StoreGiftCardInvitation.yaml
- name: Gift Cards
description: >
A gift card is a prepaid card that customers can use to purchase products
@@ -298,18 +282,10 @@ paths:
$ref: paths/store_customers_me_addresses.yaml
/store/customers/me/addresses/{address_id}:
$ref: paths/store_customers_me_addresses_{address_id}.yaml
/store/gift-card-invitations/{code}/accept:
$ref: paths/store_gift-card-invitations_{code}_accept.yaml
/store/gift-card-invitations/{code}/reject:
$ref: paths/store_gift-card-invitations_{code}_reject.yaml
/store/gift-cards:
$ref: paths/store_gift-cards.yaml
/store/gift-cards/{id}:
$ref: paths/store_gift-cards_{id}.yaml
/store/gift-cards/{id}/invitation:
$ref: paths/store_gift-cards_{id}_invitation.yaml
/store/gift-cards/{id}/redeem:
$ref: paths/store_gift-cards_{id}_redeem.yaml
/store/gift-cards/{idOrCode}:
$ref: paths/store_gift-cards_{idOrCode}.yaml
/store/gift-cards/{idOrCode}/redeem:
$ref: paths/store_gift-cards_{idOrCode}_redeem.yaml
/store/orders:
$ref: paths/store_orders.yaml
/store/orders/{id}:

View File

@@ -1,77 +0,0 @@
post:
operationId: PostGiftCardInvitationsCodeAccept
summary: Accept Customer's Gift Card Invitation
x-sidebar-summary: Accept Invitation
description: Accept the logged-in customer's gift card invitation
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: code
in: path
description: The gift card invitation's code.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: >-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields,
using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: >-
Comma-separated fields that should be included in the returned data.
If a field is prefixed with `+` it will be added to the default
fields, using `-` will remove it from the default fields. Without
prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
x-codeSamples:
- lang: Shell
label: cURL
source:
$ref: >-
../code_samples/Shell/store_gift-card-invitations_{code}_accept/post.sh
tags:
- Gift Card Invitations
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: ../components/schemas/StoreGiftCardInvitationResponse.yaml
'400':
$ref: ../components/responses/400_error.yaml
'401':
$ref: ../components/responses/unauthorized.yaml
'404':
$ref: ../components/responses/not_found_error.yaml
'409':
$ref: ../components/responses/invalid_state_error.yaml
'422':
$ref: ../components/responses/invalid_request_error.yaml
'500':
$ref: ../components/responses/500_error.yaml
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: >
This API route is only available in [Medusa
Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).

View File

@@ -1,77 +0,0 @@
post:
operationId: PostGiftCardInvitationsCodeReject
summary: Reject Customer's Gift Card Invitation
x-sidebar-summary: Reject Invitation
description: Reject the logged-in customer's gift card invitation
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: code
in: path
description: The gift card invitation's code.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: >-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields,
using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: >-
Comma-separated fields that should be included in the returned data.
If a field is prefixed with `+` it will be added to the default
fields, using `-` will remove it from the default fields. Without
prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
x-codeSamples:
- lang: Shell
label: cURL
source:
$ref: >-
../code_samples/Shell/store_gift-card-invitations_{code}_reject/post.sh
tags:
- Gift Card Invitations
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: ../components/schemas/StoreGiftCardInvitationResponse.yaml
'400':
$ref: ../components/responses/400_error.yaml
'401':
$ref: ../components/responses/unauthorized.yaml
'404':
$ref: ../components/responses/not_found_error.yaml
'409':
$ref: ../components/responses/invalid_state_error.yaml
'422':
$ref: ../components/responses/invalid_request_error.yaml
'500':
$ref: ../components/responses/500_error.yaml
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: >
This API route is only available in [Medusa
Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).

View File

@@ -1,161 +0,0 @@
get:
operationId: GetGiftCards
summary: List Customer's Gift Cards
x-sidebar-summary: List Gift Cards
description: >-
Retrieve a customer's gift cards. The gift cards can be filtered by fields
such as `id`. The gift cards can also be sorted or paginated.
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: id
in: query
required: false
schema:
oneOf:
- type: string
title: id
description: Filter by a gift card ID.
- type: array
description: Filter by gift card IDs.
items:
type: string
title: id
description: A gift card's ID.
- name: limit
in: query
description: Limit the number of items returned in the list.
required: false
schema:
type: number
title: limit
description: Limit the number of items returned in the list.
externalDocs:
url: '#pagination'
- name: offset
in: query
description: The number of items to skip when retrieving a list.
required: false
schema:
type: number
title: offset
description: The number of items to skip when retrieving a list.
externalDocs:
url: '#pagination'
- name: order
in: query
description: >-
The field to sort the data by. By default, the sort order is ascending.
To change the order to descending, prefix the field name with `-`.
required: false
schema:
type: string
title: order
description: >-
The field to sort the data by. By default, the sort order is
ascending. To change the order to descending, prefix the field name
with `-`.
externalDocs:
url: '#pagination'
- name: fields
in: query
description: >-
Comma-separated fields that should be included in the returned data. If
a field is prefixed with `+` it will be added to the default fields,
using `-` will remove it from the default fields. Without prefix it will
replace the entire default fields.
required: false
schema:
type: string
title: fields
description: >-
Comma-separated fields that should be included in the returned data.
If a field is prefixed with `+` it will be added to the default
fields, using `-` will remove it from the default fields. Without
prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
- name: $and
in: query
description: >-
Join query parameters with an AND condition. Each object's content is
the same type as the expected query parameters.
required: false
schema:
type: array
description: >-
Join query parameters with an AND condition. Each object's content is
the same type as the expected query parameters.
items:
type: object
title: $and
- name: $or
in: query
description: >-
Join query parameters with an OR condition. Each object's content is the
same type as the expected query parameters.
required: false
schema:
type: array
description: >-
Join query parameters with an OR condition. Each object's content is
the same type as the expected query parameters.
items:
type: object
title: $or
- name: status
in: query
required: false
schema:
oneOf:
- type: string
description: Filter by a gift card's status.
enum:
- pending
- redeemed
- type: array
description: Filter by gift card statuses.
items:
type: string
description: A gift card status.
enum:
- pending
- redeemed
x-codeSamples:
- lang: Shell
label: cURL
source:
$ref: ../code_samples/Shell/store_gift-cards/get.sh
tags:
- Gift Cards
responses:
'200':
description: OK
'400':
$ref: ../components/responses/400_error.yaml
'401':
$ref: ../components/responses/unauthorized.yaml
'404':
$ref: ../components/responses/not_found_error.yaml
'409':
$ref: ../components/responses/invalid_state_error.yaml
'422':
$ref: ../components/responses/invalid_request_error.yaml
'500':
$ref: ../components/responses/500_error.yaml
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: >
This API route is only available in [Medusa
Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).

View File

@@ -1,16 +1,16 @@
get:
operationId: GetGiftCardsId
summary: Get Customer's Gift Card
operationId: GetGiftCardsIdorcode
summary: Get a Gift Card
x-sidebar-summary: Get Gift Card
description: >-
Retrieve the logged-in customer's gift card by its ID. You can expand the
gift card's relations or select the fields that should be returned.
x-authenticated: true
Retrieve a gift card by its ID or code. You can expand the gift card's
relations or select the fields that should be returned.
x-authenticated: false
x-ignoreCleanup: true
parameters:
- name: id
- name: idOrCode
in: path
description: The gift card's ID.
description: The gift card's ID or code.
required: true
schema:
type: string
@@ -24,13 +24,10 @@ get:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: >-
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields,
using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
@@ -46,7 +43,7 @@ get:
- lang: Shell
label: cURL
source:
$ref: ../code_samples/Shell/store_gift-cards_{id}/get.sh
$ref: ../code_samples/Shell/store_gift-cards_{idOrCode}/get.sh
tags:
- Gift Cards
responses:
@@ -64,9 +61,6 @@ get:
$ref: ../components/responses/invalid_request_error.yaml
'500':
$ref: ../components/responses/500_error.yaml
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: >

View File

@@ -1,14 +1,16 @@
post:
operationId: PostGiftCardsIdRedeem
summary: Redeem Customer's Gift Card
operationId: PostGiftCardsIdorcodeRedeem
summary: Redeem a Gift Card
x-sidebar-summary: Redeem Gift Card
description: Redeem the logged-in customer's gift card
description: >-
Redeem a gift card by its ID or code. The gift card will be added to the
logged-in customer's store credit account.
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: id
- name: idOrCode
in: path
description: The gift card's ID.
description: The gift card's ID or code.
required: true
schema:
type: string
@@ -22,13 +24,10 @@ post:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: >-
description: |-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields,
using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
@@ -40,11 +39,14 @@ post:
prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
security:
- cookie_auth: []
- jwt_token: []
x-codeSamples:
- lang: Shell
label: cURL
source:
$ref: ../code_samples/Shell/store_gift-cards_{id}_redeem/post.sh
$ref: ../code_samples/Shell/store_gift-cards_{idOrCode}_redeem/post.sh
tags:
- Gift Cards
responses:
@@ -66,9 +68,6 @@ post:
$ref: ../components/responses/invalid_request_error.yaml
'500':
$ref: ../components/responses/500_error.yaml
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: >

View File

@@ -1,84 +0,0 @@
post:
operationId: PostGiftCardsIdInvitation
summary: Send Gift Card Invitation
x-sidebar-summary: Send Invitation
description: >-
Send a gift card invitation to a customer's email address. The gift card
must belong to the logged-in customer, and it must not have been redeemed
yet.
x-authenticated: true
x-ignoreCleanup: true
parameters:
- name: id
in: path
description: The gift card's ID.
required: true
schema:
type: string
- name: x-publishable-api-key
in: header
description: Publishable API Key created in the Medusa Admin.
required: true
schema:
type: string
externalDocs:
url: https://docs.medusajs.com/api/store#publishable-api-key
- name: fields
in: query
description: >-
Comma-separated fields that should be included in the returned data.
if a field is prefixed with `+` it will be added to the default fields,
using `-` will remove it from the default fields.
without prefix it will replace the entire default fields.
required: false
schema:
type: string
title: fields
description: >-
Comma-separated fields that should be included in the returned data.
If a field is prefixed with `+` it will be added to the default
fields, using `-` will remove it from the default fields. Without
prefix it will replace the entire default fields.
externalDocs:
url: '#select-fields-and-relations'
requestBody:
content:
application/json:
schema:
$ref: ../components/schemas/StoreCreateGiftCardInvitation.yaml
x-codeSamples:
- lang: Shell
label: cURL
source:
$ref: ../code_samples/Shell/store_gift-cards_{id}_invitation/post.sh
tags:
- Gift Cards
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: ../components/schemas/StoreGiftCardResponse.yaml
'400':
$ref: ../components/responses/400_error.yaml
'401':
$ref: ../components/responses/unauthorized.yaml
'404':
$ref: ../components/responses/not_found_error.yaml
'409':
$ref: ../components/responses/invalid_state_error.yaml
'422':
$ref: ../components/responses/invalid_request_error.yaml
'500':
$ref: ../components/responses/500_error.yaml
security:
- cookie_auth: []
- jwt_token: []
x-badges:
- text: Cloud
description: >
This API route is only available in [Medusa
Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).

View File

@@ -43,7 +43,6 @@ Then, you can contact support for assistance in installing the Loyalty Plugin in
You can find the API routes for the Loyalty Plugin within the API reference:
- Store API routes:
- [Gift Card Invitations](!api!/store#gift-card-invitations)
- [Gift Cards](!api!/store#gift-cards)
- [Store Credit Accounts](!api!/store#store-credit-accounts)
- Admin API routes:

View File

@@ -10,7 +10,7 @@ export const generatedEditDates = {
"app/redis/page.mdx": "2025-06-25T07:57:23.246Z",
"app/s3/page.mdx": "2025-06-25T07:57:24.832Z",
"app/draft-order-plugin/page.mdx": "2025-06-25T07:57:14.898Z",
"app/loyalty-plugin/page.mdx": "2025-06-25T07:57:16.691Z",
"app/loyalty-plugin/page.mdx": "2025-06-26T11:11:02.320Z",
"app/billing-usage/page.mdx": "2025-06-25T07:57:03.206Z",
"app/logs/page.mdx": "2025-06-19T07:44:38.336Z",
"app/update-medusa/page.mdx": "2025-06-25T07:57:30.170Z",

View File

@@ -65,20 +65,6 @@ tags:
url: https://docs.medusajs.com/resources/storefront-development/customers
x-associatedSchema:
$ref: "#/components/schemas/StoreCustomer"
- name: Gift Card Invitations
description: >
A gift card invitation is a way to send a gift card to a customer. They
can be sent from one customer to another.
These API routes allow logged-in customers to create and manage gift card invitations.
<Note>
Gift Card Invitations are only available for Cloud users using the [Loyalty Plugin](https://docs.medusajs.com/cloud/loyalty-plugin).
</Note>
x-associatedSchema:
$ref: "#/components/schemas/StoreGiftCardInvitation"
- name: Gift Cards
description: >
A gift card is a prepaid card that customers can use to purchase products

View File

@@ -366,8 +366,9 @@
* "500":
* $ref: "#/components/responses/500_error"
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -58,8 +58,9 @@
* "500":
* $ref: "#/components/responses/500_error"
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -1,8 +1,9 @@
/**
* @oas [post] /admin/gift-cards/{id}/transfer
* operationId: PostGiftCardsIdTransfer
* summary: Transfer Gift Card
* description: Transfer a gift card to another customer.
* @oas [get] /admin/gift-cards/{id}/orders
* operationId: GetGiftCardsIdOrders
* summary: List Gift Card's Orders
* x-sidebar-summary: List Orders
* description: Retrieve the list of orders that a gift card was used in.
* x-authenticated: true
* x-ignoreCleanup: true
* parameters:
@@ -16,8 +17,8 @@
* in: query
* description: |-
* Comma-separated fields that should be included in the returned data.
* if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
* without prefix it will replace the entire default fields.
* if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
* without prefix it will replace the entire default fields.
* required: false
* schema:
* type: string
@@ -30,30 +31,17 @@
* - api_token: []
* - cookie_auth: []
* - jwt_token: []
* requestBody:
* content:
* application/json:
* schema:
* $ref: "#/components/schemas/AdminTransferGiftCard"
* x-codeSamples:
* - lang: Shell
* label: cURL
* source: |-
* curl -X POST '{backend_url}/admin/gift-cards/{id}/transfer' \
* -H 'Authorization: Bearer {access_token}' \
* -H 'Content-Type: application/json' \
* --data-raw '{
* "customer_id": "{value}"
* }'
* curl '{backend_url}/admin/gift-cards/{id}/orders' \
* -H 'Authorization: Bearer {access_token}'
* tags:
* - Gift Cards
* responses:
* "200":
* description: OK
* content:
* application/json:
* schema:
* $ref: "#/components/schemas/AdminGiftCardResponse"
* "400":
* $ref: "#/components/responses/400_error"
* "401":
@@ -66,10 +54,9 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*/

View File

@@ -404,10 +404,10 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -410,10 +410,10 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -379,10 +379,10 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -365,10 +365,10 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -68,10 +68,10 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -62,10 +62,10 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -66,10 +66,10 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -61,10 +61,10 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -71,10 +71,10 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -1,144 +0,0 @@
/**
* @oas [get] /store/gift-cards
* operationId: GetGiftCards
* summary: List Customer's Gift Cards
* x-sidebar-summary: List Gift Cards
* description: Retrieve a customer's gift cards. The gift cards can be filtered by fields such as `id`. The gift cards can also be sorted or paginated.
* x-authenticated: true
* x-ignoreCleanup: true
* parameters:
* - name: x-publishable-api-key
* in: header
* description: Publishable API Key created in the Medusa Admin.
* required: true
* schema:
* type: string
* externalDocs:
* url: https://docs.medusajs.com/api/store#publishable-api-key
* - name: id
* in: query
* required: false
* schema:
* oneOf:
* - type: string
* title: id
* description: Filter by a gift card ID.
* - type: array
* description: Filter by gift card IDs.
* items:
* type: string
* title: id
* description: A gift card's ID.
* - name: limit
* in: query
* description: Limit the number of items returned in the list.
* required: false
* schema:
* type: number
* title: limit
* description: Limit the number of items returned in the list.
* externalDocs:
* url: "#pagination"
* - name: offset
* in: query
* description: The number of items to skip when retrieving a list.
* required: false
* schema:
* type: number
* title: offset
* description: The number of items to skip when retrieving a list.
* externalDocs:
* url: "#pagination"
* - name: order
* in: query
* description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`.
* required: false
* schema:
* type: string
* title: order
* description: The field to sort the data by. By default, the sort order is ascending. To change the order to descending, prefix the field name with `-`.
* externalDocs:
* url: "#pagination"
* - name: fields
* in: query
* description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default
* fields. Without prefix it will replace the entire default fields.
* required: false
* schema:
* type: string
* title: fields
* description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default
* fields. Without prefix it will replace the entire default fields.
* externalDocs:
* url: "#select-fields-and-relations"
* - name: $and
* in: query
* description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters.
* required: false
* schema:
* type: array
* description: Join query parameters with an AND condition. Each object's content is the same type as the expected query parameters.
* items:
* type: object
* title: $and
* - name: $or
* in: query
* description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters.
* required: false
* schema:
* type: array
* description: Join query parameters with an OR condition. Each object's content is the same type as the expected query parameters.
* items:
* type: object
* title: $or
* - name: status
* in: query
* required: false
* schema:
* oneOf:
* - type: string
* description: Filter by a gift card's status.
* enum:
* - pending
* - redeemed
* - type: array
* description: Filter by gift card statuses.
* items:
* type: string
* description: A gift card status.
* enum:
* - pending
* - redeemed
* x-codeSamples:
* - lang: Shell
* label: cURL
* source: |-
* curl '{backend_url}/store/gift-cards' \
* -H 'x-publishable-api-key: {your_publishable_api_key}'
* tags:
* - Gift Cards
* responses:
* "200":
* description: OK
* "400":
* $ref: "#/components/responses/400_error"
* "401":
* $ref: "#/components/responses/unauthorized"
* "404":
* $ref: "#/components/responses/not_found_error"
* "409":
* $ref: "#/components/responses/invalid_state_error"
* "422":
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
* security:
* - cookie_auth: []
* - jwt_token: []
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*/

View File

@@ -1,15 +1,15 @@
/**
* @oas [get] /store/gift-cards/{id}
* operationId: GetGiftCardsId
* summary: Get Customer's Gift Card
* @oas [get] /store/gift-cards/{idOrCode}
* operationId: GetGiftCardsIdorcode
* summary: Get a Gift Card
* x-sidebar-summary: Get Gift Card
* description: Retrieve the logged-in customer's gift card by its ID. You can expand the gift card's relations or select the fields that should be returned.
* x-authenticated: true
* description: Retrieve a gift card by its ID or code. You can expand the gift card's relations or select the fields that should be returned.
* x-authenticated: false
* x-ignoreCleanup: true
* parameters:
* - name: id
* - name: idOrCode
* in: path
* description: The gift card's ID.
* description: The gift card's ID or code.
* required: true
* schema:
* type: string
@@ -25,8 +25,8 @@
* in: query
* description: |-
* Comma-separated fields that should be included in the returned data.
* if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
* without prefix it will replace the entire default fields.
* if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
* without prefix it will replace the entire default fields.
* required: false
* schema:
* type: string
@@ -39,7 +39,8 @@
* - lang: Shell
* label: cURL
* source: |-
* curl '{backend_url}/store/gift-cards/{id}' \
* curl '{backend_url}/store/gift-cards/{idOrCode}' \
* -H 'Authorization: Bearer {access_token}' \
* -H 'x-publishable-api-key: {your_publishable_api_key}'
* tags:
* - Gift Cards
@@ -58,13 +59,10 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
* security:
* - cookie_auth: []
* - jwt_token: []
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -354,10 +354,10 @@
* security:
* - cookie_auth: []
* - jwt_token: []
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -65,10 +65,10 @@
* security:
* - cookie_auth: []
* - jwt_token: []
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -71,10 +71,10 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -71,10 +71,10 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -1,74 +0,0 @@
/**
* @oas [post] /store/gift-card-invitations/{code}/accept
* operationId: PostGiftCardInvitationsCodeAccept
* summary: Accept Customer's Gift Card Invitation
* x-sidebar-summary: Accept Invitation
* description: Accept the logged-in customer's gift card invitation
* x-authenticated: true
* x-ignoreCleanup: true
* parameters:
* - name: code
* in: path
* description: The gift card invitation's code.
* required: true
* schema:
* type: string
* - name: x-publishable-api-key
* in: header
* description: Publishable API Key created in the Medusa Admin.
* required: true
* schema:
* type: string
* externalDocs:
* url: https://docs.medusajs.com/api/store#publishable-api-key
* - name: fields
* in: query
* description: |-
* Comma-separated fields that should be included in the returned data.
* if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
* without prefix it will replace the entire default fields.
* required: false
* schema:
* type: string
* title: fields
* description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default
* fields. Without prefix it will replace the entire default fields.
* externalDocs:
* url: "#select-fields-and-relations"
* x-codeSamples:
* - lang: Shell
* label: cURL
* source: |-
* curl -X POST '{backend_url}/store/gift-card-invitations/{code}/accept' \
* -H 'x-publishable-api-key: {your_publishable_api_key}'
* tags:
* - Gift Card Invitations
* responses:
* "200":
* description: OK
* content:
* application/json:
* schema:
* $ref: "#/components/schemas/StoreGiftCardInvitationResponse"
* "400":
* $ref: "#/components/responses/400_error"
* "401":
* $ref: "#/components/responses/unauthorized"
* "404":
* $ref: "#/components/responses/not_found_error"
* "409":
* $ref: "#/components/responses/invalid_state_error"
* "422":
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
* security:
* - cookie_auth: []
* - jwt_token: []
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*/

View File

@@ -1,74 +0,0 @@
/**
* @oas [post] /store/gift-card-invitations/{code}/reject
* operationId: PostGiftCardInvitationsCodeReject
* summary: Reject Customer's Gift Card Invitation
* x-sidebar-summary: Reject Invitation
* description: Reject the logged-in customer's gift card invitation
* x-authenticated: true
* x-ignoreCleanup: true
* parameters:
* - name: code
* in: path
* description: The gift card invitation's code.
* required: true
* schema:
* type: string
* - name: x-publishable-api-key
* in: header
* description: Publishable API Key created in the Medusa Admin.
* required: true
* schema:
* type: string
* externalDocs:
* url: https://docs.medusajs.com/api/store#publishable-api-key
* - name: fields
* in: query
* description: |-
* Comma-separated fields that should be included in the returned data.
* if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
* without prefix it will replace the entire default fields.
* required: false
* schema:
* type: string
* title: fields
* description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default
* fields. Without prefix it will replace the entire default fields.
* externalDocs:
* url: "#select-fields-and-relations"
* x-codeSamples:
* - lang: Shell
* label: cURL
* source: |-
* curl -X POST '{backend_url}/store/gift-card-invitations/{code}/reject' \
* -H 'x-publishable-api-key: {your_publishable_api_key}'
* tags:
* - Gift Card Invitations
* responses:
* "200":
* description: OK
* content:
* application/json:
* schema:
* $ref: "#/components/schemas/StoreGiftCardInvitationResponse"
* "400":
* $ref: "#/components/responses/400_error"
* "401":
* $ref: "#/components/responses/unauthorized"
* "404":
* $ref: "#/components/responses/not_found_error"
* "409":
* $ref: "#/components/responses/invalid_state_error"
* "422":
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
* security:
* - cookie_auth: []
* - jwt_token: []
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*/

View File

@@ -1,15 +1,15 @@
/**
* @oas [post] /store/gift-cards/{id}/redeem
* operationId: PostGiftCardsIdRedeem
* summary: Redeem Customer's Gift Card
* @oas [post] /store/gift-cards/{idOrCode}/redeem
* operationId: PostGiftCardsIdorcodeRedeem
* summary: Redeem a Gift Card
* x-sidebar-summary: Redeem Gift Card
* description: Redeem the logged-in customer's gift card
* description: Redeem a gift card by its ID or code. The gift card will be added to the logged-in customer's store credit account.
* x-authenticated: true
* x-ignoreCleanup: true
* parameters:
* - name: id
* - name: idOrCode
* in: path
* description: The gift card's ID.
* description: The gift card's ID or code.
* required: true
* schema:
* type: string
@@ -25,8 +25,8 @@
* in: query
* description: |-
* Comma-separated fields that should be included in the returned data.
* if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
* without prefix it will replace the entire default fields.
* if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
* without prefix it will replace the entire default fields.
* required: false
* schema:
* type: string
@@ -35,11 +35,15 @@
* fields. Without prefix it will replace the entire default fields.
* externalDocs:
* url: "#select-fields-and-relations"
* security:
* - cookie_auth: []
* - jwt_token: []
* x-codeSamples:
* - lang: Shell
* label: cURL
* source: |-
* curl -X POST '{backend_url}/store/gift-cards/{id}/redeem' \
* curl -X POST '{backend_url}/store/gift-cards/{idOrCode}/redeem' \
* -H 'Authorization: Bearer {access_token}' \
* -H 'x-publishable-api-key: {your_publishable_api_key}'
* tags:
* - Gift Cards
@@ -62,13 +66,10 @@
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
* security:
* - cookie_auth: []
* - jwt_token: []
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
* - text: Cloud
* description: |
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*
*/

View File

@@ -1,83 +0,0 @@
/**
* @oas [post] /store/gift-cards/{id}/invitation
* operationId: PostGiftCardsIdInvitation
* summary: Send Gift Card Invitation
* x-sidebar-summary: Send Invitation
* description: Send a gift card invitation to a customer's email address. The gift card must belong to the logged-in customer, and it must not have been redeemed yet.
* x-authenticated: true
* x-ignoreCleanup: true
* parameters:
* - name: id
* in: path
* description: The gift card's ID.
* required: true
* schema:
* type: string
* - name: x-publishable-api-key
* in: header
* description: Publishable API Key created in the Medusa Admin.
* required: true
* schema:
* type: string
* externalDocs:
* url: https://docs.medusajs.com/api/store#publishable-api-key
* - name: fields
* in: query
* description: |-
* Comma-separated fields that should be included in the returned data.
* if a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default fields.
* without prefix it will replace the entire default fields.
* required: false
* schema:
* type: string
* title: fields
* description: Comma-separated fields that should be included in the returned data. If a field is prefixed with `+` it will be added to the default fields, using `-` will remove it from the default
* fields. Without prefix it will replace the entire default fields.
* externalDocs:
* url: "#select-fields-and-relations"
* requestBody:
* content:
* application/json:
* schema:
* $ref: "#/components/schemas/StoreCreateGiftCardInvitation"
* x-codeSamples:
* - lang: Shell
* label: cURL
* source: |-
* curl -X POST '{backend_url}/store/gift-cards/{id}/invitation' \
* -H 'x-publishable-api-key: {your_publishable_api_key}' \
* -H 'Content-Type: application/json' \
* --data-raw '{
* "email": "Morton61@hotmail.com"
* }'
* tags:
* - Gift Cards
* responses:
* "200":
* description: OK
* content:
* application/json:
* schema:
* $ref: "#/components/schemas/StoreGiftCardResponse"
* "400":
* $ref: "#/components/responses/400_error"
* "401":
* $ref: "#/components/responses/unauthorized"
* "404":
* $ref: "#/components/responses/not_found_error"
* "409":
* $ref: "#/components/responses/invalid_state_error"
* "422":
* $ref: "#/components/responses/invalid_request_error"
* "500":
* $ref: "#/components/responses/500_error"
* security:
* - cookie_auth: []
* - jwt_token: []
*
* x-badges:
* - text: "Cloud"
* description: >
* This API route is only available in [Medusa Cloud](https://docs.medusajs.com/cloud/loyalty-plugin).
*/

View File

@@ -6,7 +6,6 @@
* required:
* - line_item
* - customer
* - invitation
* - id
* - code
* - status
@@ -67,8 +66,6 @@
* type: string
* title: expires_at
* description: The date the gift card expires at.
* invitation:
* $ref: "#/components/schemas/AdminGiftCardInvitation"
* created_at:
* type: string
* format: date-time

View File

@@ -1,42 +0,0 @@
/**
* @schema AdminGiftCardInvitation
* type: object
* description: The gift card invitation details.
* required:
* - gift_card
* - id
* - code
* - status
* - expires_at
* - email
* properties:
* id:
* type: string
* title: id
* description: The invitation's ID.
* email:
* type: string
* title: email
* description: The invitation's email.
* format: email
* code:
* type: string
* title: code
* description: The invitation's code.
* status:
* type: string
* description: The invitation's status.
* enum:
* - pending
* - accepted
* - rejected
* expires_at:
* type: string
* title: expires_at
* description: The date the invitation expires at.
* gift_card:
* $ref: "#/components/schemas/AdminGiftCard"
* x-schemaName: AdminGiftCardInvitation
*
*/

View File

@@ -26,6 +26,11 @@
* description: The list of gift cards.
* items:
* $ref: "#/components/schemas/AdminGiftCard"
* estimate_count:
* type: number
* title: estimate_count
* description: The gift card's estimate count.
* x-featureFlag: index_engine
*
*/

View File

@@ -26,6 +26,11 @@
* description: The list of store credit accounts.
* items:
* $ref: "#/components/schemas/AdminStoreCreditAccount"
* estimate_count:
* type: number
* title: estimate_count
* description: The store credit account's estimate count.
* x-featureFlag: index_engine
*
*/

View File

@@ -26,6 +26,11 @@
* description: The list of transaction groups.
* items:
* $ref: "#/components/schemas/AdminTransactionGroup"
* estimate_count:
* type: number
* title: estimate_count
* description: The transaction group's estimate count.
* x-featureFlag: index_engine
*
*/

View File

@@ -26,6 +26,11 @@
* description: The list of transactions.
* items:
* $ref: "#/components/schemas/AdminTransaction"
* estimate_count:
* type: number
* title: estimate_count
* description: The store credit account's estimate count.
* x-featureFlag: index_engine
*
*/

View File

@@ -1,15 +0,0 @@
/**
* @schema AdminTransferGiftCard
* type: object
* description: The details of the gift card transfer request.
* x-schemaName: AdminTransferGiftCard
* required:
* - customer_id
* properties:
* customer_id:
* type: string
* title: customer_id
* description: The ID of the customer to transfer the gift card to.
*
*/

View File

@@ -1,21 +0,0 @@
/**
* @schema StoreCreateGiftCardInvitation
* type: object
* description: The details to create a gift card invitation.
* x-schemaName: StoreCreateGiftCardInvitation
* required:
* - email
* properties:
* email:
* type: string
* title: email
* description: The email address to send the gift card invitation to.
* format: email
* expires_at:
* type: string
* title: expires_at
* description: The date the gift card invitation expires.
* format: date-time
*
*/

View File

@@ -6,7 +6,6 @@
* required:
* - customer
* - line_item
* - invitation
* - id
* - code
* - status
@@ -22,6 +21,12 @@
* properties:
* customer:
* $ref: "#/components/schemas/StoreCustomer"
* line_item:
* $ref: "#/components/schemas/StoreOrderLineItem"
* id:
* type: string
* title: id
* description: The gift card's ID.
* code:
* type: string
* title: code
@@ -36,22 +41,32 @@
* type: number
* title: value
* description: The gift card's amount.
* currency_code:
* type: string
* title: currency_code
* description: The gift card's currency code.
* example: usd
* customer_id:
* type: string
* title: customer_id
* description: The ID of the customer that the gift card belongs to.
* id:
* type: string
* title: id
* description: The gift card's ID.
* reference_id:
* type: string
* title: reference_id
* description: The gift card's reference ID.
* note:
* type: string
* title: note
* description: A note with more information about the gift card.
* reference:
* type: string
* title: reference
* description: The gift card's reference.
* expires_at:
* type: string
* title: expires_at
* description: The date the gift card expires.
* format: date-time
* created_at:
* type: string
* format: date-time
@@ -62,23 +77,6 @@
* format: date-time
* title: updated_at
* description: The date the gift card was updated.
* currency_code:
* type: string
* title: currency_code
* description: The gift card's currency code.
* example: usd
* note:
* type: string
* title: note
* description: The gift card's note.
* expires_at:
* type: string
* title: expires_at
* description: The date the gift card expires.
* invitation:
* $ref: "#/components/schemas/StoreGiftCardInvitation"
* line_item:
* $ref: "#/components/schemas/StoreOrderLineItem"
*
*
*/

View File

@@ -1,13 +0,0 @@
/**
* @schema StoreGiftCardInvitationResponse
* type: object
* description: The gift card invitation's details.
* x-schemaName: StoreGiftCardInvitationResponse
* required:
* - gift_card_invitation
* properties:
* gift_card_invitation:
* $ref: "#/components/schemas/StoreGiftCardInvitation"
*
*/

View File

@@ -26,6 +26,11 @@
* description: The list of store credit accounts.
* items:
* $ref: "#/components/schemas/StoreStoreCreditAccount"
* estimate_count:
* type: number
* title: estimate_count
* description: The store credit account's estimate count.
* x-featureFlag: index_engine
*
*/

View File

@@ -122,7 +122,7 @@ class OasKindGenerator extends FunctionKindGenerator {
allowedAuthTypes: ["cookie_auth", "jwt_token"],
},
{
startsWith: "store/gift-card",
exact: "store/gift-cards/[idOrCode]/redeem",
requiresAuthentication: true,
},
{