Skip to main content
Glama

Bitrefill Search and Shop

Official
by bitrefill
order.ts3.9 kB
/** * Type definitions for Bitrefill Order API */ import { z } from "zod"; /** * Order list request options schema */ export const OrderListOptionsSchema = z.object({ start: z.number().int().nonnegative().optional().describe("Start index. Default: 0"), limit: z.number().int().positive().max(50).optional().describe("Maximum number of records. Maximum/Default: 50"), after: z.string().optional().describe("Start date for limiting results (Inclusive). Format: YYYY-MM-DD HH:MM:SS"), before: z.string().optional().describe("End date for limiting results (Non-Inclusive). Format: YYYY-MM-DD HH:MM:SS"), }); /** * Order list options type */ export type OrderListOptions = z.infer<typeof OrderListOptionsSchema>; /** * Product information schema within an order */ export const OrderProductSchema = z.object({ id: z.string().describe("Product ID"), name: z.string().describe("Product name"), value: z.string().describe("Product value"), currency: z.string().describe("Product currency"), image: z.string().describe("Product image URL"), _href: z.string().optional().describe("Product API endpoint"), }); /** * Order list response schema */ export const OrderListResponseSchema = z.object({ meta: z.object({ start: z.number(), limit: z.number(), after: z.string().optional(), before: z.string().optional(), _endpoint: z.string(), }), data: z.array( z.object({ id: z.string().describe("Unique order identifier"), status: z.string().describe("Order status"), product: OrderProductSchema, created_time: z.string().describe("Creation timestamp"), delivered_time: z.string().optional().describe("Delivery timestamp"), redemption_info: z.string().optional().describe("Information on how to redeem the product"), commission: z.number().optional().describe("Commission amount"), user: z.object({ id: z.string(), email: z.string(), }).optional(), invoice: z.object({ id: z.string(), _href: z.string().optional(), }).optional(), }) ), }); /** * Order list response type */ export type OrderListResponse = z.infer<typeof OrderListResponseSchema>; /** * Order detail response schema */ export const OrderDetailResponseSchema = z.object({ meta: z.object({ id: z.string(), _endpoint: z.string(), }), data: z.object({ id: z.string().describe("Unique order identifier"), status: z.string().describe("Order status"), product: OrderProductSchema, created_time: z.string().describe("Creation timestamp"), delivered_time: z.string().optional().describe("Delivery timestamp"), redemption_info: z.string().optional().describe("Information on how to redeem the product"), }), }); /** * Order detail response type */ export type OrderDetailResponse = z.infer<typeof OrderDetailResponseSchema>; /** * Unsealed order response schema */ export const UnsealedOrderResponseSchema = OrderDetailResponseSchema.extend({ data: z.object({ id: z.string().describe("Unique order identifier"), status: z.string().describe("Order status"), product: OrderProductSchema, created_time: z.string().describe("Creation timestamp"), delivered_time: z.string().optional().describe("Delivery timestamp"), redemption_info: z.string().optional().describe("Information on how to redeem the product"), pin: z.string().optional().describe("PIN code, if applicable"), code: z.string().optional().describe("Gift card code, if applicable"), link: z.string().optional().describe("Gift card link, if applicable"), pin_code: z.string().optional().describe("Alternative PIN code format"), phone_number: z.string().optional().describe("Phone number, for top-ups"), }), }); /** * Unsealed order response type */ export type UnsealedOrderResponse = z.infer<typeof UnsealedOrderResponseSchema>;

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bitrefill/bitrefill-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server