openapi: 3.0.3 info: title: 'Brevix API Documentation' description: 'Public API documentation for Brevix.' version: 2.0.0 servers: - url: 'https://api.brevix.global' tags: - name: Accounts description: '' - name: Barcode description: '' - name: 'Custom Pages' description: '' - name: Health description: '' - name: Links description: '' - name: 'QR Code' description: '' - name: 'UTM Builder' description: '' components: securitySchemes: default: type: apiKey name: X-API-KEY in: header description: "\n \n\n \n\n\n" security: - default: [] paths: /v1/current-plan: get: summary: 'Current Plan' operationId: currentPlan description: '' parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: error: 'API key missing' properties: error: type: string example: 'API key missing' tags: - Accounts security: [] /v1/download-invoice: get: summary: 'Download Invoice' operationId: downloadInvoice description: '' parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: error: 'API key missing' properties: error: type: string example: 'API key missing' tags: - Accounts security: [] /v1/update-personal-info: post: summary: 'Profile Update' operationId: profileUpdate description: "Update Profile for the authenticated user\n\nExpected request fields:\n- `first_name` (optional)\n- `last_name` (optional)\n- `phone` (optional)\n- `profile` (optional)\n- `address` (optional)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - Accounts requestBody: required: false content: multipart/form-data: schema: type: object properties: first_name: type: string description: '' example: architecto nullable: true last_name: type: string description: '' example: architecto nullable: true phone: type: string description: 'Must be at least 10 characters. Must not be greater than 20 characters.' example: ngzmiyvdljnikhwa nullable: true image: type: string format: binary description: 'Must be an image. Must not be greater than 2048 kilobytes.' nullable: true address: type: string description: '' example: architecto nullable: true security: [] /v1/add-feedback: post: summary: Feedback operationId: feedback description: "Feedback for the authenticated user\n\nExpected request fields:\n- `feedback`(required)\n- `image`(optional)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - Accounts requestBody: required: true content: multipart/form-data: schema: type: object properties: feedback: type: string description: 'Must not be greater than 250 characters.' example: b image: type: string format: binary description: 'Must be an image. Must not be greater than 2048 kilobytes.' nullable: true required: - feedback security: [] /v1/update-password: post: summary: 'Password Update' operationId: passwordUpdate description: "Update Password for the authenticated user\n\nExpected request fields:\n- `old_password` (required)\n- `password` (required(Abc@123))\n- `confirm_password` (required(Abc@123))" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - Accounts requestBody: required: true content: application/json: schema: type: object properties: old_password: type: string description: '' example: architecto password: type: string description: '' example: architecto confirm_password: type: string description: 'The value and password must match.' example: architecto required: - old_password - password - confirm_password security: [] /v1/remove-account: post: summary: 'Remove Account' operationId: removeAccount description: "Remove Account for the authenticated user\n\nExpected request fields:\n- `reason`(required)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - Accounts requestBody: required: true content: application/json: schema: type: object properties: reason: type: string description: 'Must not be greater than 250 characters.' example: b required: - reason security: [] /v1/barcode: get: summary: 'Retrieve Barcode' operationId: retrieveBarcode description: "Retrieve barcode belonging to the authenticated API key's user" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: error: 'API key missing' properties: error: type: string example: 'API key missing' tags: - Barcode security: [] /v1/generate-barcode: post: summary: 'Generate Barcode' operationId: generateBarcode description: "Generate a new Barcode for the authenticated user\n\nExpected request fields:\n- `url` (required)\n- `description` (optional)\n- `size` (optional)\n- `color` (optional (hex(like : #000)))\n- `text` (optional)\n- `text_size` (optional)\n- `text_color` (optional (hex(like : #000)))\n- `text_position` (optional)\n- `color` (optional (hex(like : #000)))" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - Barcode requestBody: required: true content: application/json: schema: type: object properties: url: type: string description: 'Must be a valid URL.' example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html' size: type: number description: 'Must be at least 10. Must not be greater than 300.' example: 5 nullable: true color: type: string description: 'Must match the regex /^#([A-Fa-f0-9]{6}.' example: '#(922815' nullable: true text: type: string description: 'Must not be greater than 50 characters.' example: l nullable: true text_position: type: string description: '' example: top enum: - top - bottom nullable: true text_color: type: string description: 'Must match the regex /^#([A-Fa-f0-9]{6}.' example: '#(922815' nullable: true text_size: type: number description: 'Must be at least 10. Must not be greater than 80.' example: 5 nullable: true description: type: string description: 'Must not be greater than 255 characters.' example: 'Harum mollitia modi deserunt aut ab provident perspiciatis quo.' nullable: true required: - url security: [] /v1/remove-barcode: post: summary: 'Remove Barcode' operationId: removeBarcode description: "Remove Barcode belonging to the authenticated API key's user\n\n * Expected request fields:\n- `uuid` (required)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - Barcode requestBody: required: true content: application/json: schema: type: object properties: uuid: type: string description: '' example: architecto required: - uuid security: [] /v1/edit-barcode: post: summary: 'Update Barcode' operationId: updateBarcode description: "Update Barcode belonging to the authenticated API key's user\n\nExpected request fields:\n- `uuid` (required)\n- `url` (required)\n- `description` (optional)\n- `size` (optional)\n- `color` (optional (hex(like : #000)))\n- `text` (optional)\n- `text_size` (optional)\n- `text_color` (optional (hex(like : #000)))\n- `text_position` (optional)\n- `color` (optional (hex(like : #000)))" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - Barcode requestBody: required: true content: application/json: schema: type: object properties: uuid: type: string description: '' example: architecto url: type: string description: 'Must be a valid URL.' example: 'http://bailey.com/' nullable: true size: type: number description: 'Must be at least 10. Must not be greater than 300.' example: 17 nullable: true color: type: string description: 'Must match the regex /^#([A-Fa-f0-9]{6}.' example: '#(922815' nullable: true text: type: string description: 'Must not be greater than 50 characters.' example: l nullable: true text_position: type: string description: '' example: top enum: - top - bottom nullable: true text_color: type: string description: 'Must match the regex /^#([A-Fa-f0-9]{6}.' example: '#(922815' nullable: true text_size: type: number description: 'Must be at least 10. Must not be greater than 80.' example: 5 nullable: true description: type: string description: 'Must not be greater than 255 characters.' example: 'Harum mollitia modi deserunt aut ab provident perspiciatis quo.' nullable: true required: - uuid security: [] /v1/pages: get: summary: 'Retrieve Pages' operationId: retrievePages description: "Retrieve Pages belonging to the authenticated API key's user" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: error: 'API key missing' properties: error: type: string example: 'API key missing' tags: - 'Custom Pages' security: [] /v1/remove-page: post: summary: 'Remove Pages' operationId: removePages description: "Remove Pages belonging to the authenticated API key's user\n\n * Expected request fields:\n- `uuid` (required)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - 'Custom Pages' requestBody: required: true content: application/json: schema: type: object properties: uuid: type: string description: '' example: architecto required: - uuid security: [] /v1/generate-page: post: summary: 'Generate Pages' operationId: generatePages description: "Create a custom page for the authenticated user.\nThis API stores frame configuration, generates a shareable page,\ncreates a short link, and generates a QR code.\n\nExpected request fields:\n\nBASIC\n- `title` (required, string)\n- `subtitle` (optional, string)\n- `slug` (required, string) Unique page slug\n- `domain` (required, string) Must exist in `domains.name`\n\nLOGO\n- `logoText` (optional, string)\n- `logoStatus` (required, 0|1)\n- `logoPosition` (required, top-left|top-right|bottom-left|bottom-right)\n\nTHEME (object)\n- `theme.bggradient` (required, array[2])\n- `theme.bg` (optional, string)\n- `theme.logoBg` (optional, string)\n- `theme.bodyBg` (optional, string)\n- `theme.boxShadow` (optional, string)\n- `theme.text` (optional, string)\n- `theme.subtext` (optional, string)\n- `theme.buttonBg` (optional, string)\n- `theme.buttonText` (optional, string)\n- `theme.borderWidth` (optional, string)\n- `theme.borderColor` (optional, string)\n- `theme.borderRadius` (optional, string)\n- `theme.socialColor` (optional, string)\n\nTOP SHAPE (object)\n- `topShape.color` (optional, string)\n- `topShape.height` (optional, integer)\n- `topShape.clip` (optional, string)\n\nSOCIAL\n- `socialAlign` (optional, left|center|right)\n- `socialIcons` (optional, array)\n- `socialIcons[].icon` (required, string)\n- `socialIcons[].link` (optional, URL)\n- `socialIcons[].bg` (optional, string)\n\nIMAGES (array)\n- `images[].id` (required, integer)\n- `images[].src` (required, URL)\n- `images[].status` (required, 0|1)\n- `images[].title` (optional, string)\n\nBUTTONS (array)\n- `buttons[].id` (required, integer)\n- `buttons[].status` (required, 0|1)\n- `buttons[].label` (required, string)\n- `buttons[].url` (optional, URL)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - 'Custom Pages' requestBody: required: true content: multipart/form-data: schema: type: object properties: title: type: string description: 'BASIC. Must not be greater than 255 characters.' example: b subtext: type: string description: 'Must not be greater than 500 characters.' example: 'n' nullable: true slug: type: string description: 'Must not be greater than 255 characters.' example: g domain: type: string description: '' example: null nullable: true logoText: type: string description: 'LOGO. Must not be greater than 50 characters.' example: z nullable: true logoPosition: type: string description: '' example: top-left enum: - top-left - top-right - top-center - bottom-left - bottom-right logo: type: string format: binary description: 'Must be an image. Must not be greater than 2048 kilobytes.' nullable: true socialAlign: type: string description: SOCIAL. example: center enum: - left - center - right nullable: true socialIcons: type: array description: '' example: null items: type: object nullable: true properties: name: type: string description: '' example: twitter enum: - facebook - instagram - whatsapp - twitter - youtube link: type: string description: 'Must be a valid URL.' example: 'http://bailey.com/' nullable: true bg: type: string description: '' example: architecto nullable: true required: - name images: type: array description: 'Must be an image. Must not be greater than 2048 kilobytes.' items: type: string format: binary buttons: type: array description: 'BUTTONS. Must have at least 1 items.' example: - [] items: type: object properties: label: type: string description: 'Must not be greater than 255 characters.' example: 'n' url: type: string description: 'Must be a valid URL.' example: 'http://crooks.biz/et-fugiat-sunt-nihil-accusantium' nullable: true required: - label theme: type: array description: '' example: - [] items: type: object properties: bgColor: type: string description: "THEME\n'theme' => 'required|array',." example: architecto nullable: true textColor: type: string description: '' example: architecto nullable: true subTextColor: type: string description: '' example: architecto nullable: true buttonBgColor: type: string description: '' example: architecto nullable: true buttonTextColor: type: string description: '' example: architecto nullable: true logoBgColor: type: string description: '' example: architecto nullable: true borderWidth: type: string description: '' example: architecto nullable: true borderColor: type: string description: '' example: architecto nullable: true borderRadius: type: string description: '' example: architecto nullable: true boxShadow: type: string description: '' example: architecto nullable: true socialIconColor: type: string description: '' example: architecto nullable: true required: - title - slug - logoPosition - images - buttons security: [] /v1/edit-page: post: summary: 'Update Pages' operationId: updatePages description: "Update pages belonging to the authenticated API key's user\n\nExpected request fields:\n\nBASIC\n- `uuid` (required)\n- `title` (required, string)\n- `subtitle` (optional, string)\n- `slug` (required, string) Unique page slug\n- `domain` (required, string) Must exist in `domains.name`\n\nLOGO\n- `logoText` (optional, string)\n- `logoStatus` (required, 0|1)\n- `logoPosition` (required, top-left|top-right|bottom-left|bottom-right)\n\nTHEME (object)\n- `theme.bggradient` (required, array[2])\n- `theme.bg` (optional, string)\n- `theme.logoBg` (optional, string)\n- `theme.bodyBg` (optional, string)\n- `theme.boxShadow` (optional, string)\n- `theme.text` (optional, string)\n- `theme.subtext` (optional, string)\n- `theme.buttonBg` (optional, string)\n- `theme.buttonText` (optional, string)\n- `theme.borderWidth` (optional, string)\n- `theme.borderColor` (optional, string)\n- `theme.borderRadius` (optional, string)\n- `theme.socialColor` (optional, string)\n\nTOP SHAPE (object)\n- `topShape.color` (optional, string)\n- `topShape.height` (optional, integer)\n- `topShape.clip` (optional, string)\n\nSOCIAL\n- `socialAlign` (optional, left|center|right)\n- `socialIcons` (optional, array)\n- `socialIcons[].icon` (required, string)\n- `socialIcons[].link` (optional, URL)\n- `socialIcons[].bg` (optional, string)\n\nIMAGES (array)\n- `images[].id` (required, integer)\n- `images[].src` (required, URL)\n- `images[].status` (required, 0|1)\n- `images[].title` (optional, string)\n\nBUTTONS (array)\n- `buttons[].id` (required, integer)\n- `buttons[].status` (required, 0|1)\n- `buttons[].label` (required, string)\n- `buttons[].url` (optional, URL)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - 'Custom Pages' requestBody: required: true content: multipart/form-data: schema: type: object properties: uuid: type: string description: BASIC. example: architecto title: type: string description: 'Must not be greater than 255 characters.' example: 'n' subtext: type: string description: 'Must not be greater than 500 characters.' example: g nullable: true logo: type: string format: binary description: 'LOGO. Must be an image. Must not be greater than 2048 kilobytes.' nullable: true logoText: type: string description: 'Must not be greater than 50 characters.' example: z nullable: true logoPosition: type: string description: '' example: top-center enum: - top-left - top-right - top-center - bottom-left - bottom-right theme: type: array description: THEME. example: null items: type: object nullable: true properties: bgColor: type: string description: '' example: architecto nullable: true textColor: type: string description: '' example: architecto nullable: true subTextColor: type: string description: '' example: architecto nullable: true buttonBgColor: type: string description: '' example: architecto nullable: true buttonTextColor: type: string description: '' example: architecto nullable: true logoBgColor: type: string description: '' example: architecto nullable: true borderWidth: type: string description: '' example: architecto nullable: true borderColor: type: string description: '' example: architecto nullable: true borderRadius: type: string description: '' example: architecto nullable: true boxShadow: type: string description: '' example: architecto nullable: true socialIconColor: type: string description: '' example: architecto nullable: true socialAlign: type: string description: SOCIAL. example: right enum: - left - center - right nullable: true socialIcons: type: array description: '' example: null items: type: object nullable: true properties: name: type: string description: '' example: instagram enum: - facebook - instagram - whatsapp - twitter - youtube link: type: string description: 'Must be a valid URL.' example: 'http://bailey.com/' nullable: true bg: type: string description: '' example: architecto nullable: true required: - name images: type: array description: 'Must be an image. Must not be greater than 2048 kilobytes.' items: type: string format: binary buttons: type: array description: 'BUTTONS. Must have at least 1 items.' example: - [] items: type: object properties: label: type: string description: 'Must not be greater than 255 characters.' example: 'n' url: type: string description: 'Must be a valid URL.' example: 'http://crooks.biz/et-fugiat-sunt-nihil-accusantium' nullable: true required: - label required: - uuid - title - logoPosition - buttons security: [] /v1/healthcheck: get: summary: 'Health check' operationId: healthCheck description: 'Returns a simple JSON payload confirming the system is operational.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: success message: 'System is healthy and operational.' properties: status: type: string example: success message: type: string example: 'System is healthy and operational.' tags: - Health security: [] /v1/links: get: summary: 'Retrieve links' operationId: retrieveLinks description: "Retrieve links belonging to the authenticated API key's user" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: error: 'API key missing' properties: error: type: string example: 'API key missing' tags: - Links security: [] /v1/generate-link: post: summary: 'Generate link' operationId: generateLink description: "Generate a new shortened link for the authenticated user\n\nExpected request fields:\n- `link` (required, URL)\n- `description` (optional)\n- `tag` (optional)\n- `expire` (optional, date)\n- `customLink` (optional, custom short code)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - Links requestBody: required: true content: application/json: schema: type: object properties: link: type: string description: 'Must be a valid URL.' example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html' required: - link security: [] /v1/remove-links: post: summary: 'Remove links' operationId: removeLinks description: "Remove links belonging to the authenticated API key's user\n\n * Expected request fields:\n- `uuid` (required)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - Links requestBody: required: true content: application/json: schema: type: object properties: uuid: type: string description: '' example: architecto required: - uuid security: [] /v1/edit-links: post: summary: 'Update links' operationId: updateLinks description: "Update links belonging to the authenticated API key's user\n\nExpected request fields:\n- `uuid` (required)\n- `link` (required, URL)\n- `description` (optional)\n- `tag` (optional)\n- `expire` (optional, date)\n- `customLink` (optional, custom short code)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - Links requestBody: required: true content: application/json: schema: type: object properties: uuid: type: string description: '' example: architecto link: type: string description: '' example: architecto required: - uuid - link security: [] /v1/qrcode: get: summary: 'Retrieve QR Code' operationId: retrieveQRCode description: "Retrieve QR Code belonging to the authenticated API key's user" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: error: 'API key missing' properties: error: type: string example: 'API key missing' tags: - 'QR Code' security: [] /v1/generate-qr: post: summary: 'Generate QR Code' operationId: generateQRCode description: "Generate a new QR Code for the authenticated user\n\nExpected request fields:\n- `url` (required)\n- `description` (optional)\n- `size` (optional)\n- `color` (optional (hex(like : #000)))\n- `eye_color` (optional(hex(like : #000)))\n- `pattern` (required(squares,dots))\n- `logo` (optional(type:jpeg,png,jpg,size:2mb))" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - 'QR Code' requestBody: required: true content: multipart/form-data: schema: type: object properties: url: type: string description: 'Must be a valid URL.' example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html' color: type: string description: 'Must match the regex /^#([A-Fa-f0-9]{6}.' example: '#(922815' nullable: true eye_color: type: string description: 'Must match the regex /^#([A-Fa-f0-9]{6}.' example: '#(922815' nullable: true pattern: type: string description: '' example: dots enum: - squares - dots size: type: integer description: 'Must be at least 200. Must not be greater than 500.' example: 5 nullable: true logo: type: string format: binary description: 'Must be an image. Must not be greater than 2048 kilobytes.' nullable: true required: - url - pattern security: [] /v1/remove-qr: post: summary: 'Remove QR Code' operationId: removeQRCode description: "Remove QR Code belonging to the authenticated API key's user\n\n * Expected request fields:\n- `uuid` (required)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - 'QR Code' requestBody: required: true content: application/json: schema: type: object properties: uuid: type: string description: '' example: architecto required: - uuid security: [] /v1/edit-qr: post: summary: 'Update QR Code' operationId: updateQRCode description: "Update Qr Code belonging to the authenticated API key's user\n\nExpected request fields:\n- `uuid` (required)\n- `url` (required)\n- `description` (optional)\n- `size` (optional)\n- `color` (optional (hex(like : #000)))\n- `eye_color` (optional(hex(like : #000)))\n- `pattern` (required(squares,dots))\n- `logo` (optional(type:jpeg,png,jpg,size:2mb))" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - 'QR Code' requestBody: required: true content: multipart/form-data: schema: type: object properties: uuid: type: string description: '' example: architecto url: type: string description: 'Must be a valid URL.' example: 'http://bailey.com/' nullable: true color: type: string description: 'Must match the regex /^#([A-Fa-f0-9]{6}.' example: '#(922815' nullable: true eye_color: type: string description: 'Must match the regex /^#([A-Fa-f0-9]{6}.' example: '#(922815' nullable: true pattern: type: string description: '' example: dots enum: - squares - dots nullable: true size: type: integer description: 'Must be at least 200. Must not be greater than 500.' example: 5 nullable: true logo: type: string format: binary description: 'Must be an image. Must not be greater than 2048 kilobytes.' nullable: true required: - uuid security: [] /v1/utm: get: summary: 'Retrieve UTM' operationId: retrieveUTM description: "Retrieve Utm links belonging to the authenticated API key's user" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: error: 'API key missing' properties: error: type: string example: 'API key missing' tags: - 'UTM Builder' security: [] /v1/generate-utm: post: summary: 'Generate UTM' operationId: generateUTM description: "Generate a new UTM link for the authenticated user\n\nExpected request fields:\n- `url` (required)\n- `source` (required)\n- `medium` (required)\n- `campaign` (required)\n- `content` (required)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - 'UTM Builder' requestBody: required: true content: application/json: schema: type: object properties: url: type: string description: 'Must be a valid URL.' example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html' source: type: string description: '' example: architecto medium: type: string description: '' example: architecto campaign: type: string description: '' example: architecto content: type: string description: '' example: architecto required: - url - source - medium - campaign - content security: [] /v1/remove-utm: post: summary: 'Remove UTM' operationId: removeUTM description: "Remove UTM belonging to the authenticated API key's user\n\n * Expected request fields:\n- `uuid` (required)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - 'UTM Builder' requestBody: required: true content: application/json: schema: type: object properties: uuid: type: string description: '' example: architecto required: - uuid security: [] /v1/edit-utm: post: summary: 'Update UTM' operationId: updateUTM description: "Update utm belonging to the authenticated API key's user\n\nExpected request fields:\n- `uuid` (required)\n- `url` (required)\n- `source` (required)\n- `medium` (required)\n- `campaign` (required)\n- `content` (required)" parameters: - in: header name: 'X-API-KEY:' description: '' example: '{api_key}' schema: type: string - in: header name: 'X-SIGNATURE:' description: '' example: '{hmac_signature}' schema: type: string - in: header name: 'X-TIMESTAMP:' description: '' example: '{timestamp}' schema: type: string responses: { } tags: - 'UTM Builder' requestBody: required: true content: application/json: schema: type: object properties: uuid: type: string description: '' example: architecto url: type: string description: 'Must be a valid URL.' example: 'http://bailey.com/' source: type: string description: '' example: architecto medium: type: string description: '' example: architecto campaign: type: string description: '' example: architecto content: type: string description: '' example: architecto required: - uuid - url - source - medium - campaign - content security: []