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: dolore discountTotal: '0' total: 25.26 shippingCost: 30.07 orderDate: null numVouchers: 1 customer: 5401 properties: data: type: object example: orderNumber: 5 discountCode: dolore discountTotal: '0' total: 25.26 shippingCost: 30.07 orderDate: null numVouchers: 1 customer: 5401 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: velit required: true schema: type: string description: 'The order ID of the order to return.' example: velit - 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: exercitationem discountTotal: '0' total: 63.93 shippingCost: 65.23 orderDate: null numVouchers: 1 customer: 5402 properties: data: type: object example: orderNumber: 6 discountCode: exercitationem discountTotal: '0' total: 63.93 shippingCost: 65.23 orderDate: null numVouchers: 1 customer: 5402 tags: - Order parameters: - in: path name: order_number description: '' example: beatae 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: 11 required: false schema: type: integer description: 'The page number to return.' example: 11 - 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: dph-000707-000609 description: 'Ultimate Spa Treatment
For Two ' issuedDate: '2026-02-14 19:54:20' validFromDate: '2026-02-14 19:54:20' expiryDate: '2027-09-10 00:00:00' personalisation: to: sed message: 'Culpa debitis velit fugiat ab. A provident atque in nihil ipsum. Exercitationem quos alias est deserunt voluptate ut quaerat placeat. Nemo illo nam labore labore ut.' total: 16.27 paid: 16.27 balance: 67.22 status: Redeemed customerName: 'Scarlett Rose' partRedeemable: false delivery: method: Post type: 'Vouchers will be sent via email' cost: 21.91 properties: data: type: object example: code: dph-000707-000609 description: 'Ultimate Spa Treatment
For Two ' issuedDate: '2026-02-14 19:54:20' validFromDate: '2026-02-14 19:54:20' expiryDate: '2027-09-10 00:00:00' personalisation: to: sed message: 'Culpa debitis velit fugiat ab. A provident atque in nihil ipsum. Exercitationem quos alias est deserunt voluptate ut quaerat placeat. Nemo illo nam labore labore ut.' total: 16.27 paid: 16.27 balance: 67.22 status: Redeemed customerName: 'Scarlett Rose' partRedeemable: false delivery: method: Post type: 'Vouchers will be sent via email' cost: 21.91 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: hgv-000226-000522 description: 'Afternoon Tea
for One' issuedDate: '2026-05-26 10:47:22' validFromDate: '2026-05-26 10:47:22' expiryDate: '2028-04-11 00:00:00' personalisation: to: totam message: 'In qui omnis ut sed voluptas. Sit asperiores et dolores. Optio excepturi quam consequatur nesciunt. Necessitatibus aut in dolorum dicta accusamus.' total: 86.55 paid: 86.55 balance: 89.94 status: Redeemed customerName: 'Imogen Rose' partRedeemable: false delivery: method: Post type: 'Vouchers will be sent via email' cost: 13.5 properties: data: type: object example: code: hgv-000226-000522 description: 'Afternoon Tea
for One' issuedDate: '2026-05-26 10:47:22' validFromDate: '2026-05-26 10:47:22' expiryDate: '2028-04-11 00:00:00' personalisation: to: totam message: 'In qui omnis ut sed voluptas. Sit asperiores et dolores. Optio excepturi quam consequatur nesciunt. Necessitatibus aut in dolorum dicta accusamus.' total: 86.55 paid: 86.55 balance: 89.94 status: Redeemed customerName: 'Imogen Rose' partRedeemable: false delivery: method: Post type: 'Vouchers will be sent via email' cost: 13.5 tags: - Voucher parameters: - in: path name: code_voucher_id description: 'The ID of the code voucher.' example: ut required: true schema: type: string - in: path name: code description: 'The code of the voucher to return.' example: facere 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: kui-000745-000516 description: 'Ultimate Spa Treatment
For Two ' issuedDate: '2026-06-04 07:38:03' validFromDate: '2026-06-04 07:38:03' expiryDate: '2026-07-14 00:00:00' personalisation: to: quas message: 'Dolor hic rerum quis esse eum qui molestiae rerum. Qui non placeat eaque. Fugit fugiat numquam et natus amet rem et.' total: 76.02 paid: 76.02 balance: 22.38 status: Void customerName: 'Joanne Griffiths' partRedeemable: false delivery: method: Post type: 'Gift Box Signed 1st class ' cost: 34.73 properties: data: type: object example: code: kui-000745-000516 description: 'Ultimate Spa Treatment
For Two ' issuedDate: '2026-06-04 07:38:03' validFromDate: '2026-06-04 07:38:03' expiryDate: '2026-07-14 00:00:00' personalisation: to: quas message: 'Dolor hic rerum quis esse eum qui molestiae rerum. Qui non placeat eaque. Fugit fugiat numquam et natus amet rem et.' total: 76.02 paid: 76.02 balance: 22.38 status: Void customerName: 'Joanne Griffiths' partRedeemable: false delivery: method: Post type: 'Gift Box Signed 1st class ' cost: 34.73 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: 7 parameters: - in: path name: code_voucher_id description: 'The ID of the code voucher.' example: doloremque required: true schema: type: string - in: path name: code description: 'The code of the voucher to be redeemed.' example: nemo 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: []