openapi: 3.0.3 info: title: 'Gift Voucher Brilliance API' description: 'API for Gift Voucher Brilliance' version: 1.0.0 servers: - url: 'https://admin.giftvoucherbrilliance.co.uk' paths: /api/orders: get: summary: 'Return details about the latest orders.' description: '' parameters: - in: query name: page description: 'The page number to return.' example: 16 required: false schema: type: integer description: 'The page number to return.' example: 16 - in: query name: expanded description: 'Expand related values to full objects e.g return all orders with customer details.' example: true required: false schema: type: boolean description: 'Expand related values to full objects e.g return all orders with customer details.' example: true - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_TOKEN}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '0' content: application/json: schema: type: object example: data: orderNumber: 5 discountCode: iure discountTotal: '0' total: 86.46 shippingCost: 53.11 orderDate: null numVouchers: 1 customer: 5417 properties: data: type: object example: orderNumber: 5 discountCode: iure discountTotal: '0' total: 86.46 shippingCost: 53.11 orderDate: null numVouchers: 1 customer: 5417 tags: - Order '/api/orders/{order_number}': get: summary: 'Return details about a single order.' description: '' parameters: - in: query name: $order description: 'The order ID of the order to return.' example: soluta required: true schema: type: string description: 'The order ID of the order to return.' example: soluta - in: query name: expanded description: 'Expand related values to full objects e.g return the order with voucher and customer details.' example: true required: false schema: type: boolean description: 'Expand related values to full objects e.g return the order with voucher and customer details.' example: true - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_TOKEN}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '0' content: application/json: schema: type: object example: data: orderNumber: 6 discountCode: velit discountTotal: '0' total: 32.81 shippingCost: 50.76 orderDate: null numVouchers: 1 customer: 5418 properties: data: type: object example: orderNumber: 6 discountCode: velit discountTotal: '0' total: 32.81 shippingCost: 50.76 orderDate: null numVouchers: 1 customer: 5418 tags: - Order parameters: - in: path name: order_number description: '' example: sed required: true schema: type: string /api/shop: get: summary: 'Return details about the current authenicated shop' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_TOKEN}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: title: Clockwork url: 'https://clockwork.giftvoucherbrilliance.co.uk' properties: data: type: object example: title: Clockwork url: 'https://clockwork.giftvoucherbrilliance.co.uk' tags: - Shop /api/vouchers-sold: get: summary: 'Return details about the latest vouchers issued.' description: '' parameters: - in: query name: page description: 'The page number to return.' example: 16 required: false schema: type: integer description: 'The page number to return.' example: 16 - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_TOKEN}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '0' content: application/json: schema: type: object example: data: code: fgy-000040-000078 description: 'Back, Face & Scalp Massage ' issuedDate: '2026-07-04 13:23:17' validFromDate: '2026-07-04 13:23:17' expiryDate: '2026-09-25 00:00:00' personalisation: to: et message: 'Iste ipsam deserunt labore ratione nobis sit. Dolores pariatur dolores officia tenetur id autem beatae. Asperiores dolorem illum praesentium alias nobis. Reiciendis et quas necessitatibus non.' total: 84.46 paid: 84.46 balance: 61.96 status: Redeemed customerName: 'Maisie Wilson' partRedeemable: false delivery: method: Email cost: 91.04 email: null properties: data: type: object example: code: fgy-000040-000078 description: 'Back, Face & Scalp Massage ' issuedDate: '2026-07-04 13:23:17' validFromDate: '2026-07-04 13:23:17' expiryDate: '2026-09-25 00:00:00' personalisation: to: et message: 'Iste ipsam deserunt labore ratione nobis sit. Dolores pariatur dolores officia tenetur id autem beatae. Asperiores dolorem illum praesentium alias nobis. Reiciendis et quas necessitatibus non.' total: 84.46 paid: 84.46 balance: 61.96 status: Redeemed customerName: 'Maisie Wilson' partRedeemable: false delivery: method: Email cost: 91.04 email: null tags: - Voucher '/api/vouchers-sold/{code_voucher_id}': get: summary: 'Return details about a single voucher.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_TOKEN}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '0' content: application/json: schema: type: object example: data: code: hzm-000476-000796 description: '2 Night stay with Breakfast' issuedDate: '2026-07-07 18:01:14' validFromDate: '2026-07-07 18:01:14' expiryDate: '2026-09-19 00:00:00' personalisation: to: occaecati message: 'Consequatur necessitatibus neque quam. Sit iure delectus hic eius qui unde at. Praesentium recusandae in ipsa laudantium aut. Tempora enim rerum ducimus molestias.' total: 49.5 paid: 49.5 balance: 57.67 status: Redeemed customerName: 'Bethany Edwards' partRedeemable: true delivery: method: Email cost: 16.54 email: null properties: data: type: object example: code: hzm-000476-000796 description: '2 Night stay with Breakfast' issuedDate: '2026-07-07 18:01:14' validFromDate: '2026-07-07 18:01:14' expiryDate: '2026-09-19 00:00:00' personalisation: to: occaecati message: 'Consequatur necessitatibus neque quam. Sit iure delectus hic eius qui unde at. Praesentium recusandae in ipsa laudantium aut. Tempora enim rerum ducimus molestias.' total: 49.5 paid: 49.5 balance: 57.67 status: Redeemed customerName: 'Bethany Edwards' partRedeemable: true delivery: method: Email cost: 16.54 email: null tags: - Voucher parameters: - in: path name: code_voucher_id description: 'The ID of the code voucher.' example: consequatur required: true schema: type: string - in: path name: code description: 'The code of the voucher to return.' example: qui required: true schema: type: string '/api/voucher/{code_voucher_id}/redeem': post: summary: 'Redeem a voucher.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_TOKEN}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '0' content: application/json: schema: type: object example: data: code: jgo-000570-000989 description: 'Monetary Vouchers
To the value of £50.00' issuedDate: '2025-11-02 05:16:11' validFromDate: '2025-11-02 05:16:11' expiryDate: '2028-06-28 00:00:00' personalisation: to: minus message: 'Omnis doloremque suscipit quaerat qui placeat. Magni ut est ea. Perspiciatis aperiam tempora est sed maxime id dicta. Non fuga saepe labore.' total: 18.3 paid: 18.3 balance: 86.52 status: Unredeemed customerName: 'Alison Green' partRedeemable: false delivery: method: Post type: 'Gift Box Signed 1st class ' cost: 18.53 properties: data: type: object example: code: jgo-000570-000989 description: 'Monetary Vouchers
To the value of £50.00' issuedDate: '2025-11-02 05:16:11' validFromDate: '2025-11-02 05:16:11' expiryDate: '2028-06-28 00:00:00' personalisation: to: minus message: 'Omnis doloremque suscipit quaerat qui placeat. Magni ut est ea. Perspiciatis aperiam tempora est sed maxime id dicta. Non fuga saepe labore.' total: 18.3 paid: 18.3 balance: 86.52 status: Unredeemed customerName: 'Alison Green' partRedeemable: false delivery: method: Post type: 'Gift Box Signed 1st class ' cost: 18.53 tags: - Voucher requestBody: required: false content: application/json: schema: type: object properties: amount: type: integer description: 'If the voucher has partRedeemable set to true then you can pass this value. It should be an amount equal or less than the balance of the voucher. The value provided must be of smallest monetary unit of the currency used (integer) e.g £10.43 => 1043.' example: 4 parameters: - in: path name: code_voucher_id description: 'The ID of the code voucher.' example: aliquam required: true schema: type: string - in: path name: code description: 'The code of the voucher to be redeemed.' example: soluta required: true schema: type: string tags: - name: Order description: '' - name: Shop description: "\nEndpoints for getting information about the current shop which is decided via the API Token used." - name: Voucher description: '' components: securitySchemes: default: type: http scheme: bearer description: '' security: - default: []