Skip to main content
Skip to main content

AdminCustomResource

This class is used to send requests custom API Routes. All its method are available in the JS Client under the medusa.admin.custom property.

Methods

get

Send a GET request to a custom API Route. The method accepts a tuple of type parameters: the first TQuery is the type of accepted query parameters, which defaults to Record<string, any>; the second TResponse is the type of response, which defaults to any.

Example

import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
type PostsResponse = {
posts: Post[]
}
// must be previously logged in or use api token
medusa.admin.custom.get<Record<string, any>, PostsResponse>(
"/blog/posts"
)
.then(({ posts }) => {
console.log(posts.length);
})

Type Parameters

TQueryRecord<string, any>Required
TResponseobjectRequired

Parameters

pathstringRequired
The path of the custom API Route.
queryTQuery
Query path parameters to pass in the request.
optionsRequestOptions
Configurations to apply on the request.
customHeadersRecord<string, any>
Custom headers to attach to the request.

Returns

ResponsePromiseResponsePromise<TResponse>Required
The response data.

post

Send a POST request to a custom API Route. The method accepts a tuple of type parameters: the first TPayload is the type of accepted body parameters, which defaults to Record<string, any>; the second TResponse is the type of response, which defaults to any.

Example

import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
type PostRequest = {
title: string
}
type PostResponse = {
post: Post
}
// must be previously logged in or use api token
medusa.admin.custom.post<PostRequest, PostResponse>(
"/blog/posts",
{
title: "My post",
}
)
.then(({ post }) => {
console.log(post.id);
})

Type Parameters

TPayloadRecord<string, any>Required
TResponseobjectRequired

Parameters

pathstringRequired
The path of the custom API Route.
payloadTPayload
Body parameters to pass in the request.
optionsRequestOptions
Configurations to apply on the request.
customHeadersRecord<string, any>
Custom headers to attach to the request.

Returns

ResponsePromiseResponsePromise<TResponse>Required
The response data.

delete

Send a DELETE request to a custom API Route. The method accepts a type parameters TResponse indicating the type of response, which defaults to any.

Example

import Medusa from "@medusajs/medusa-js"
const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 })
// must be previously logged in or use api token
medusa.admin.custom.delete(
`/blog/posts/${postId}`
)
.then(() => {
// deleted successfully
})

Type Parameters

TResponseobjectRequired

Parameters

pathstringRequired
The path of the custom API Route.
optionsRequestOptions
Configurations to apply on the request.
customHeadersRecord<string, any>
Custom headers to attach to the request.

Returns

ResponsePromiseResponsePromise<TResponse>Required
The response data.
Was this section helpful?