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: 20 required: false schema: type: integer description: 'The page number to return.' example: 20 - in: query name: expanded description: 'Expand related values to full objects e.g return all orders with customer details.' example: false required: false schema: type: boolean description: 'Expand related values to full objects e.g return all orders with customer details.' example: false - 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: mollitia discountTotal: '0' total: 41.92 shippingCost: 30.41 orderDate: null numVouchers: 1 customer: 4665 properties: data: type: object example: orderNumber: 5 discountCode: mollitia discountTotal: '0' total: 41.92 shippingCost: 30.41 orderDate: null numVouchers: 1 customer: 4665 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: nihil required: true schema: type: string description: 'The order ID of the order to return.' example: nihil - in: query name: expanded description: 'Expand related values to full objects e.g return the order with voucher and customer details.' example: false required: false schema: type: boolean description: 'Expand related values to full objects e.g return the order with voucher and customer details.' example: false - 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: cupiditate discountTotal: '0' total: 76.8 shippingCost: 54.86 orderDate: null numVouchers: 1 customer: 4666 properties: data: type: object example: orderNumber: 6 discountCode: cupiditate discountTotal: '0' total: 76.8 shippingCost: 54.86 orderDate: null numVouchers: 1 customer: 4666 tags: - Order parameters: - in: path name: order_number description: '' example: sapiente 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: 6 required: false schema: type: integer description: 'The page number to return.' example: 6 - 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: xwm-000332-000711 description: 'Back, Face & Scalp Massage ' issuedDate: '2025-03-10 01:39:45' validFromDate: '2025-03-10 01:39:45' expiryDate: '2025-12-24 00:00:00' personalisation: to: vel message: 'Nemo vero voluptas adipisci nemo excepturi non eligendi. Animi deserunt perspiciatis id. Excepturi sit vel eos ut tenetur nulla quod.' total: 92.27 paid: 92.27 balance: 63.67 status: Redeemed customerName: 'Carrie Bailey' partRedeemable: false delivery: method: Email cost: 31.17 email: null properties: data: type: object example: code: xwm-000332-000711 description: 'Back, Face & Scalp Massage ' issuedDate: '2025-03-10 01:39:45' validFromDate: '2025-03-10 01:39:45' expiryDate: '2025-12-24 00:00:00' personalisation: to: vel message: 'Nemo vero voluptas adipisci nemo excepturi non eligendi. Animi deserunt perspiciatis id. Excepturi sit vel eos ut tenetur nulla quod.' total: 92.27 paid: 92.27 balance: 63.67 status: Redeemed customerName: 'Carrie Bailey' partRedeemable: false delivery: method: Email cost: 31.17 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: lao-000971-000356 description: 'Mud Rasul
2 people (45 mins)  ' issuedDate: '2025-07-02 02:05:19' validFromDate: '2025-07-02 02:05:19' expiryDate: '2027-05-18 00:00:00' personalisation: to: doloribus message: 'Qui eveniet quia rem sunt a nostrum. Aliquam autem et reiciendis animi totam. Natus laboriosam tempora provident et numquam quo quisquam. Corporis sit nihil qui non a.' total: 64.25 paid: 64.25 balance: 6.27 status: Unredeemed customerName: 'Wayne Holmes' partRedeemable: false delivery: method: Post type: 'Envelope Standard 1st class' cost: 11.89 properties: data: type: object example: code: lao-000971-000356 description: 'Mud Rasul
2 people (45 mins)  ' issuedDate: '2025-07-02 02:05:19' validFromDate: '2025-07-02 02:05:19' expiryDate: '2027-05-18 00:00:00' personalisation: to: doloribus message: 'Qui eveniet quia rem sunt a nostrum. Aliquam autem et reiciendis animi totam. Natus laboriosam tempora provident et numquam quo quisquam. Corporis sit nihil qui non a.' total: 64.25 paid: 64.25 balance: 6.27 status: Unredeemed customerName: 'Wayne Holmes' partRedeemable: false delivery: method: Post type: 'Envelope Standard 1st class' cost: 11.89 tags: - Voucher parameters: - in: path name: code_voucher_id description: 'The ID of the code voucher.' example: magnam required: true schema: type: string - in: path name: code description: 'The code of the voucher to return.' example: ut 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: oko-000480-000200 description: 'Back, Face & Scalp Massage ' issuedDate: '2025-03-23 11:08:00' validFromDate: '2025-03-23 11:08:00' expiryDate: '2027-01-08 00:00:00' personalisation: to: odio message: 'Beatae minus est quis unde. Quia iure sed aliquid aut perspiciatis. Voluptates et debitis et veritatis consequatur.' total: 70.56 paid: 70.56 balance: 94.63 status: Redeemed customerName: 'Damien Cook' partRedeemable: false delivery: method: Email cost: 41.23 email: null properties: data: type: object example: code: oko-000480-000200 description: 'Back, Face & Scalp Massage ' issuedDate: '2025-03-23 11:08:00' validFromDate: '2025-03-23 11:08:00' expiryDate: '2027-01-08 00:00:00' personalisation: to: odio message: 'Beatae minus est quis unde. Quia iure sed aliquid aut perspiciatis. Voluptates et debitis et veritatis consequatur.' total: 70.56 paid: 70.56 balance: 94.63 status: Redeemed customerName: 'Damien Cook' partRedeemable: false delivery: method: Email cost: 41.23 email: null 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: labore required: true schema: type: string - in: path name: code description: 'The code of the voucher to be redeemed.' example: illum 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: []