{"openapi":"3.0.0","info":{"title":"Litecard API","version":"1.0.0"},"servers":[{"url":"https://bff-api.enterprise.litecard.io","description":"Live URL"},{"url":"https://bff-api-green.enterprise.litecard.io","description":"Gateway Version URL"},{"url":"http://localhost:4001/","description":"Localhost"}],"paths":{"/api/v1/ping":{"get":{"tags":["Health Check"],"operationId":"healthCheck","summary":"Health Check Endpoint","responses":{"200":{"description":"Returns successfully if server is up","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"Health Check Response","example":"ok"}}}}}}}}},"/api/v1/docs":{"get":{"tags":["Documentation"],"operationId":"APIDocs_v1","summary":"Swagger.json Endpoint","responses":{"200":{"description":"swagger.json"}}}},"/api/v1/queue/notification":{"post":{"operationId":"sendNotificationQueue_v1","summary":"Notification via queue endpoint. Can take up to 60 seconds if there are no notifications in the queue","tags":["Notifications"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationV1"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Notification sent successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Successful Response","example":true}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/notification":{"post":{"operationId":"sendNotification_v1","summary":"Instant notification endpoint. Rate limited to 5 notifications per second","tags":["Notifications"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationV1"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Push Notification sent successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Successful Response","example":true}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/notification/reminder":{"post":{"operationId":"sendReminders","summary":"","tags":["Notifications"],"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailRemindersRequestBody"}}},"required":true},"responses":{"200":{"description":"Returns successfully if email reminders were sent","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Successfully sent email reminders","example":true}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/swagger":{"get":{"tags":["Documentation"],"operationId":"swaggerUI","summary":"Swagger UI Endpoint","responses":{"200":{"description":"Swagger Web UI of API documentation"}}}},"/api/v1/token":{"post":{"operationId":"authenticate","summary":"Authentication Token Endpoint","description":"Returns Access token used in API requests. Supports both username/password authentication and OAuth2 client credentials flow.","tags":["Authentication"],"parameters":[{"name":"x-user-tenant","in":"header","description":"Optional tenant identifier (litecard or shakewell)","schema":{"type":"string","enum":["litecard","shakewell"]},"required":false}],"requestBody":{"description":"Supports username/password authentication or OAuth2 client credentials authentication","required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/authenticationRequestBody"},{"$ref":"#/components/schemas/oAuth2ClientCredentialsRequestBody"}]}}}},"responses":{"200":{"description":"Success access token granted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/authenticationResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/template":{"post":{"operationId":"createTemplate_v1","summary":"Create Template Endpoint","tags":["Card Template"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTemplateV1"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"201":{"description":"User has successfully created the template","content":{"application/json":{"schema":{"properties":{"templateId":{"type":"string"},"formId":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"put":{"operationId":"updateTemplate_v1","summary":"Update Template Endpoint","tags":["Card Template"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTemplateV1"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"201":{"description":"User has successfully updated the template","content":{"application/json":{"schema":{"properties":{"templateId":{"type":"string"},"formId":{"type":"string"},"groupId":{"type":"string","description":"Will only appear if updateExistingCards is set to true"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/template/{templateId}":{"get":{"operationId":"getTemplate_v1","summary":"Get Template Endpoint","tags":["Card Template"],"parameters":[{"$ref":"#/components/parameters/templateId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Template retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"body":{"$ref":"#/components/schemas/TemplateV1"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/templates":{"get":{"operationId":"listTemplates_v1","summary":"List Templates Endpoint","tags":["Card Template"],"parameters":[{"$ref":"#/components/parameters/limitPagination"},{"$ref":"#/components/parameters/nextPagination"},{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Templates listed","content":{"application/json":{"schema":{"type":"object","properties":{"templates":{"$ref":"#/components/schemas/ListTemplatesV1"},"next":{"type":"string","description":"Key used to next set of results"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/template/status/{templateId}":{"post":{"operationId":"setTemplateStatus","summary":"Set Template Status","tags":["Card Template"],"security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/templateId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"Template status","example":"ACTIVE","enum":["ACTIVE","INACTIVE","DELETED"]}},"required":["status"]}}},"required":true},"responses":{"200":{"description":"Successfully change template status","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","example":true}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/certificates":{"get":{"operationId":"getCertificates_v1","summary":"List Certificates Endpoint","tags":["Apple Certificate"],"security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/limitPagination"},{"$ref":"#/components/parameters/nextPagination"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"properties":{"certificates":{"type":"array","items":{"$ref":"#/components/schemas/ListCertificatesResponseV1"},"description":"Certificate metadata"},"next":{"type":"string","description":"Key to continue pagination"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/certificate/upload":{"post":{"operationId":"certificateUpload_v1","summary":"Upload Certificate Endpoint","tags":["Apple Certificate"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificateUploadV1"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"User has successfully uploaded the certificate","content":{"application/json":{"schema":{"properties":{"certificateId":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/certificate/csr":{"get":{"operationId":"getCSR_v1","summary":"Get Certificate Signing Request Endpoint","tags":["Apple Certificate"],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"properties":{"csr":{"type":"string","description":"base64 encoded csr"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/card-owner":{"post":{"operationId":"getCardsOfCardOwner","summary":"Lists passes associated with CardOwner based on Email or Phone","tags":["CardOwner"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPassOfCardOwnerRequestV1"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Retrieved List of Passes","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"$ref":"#/components/schemas/ListPassesResult"},"next":{"type":"string","description":"Key used to next set of results"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/card-owner/delete":{"delete":{"operationId":"deleteCardsByContact","summary":"Delete card owner","tags":["Card"],"security":[{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteCardsByContactRequestBody"}}},"required":true},"responses":{"200":{"description":"Cards Deleted","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/card":{"patch":{"operationId":"updateCard","summary":"Update Card Endpoint","tags":["Card"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCardRequestBody"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Update completed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCardResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"operationId":"createCard","summary":"Create Card Endpoint","description":"Card creation requires formId (field input form id) and templateId (apple/google wallet template id) to be provided ","tags":["Card"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateSignUpRequestBody"}}},"required":true},"responses":{"201":{"description":"User Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignUpResponseSchema"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"409":{"$ref":"#/components/responses/AlreadyExists"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/card/retrieve":{"post":{"operationId":"privateRetrieveDeviceCardLink","summary":"Private Retrieves the device specific download link","tags":["Card"],"security":[{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatFastCardRequestBody"}}},"required":true},"responses":{"200":{"description":"Created device specific pass","content":{"application/json":{"schema":{"type":"object","properties":{"appleLink":{"type":"string","description":"Link to apple pass","example":"https://litecard-demo-pkpass.s3-ap-southeast-2.amazonaws.com/coldbrew.pkpass"},"googleLink":{"type":"string","description":"Link to google pass","example":"https://pay.google.com/gp/v/save/eyJhbGciOiJSU"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/card/status":{"post":{"operationId":"setCardStatus","summary":"Card Status Endpoint (De-Activation, Re-Activation and Deletion)","description":"Setting the status of a card to 'INACTIVE' will expire the card, which can be reverted at any time by setting the status to 'ACTIVE', setting the status to 'DELETED' will expire the card and remove the card from billing. Support can be contacted in the case of accidental deletion","tags":["Card"],"security":[{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"cardId":{"type":"string","description":"Unique identifier for the card","example":"7048582966"},"status":{"type":"string","description":"Card status","example":"ACTIVE","enum":["ACTIVE","INACTIVE","DELETED"]}},"required":["status"]}}},"required":true},"responses":{"200":{"description":"Successfully set card status","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","example":true}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/card/{cardId}":{"get":{"operationId":"getCard","summary":"Get Card by Id Endpoint","tags":["Card"],"parameters":[{"$ref":"#/components/parameters/cardId"},{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful Get Card Response","content":{"application/json":{"schema":{"type":"object","properties":{"body":{"$ref":"#/components/schemas/Card"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/card/template":{"post":{"operationId":"createPassTemplate_v1","summary":"Create Card and Template","tags":["Card"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createPassTemplateRequestBody"}}},"required":true},"responses":{"200":{"description":"Template and Pass have been successfully created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createPassTemplateResponseBody"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/card/template/{templateId}":{"get":{"operationId":"listCardsByTemplateId","tags":["Card"],"parameters":[{"$ref":"#/components/parameters/templateId"},{"$ref":"#/components/parameters/limitPagination"},{"$ref":"#/components/parameters/nextPagination"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"summary":"Get the list of card by TemplateId","security":[{"BearerAuth":[]}],"description":"Get the list of Cards by TemplateId","responses":{"200":{"description":"List of card by TemplateId","content":{"application/json":{"schema":{"type":"object","properties":{"passes":{"$ref":"#/components/schemas/ListPassesResult"},"next":{"type":"string","description":"Key used to next set of results"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/schedule/upload":{"get":{"operationId":"generateUploadURL","summary":"Generate a pre-signed URL to upload CSV files for a scheduled task","tags":["Schedule Task"],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"User has successfully generate pre-signed url","content":{"application/json":{"schema":{"properties":{"url":{"type":"string"},"csvId":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/schedule":{"post":{"operationId":"scheduleTask_v1","summary":"Schedule Task Endpoint","tags":["Schedule Task"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleTaskV1"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Task has been successfully scheduled","content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"batchGroup":{"type":"string","description":"ID denoting which batch group a task is part of"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/uiconfig/{downloadId}":{"get":{"operationId":"getUIConfig","summary":"Get Business UI Config based on downloadId","tags":["Download"],"parameters":[{"$ref":"#/components/parameters/downloadId"},{"$ref":"#/components/parameters/txnId"}],"responses":{"200":{"description":"Successful get download response","content":{"application/json":{"schema":{"type":"object","properties":{"body":{"$ref":"#/components/schemas/UIConfigResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/downloadId/{downloadId}":{"get":{"operationId":"getWelcome_v1","summary":"Get download URls based on downloadId","tags":["Download"],"parameters":[{"$ref":"#/components/parameters/downloadId"},{"$ref":"#/components/parameters/txnId"}],"responses":{"200":{"description":"Successful get download response","content":{"application/json":{"schema":{"type":"object","properties":{"body":{"$ref":"#/components/schemas/WelcomeDetailsResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/backlink/{backlinkId}":{"get":{"operationId":"getBacklink_v1","summary":"Get Backlink based on backlinkId","tags":["Backlinks"],"parameters":[{"$ref":"#/components/parameters/backlinkId"},{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful get download response","content":{"application/json":{"schema":{"type":"object","properties":{"body":{"$ref":"#/components/schemas/getBacklinksResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/scans":{"post":{"operationId":"publicScan_v1","summary":"Retrieve card and cardowner based on barcode","tags":["Scan"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicScanBarcodeV1RequestBody"}}},"required":true},"responses":{"200":{"description":"Successful Scan","content":{"application/json":{"schema":{"type":"object","properties":{"body":{"$ref":"#/components/schemas/ScanV1ResponseSchema"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/private/scans":{"get":{"operationId":"listScans_v1","summary":"List all Scans associated a business ID","tags":["Scan"],"parameters":[{"$ref":"#/components/parameters/limitPagination"},{"$ref":"#/components/parameters/nextPagination"},{"$ref":"#/components/parameters/cardIdQuery"},{"$ref":"#/components/parameters/startDateTime"},{"$ref":"#/components/parameters/endDateTime"},{"$ref":"#/components/parameters/includeDeleted"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"responses":{"200":{"$ref":"#/components/responses/ListScansV1"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"operationId":"scan_v1","summary":"Retrieve card and cardowner based on barcode","tags":["Scan"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanBarcodeV1RequestBody"}}},"required":true},"responses":{"200":{"description":"Successful Scan","content":{"application/json":{"schema":{"type":"object","properties":{"body":{"$ref":"#/components/schemas/ScanV1ResponseSchema"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/private/scans/{scanId}":{"delete":{"operationId":"delete_scan_v1","summary":"Delete Scan by Id","tags":["Scan"],"parameters":[{"$ref":"#/components/parameters/scanId"},{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Deleted Scan","content":{"application/json":{"schema":{"type":"object","properties":{"body":{"$ref":"#/components/schemas/DeleteScanV1ResponseSchema"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/scans/actions":{"post":{"operationId":"templateActions","summary":"Endpoint to scan card and apply scanning business rules","tags":["Scan"],"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateActionsRequestBody"}}},"required":true},"responses":{"200":{"description":"Successful Action Complete","content":{"application/json":{"schema":{"type":"object","properties":{"body":{"$ref":"#/components/schemas/TemplateActionsResponseSchema"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/card/business":{"post":{"operationId":"business_card","summary":"Generate Business Card","tags":["Card"],"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessCardRequestBody"}}},"required":true},"responses":{"200":{"description":"Successful Business Card Creation","content":{"application/json":{"schema":{"type":"object","properties":{"body":{"$ref":"#/components/schemas/SignUpResponseSchema"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/card/bulk-fast-create":{"post":{"operationId":"bulkFastCreateCards","summary":"Bulk Fast Create Cards Endpoint","security":[{"BearerAuth":[]}],"tags":["Card"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkFastCreateCardsRequestBody"}}},"required":true},"responses":{"201":{"description":"All cards created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkFastCreateCardsResponse"}}}},"207":{"description":"Partial success - some cards failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkFastCreateCardsResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/exportCsv":{"post":{"operationId":"v1_exportCsv","summary":"Export the csv file","tags":["CSV"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportCsvV1RequestBody"}}},"required":true},"responses":{"200":{"description":"Successfully get the csv download url","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DownloadCsvResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/pass":{"post":{"operationId":"listPasses_v1","summary":"Lists passes associated with business ID","tags":["Pass"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPassRequestV1"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Retrieved List of Passes","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"$ref":"#/components/schemas/ListPassesResult"},"next":{"type":"string","description":"Key used to next set of results"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/pass/search":{"post":{"operationId":"searchPasses_v1","summary":"Searches passes associated with business ID","tags":["Pass"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchPassV1RequestBody"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Retrieved List of Passes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchPassesResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/notification-groups":{"get":{"operationId":"listNotificationGroups_v1","summary":"List all notification groups associated a business ID","tags":["Notification Groups"],"parameters":[{"$ref":"#/components/parameters/limitPagination"},{"$ref":"#/components/parameters/nextPagination"},{"$ref":"#/components/parameters/startDateTime"},{"$ref":"#/components/parameters/endDateTime"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"responses":{"200":{"$ref":"#/components/responses/ListNotificationGroupsV1"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/notification-groups/{notificationGroupId}/cancel":{"put":{"operationId":"cancelNotificationsByGroupId_v1","summary":"Cancel Notifications by Group Id","tags":["Notification Groups"],"parameters":[{"$ref":"#/components/parameters/notificationGroupId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Cancelled Notifications","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Successfully sent email reminders","example":true}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/subBusiness":{"post":{"operationId":"createSubBusiness_v1","summary":"Create a sub business","tags":["Business"],"security":[{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSubBusinessRequestBody"}}},"required":true},"responses":{"200":{"description":"Successfully created sub business","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubBusinessSummary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/pass/downloads/count":{"get":{"operationId":"passDownloadsCount_v1","summary":"Retrieve pass downloads count for a specific period","tags":["Business"],"security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/passCountsDuration"}],"responses":{"200":{"description":"Successfully retrieved pass downloads count","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PassCountsHistory"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/pass/downloads/trend":{"get":{"operationId":"passDownloadTrend_v1","summary":"Retrieve pass download trend for a specific period","tags":["Business"],"security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/passCountsTrendsDuration"},{"$ref":"#/components/parameters/passDownloadsTrendReference"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved pass download trend","content":{"application/json":{"schema":{"type":"object","properties":{"trends":{"type":"array","items":{"$ref":"#/components/schemas/PassTrendDetails"}},"totalSummary":{"$ref":"#/components/schemas/PassCountDetails"},"initialData":{"$ref":"#/components/schemas/PassTrendDetails"}},"description":"Pass download trends"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/cards/upload/csv":{"post":{"operationId":"cardsUploadCSV_v1","tags":["CSV"],"summary":"Upload a CSV file to create cards","security":[{"BearerAuth":[]}],"description":"Upload a CSV to create cards using either base64 file content or S3 file path","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"type":"string","example":"data:text/csv;base64,YXNkLHdlZHcsd2VkZQoxLDIsMwo=","description":"Base64 encoded CSV file content (either this or s3FilePath is required)"},"s3FilePath":{"type":"string","example":"businessId/temp-uploads/templateId/uploadId/file.csv","description":"S3 file path from presigned upload (either this or file is required)"},"templateId":{"type":"string","example":"template-1"},"headerMappings":{"type":"object","additionalProperties":{"type":"string"},"example":{"name":"Full Name","age":"Years Old","email":"Email Address"}},"fileName":{"type":"string","example":"cards.csv"},"overrideExisting":{"type":"boolean","example":true},"smsInvitationEnabled":{"type":"boolean","example":true},"emailInvitationEnabled":{"type":"boolean","example":true},"returnFile":{"type":"boolean","description":"If a return file is expected","example":false},"fastCreate":{"type":"boolean","description":"If fast create is to be enabled","example":false}},"required":["templateId","headerMappings","fileName"]}}}},"responses":{"200":{"description":"CSV file uploaded successfully","content":{"application/json":{"schema":{"type":"object","properties":{"groupId":{"type":"string"},"status":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/cards/upload/presigned-url":{"post":{"operationId":"getPresignedUploadUrl_v1","tags":["CSV"],"summary":"Get presigned URL for CSV file upload","security":[{"BearerAuth":[]}],"description":"Get a presigned S3 URL to upload CSV file directly, avoiding base64 encoding","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"templateId":{"type":"string","example":"template-1","description":"Template ID for the cards"},"fileName":{"type":"string","example":"cards.csv","description":"Name of the CSV file to upload"}},"required":["templateId","fileName"]}}}},"responses":{"200":{"description":"Presigned upload URL generated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"uploadUrl":{"type":"string","description":"Presigned URL for uploading the file"},"key":{"type":"string","description":"S3 key where the file will be stored"},"uploadId":{"type":"string","description":"Unique upload ID"},"expiry":{"type":"string","description":"When the presigned URL expires"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/cards/upload/groups":{"get":{"operationId":"listCardsUploadGroups_v1","parameters":[{"$ref":"#/components/parameters/limitPagination"},{"$ref":"#/components/parameters/nextPagination"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"tags":["Card Uploads"],"summary":"Get the list of card upload groups","security":[{"BearerAuth":[]}],"description":"Get the list of card upload groups","responses":{"200":{"description":"List of card upload groups","content":{"application/json":{"schema":{"type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/components/schemas/CardUploadGroupV1"}},"next":{"type":"string","description":"Key used to next set of results"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/cards/upload/groups/{cardUploadGroupId}":{"get":{"operationId":"listCardUploads_v1","tags":["Card Uploads"],"parameters":[{"$ref":"#/components/parameters/cardUploadGroupId"},{"$ref":"#/components/parameters/limitPagination"},{"$ref":"#/components/parameters/nextPagination"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"summary":"Get the list of card uploads","security":[{"BearerAuth":[]}],"description":"Get the list of card uploads","responses":{"200":{"description":"List of card uploads","content":{"application/json":{"schema":{"type":"object","properties":{"uploads":{"type":"array","items":{"$ref":"#/components/schemas/CardUploadV1"}},"group":{"$ref":"#/components/schemas/CardUploadGroupV1"},"next":{"type":"string","description":"Key used to next set of results"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/external/callback":{"post":{"operationId":"externalCallBack_v1","tags":["External Callback"],"summary":"External Callback Endpoint","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalCallbackV1"}}},"required":true},"responses":{"200":{"description":"Callback received successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Callback received successfully","example":true}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/external/callback/{provider}/{businessIdPath}/{templateId}":{"post":{"operationId":"externalCallBack_v2","parameters":[{"name":"x-timestamp","in":"header","description":"Timestamp of when the callback is sent, in ISO 8601 format","schema":{"type":"string"}},{"name":"x-signature","in":"header","description":"HMAC signature of the request body using the shared secret, used for verifying authenticity","schema":{"type":"string"}},{"name":"x-client-id","in":"header","description":"Client ID of the caller, used for identifying the source","schema":{"type":"string"}},{"$ref":"#/components/parameters/provider"},{"$ref":"#/components/parameters/businessIdPath"},{"$ref":"#/components/parameters/templateId"}],"tags":["External Callback"],"summary":"External Callback Endpoint","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalCallbackV1"}}},"required":true},"responses":{"200":{"description":"Callback received successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Callback received successfully","example":true}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/form/{formId}/design":{"put":{"operationId":"customFormDesignDefinition_v1","tags":["Form"],"summary":"Create or update a custom form design","parameters":[{"$ref":"#/components/parameters/formId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFormDesignSchema"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Successful update of custom form design","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Form"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/voucher/codes/upload/csv":{"post":{"operationId":"voucherCodesCSVUpload_v1","tags":["Voucher Codes"],"summary":"Upload a CSV file to create voucher codes","security":[{"BearerAuth":[]}],"description":"Upload a CSV to create voucher codes","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"type":"string","example":"data:text/csv;base64,YXNkLHdlZHcsd2VkZQoxLDIsMwo="},"type":{"type":"string","example":"VOUCHER","enum":["VOUCHER","EMAIL","EMAIL_MEMBER"]},"templateId":{"type":"string","example":"template-1"},"key":{"type":"string","description":"Optional. The dataField key this voucher set belongs to. Required when template has multiple VOUCHER_CODE fields.","example":"promoCode"}},"required":["file","templateId"]}}}},"responses":{"200":{"description":"CSV file uploaded successfully","content":{"application/json":{"schema":{"type":"object","properties":{"jobId":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/voucher/codes/upload/presigned":{"post":{"operationId":"voucherCodesPresignedUpload_v1","tags":["Voucher Codes"],"summary":"Generate presigned URL to upload voucher codes CSV","security":[{"BearerAuth":[]}],"description":"Generate a presigned URL to upload voucher codes CSV directly to S3","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"VOUCHER","enum":["VOUCHER","EMAIL","EMAIL_MEMBER"]},"templateId":{"type":"string","example":"template-1"},"key":{"type":"string","description":"Optional. The dataField key this voucher set belongs to. Required when template has multiple VOUCHER_CODE fields.","example":"promoCode"}},"required":["templateId"]}}}},"responses":{"200":{"description":"Presigned URL generated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"uploadUrl":{"type":"string","description":"Presigned URL for uploading CSV file"},"jobId":{"type":"string","description":"Unique job ID for tracking the upload"},"key":{"type":"string","description":"S3 key where file will be uploaded"},"expiry":{"type":"string","description":"ISO timestamp when the presigned URL expires"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/voucher/codes/upload/groups/{templateId}":{"get":{"operationId":"listVoucherUploadGroups_v1","tags":["Voucher Codes"],"summary":"List voucher upload groups by templateId","security":[{"BearerAuth":[]}],"description":"Get a paginated list of voucher upload jobs for a given template","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"},"description":"The template ID to list voucher upload groups for"},{"$ref":"#/components/parameters/limitPagination"},{"$ref":"#/components/parameters/nextPagination"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of voucher upload groups","content":{"application/json":{"schema":{"type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/components/schemas/VoucherUploadGroupV1"}},"next":{"type":"string","description":"Key used to fetch next set of results"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/voucher/codes/counts/{templateId}":{"get":{"operationId":"getVoucherCounts_v1","tags":["Voucher Codes"],"summary":"Get voucher code counts for a template","security":[{"BearerAuth":[]}],"description":"Returns totalCount, usedCount and remainingCount for each voucher code field key in the template","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"},"description":"The template ID to get voucher counts for"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"responses":{"200":{"description":"Voucher counts per field key","content":{"application/json":{"schema":{"type":"object","properties":{"counts":{"type":"array","items":{"$ref":"#/components/schemas/VoucherCountV1"}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/webhook/external":{"post":{"operationId":"register_webhook","summary":"Register a client webhook for supported events","tags":["Webhook"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookRegistrationRequestBody"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"201":{"description":"User has successfully registered a webhook","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"operationId":"delete_Webhook","summary":"Delete customer Webhook","tags":["Webhook"],"parameters":[{"$ref":"#/components/parameters/webhookId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"responses":{"200":{"description":"Webhook Deleted","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean"},"webhookId":{"type":"string","description":"ID generated for the webhook for future usee"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"get":{"operationId":"listWebhooks","tags":["Webhook"],"summary":"List all webhooks","security":[{"BearerAuth":[]}],"responses":{"200":{"$ref":"#/components/schemas/ListWebhooksResponse"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/users":{"get":{"operationId":"listUsers","tags":["User"],"summary":"Get the list of users","description":"Returns a list of users with roles, access, and metadata","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"List of users","content":{"application/json":{"schema":{"type":"object","properties":{"users":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]}},"/api/v1/template/{templateId}/downloads/count":{"get":{"operationId":"templatePassDownloadsCount_v1","summary":"Retrieve pass downloads count for a specific template","tags":["Card Template"],"security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/passCountsDuration"},{"$ref":"#/components/parameters/templateId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved pass downloads count","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PassCountsForTemplate"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/template/{templateId}/downloads/trend":{"get":{"operationId":"templatePassDownloadTrend_v1","summary":"Retrieve pass download trend for a specific template","tags":["Card Template"],"security":[{"BearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/passCountsTrendsDuration"},{"$ref":"#/components/parameters/passDownloadsTrendReference"},{"$ref":"#/components/parameters/templateId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved pass download trend","content":{"application/json":{"schema":{"type":"object","properties":{"trends":{"type":"array","items":{"$ref":"#/components/schemas/PassTrendDetails"}},"totalSummary":{"$ref":"#/components/schemas/PassCountDetailsForTemplate"},"initialData":{"$ref":"#/components/schemas/PassTrendDetails"}},"description":"Pass download trends for the template"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/locations":{"get":{"operationId":"listLocations","tags":["Locations"],"summary":"Get the list of Locations","description":"Returns a list of Locations","security":[{"BearerAuth":[]}],"responses":{"200":{"description":"List of Locations","content":{"application/json":{"schema":{"type":"object","properties":{"locations":{"type":"array","items":{"$ref":"#/components/schemas/Location"}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}},"parameters":[{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}]},"post":{"operationId":"add_location","summary":"Register a location for a Business","tags":["Locations"],"parameters":[{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLocationRequestBody"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"201":{"description":"User has successfully registered a webhook","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/locations/{locationId}":{"get":{"operationId":"getLocation","tags":["Locations"],"summary":"Get a specific Location","description":"Returns a specific location by ID","parameters":[{"$ref":"#/components/parameters/locationId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Location details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Location"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"put":{"operationId":"updateLocation","tags":["Locations"],"summary":"Update a Location","description":"Updates location details (latitude, longitude, and name)","parameters":[{"$ref":"#/components/parameters/locationId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLocationRequestBody"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Location updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Location"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"delete":{"operationId":"deleteLocation","tags":["Locations"],"summary":"Delete a Location","description":"Deletes a location by ID","parameters":[{"$ref":"#/components/parameters/locationId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Location deleted successfully","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/integrations/form/{formId}":{"get":{"operationId":"getIntegration_v1","tags":["Integrations"],"summary":"Get the integration details for a signup form","description":"Returns integration details","parameters":[{"$ref":"#/components/parameters/formId"},{"$ref":"#/components/parameters/integrationProviderName"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Integration details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationDetailsV1"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}},"post":{"operationId":"createOrUpdateIntegration_v1","summary":"Create or update integration for a signup form","tags":["Integrations"],"parameters":[{"$ref":"#/components/parameters/formId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateIntegrationConfig"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Integration details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationDetailsV1"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/integrations/form/{formId}/validate":{"post":{"operationId":"validateIntegration_v1","summary":"Validate integration for a signup form","tags":["Integrations"],"parameters":[{"$ref":"#/components/parameters/formId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationValidationRequestBody"}}},"required":true},"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"Integration details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationDetailsV1"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/csv-exports":{"get":{"operationId":"listCsvExports_v1","summary":"List CSV exports for the active business","tags":["CSV"],"parameters":[{"$ref":"#/components/parameters/limitPagination"},{"$ref":"#/components/parameters/nextPagination"},{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"CSV Exports Retrieved","content":{"application/json":{"schema":{"type":"object","properties":{"exports":{"type":"array","items":{"$ref":"#/components/schemas/CSVExportRecord"}},"next":{"type":"string","description":"Pagination token","nullable":true}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalServerError"}}}},"/api/v1/csv-exports/{exportId}":{"get":{"operationId":"getCsvExport_v1","summary":"Get a CSV export by ID","tags":["CSV"],"parameters":[{"name":"exportId","in":"path","required":true,"schema":{"type":"string"},"description":"CSV export ID"},{"$ref":"#/components/parameters/txnId"},{"name":"x-active-business-id","in":"header","description":"Optional. Required for master users. Business ID for which the request is being made.","schema":{"type":"string"}}],"security":[{"BearerAuth":[]}],"responses":{"200":{"description":"CSV Export Retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CSVExportRecord"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}},"components":{"parameters":{"backlinkId":{"name":"backlinkId","in":"path","description":"Unique identifier that is used to identify the Backlink URL","required":true,"schema":{"type":"string"}},"barcodeValue":{"name":"barcodeValue","in":"path","description":"Unique identifier for the card","required":true,"schema":{"type":"string"}},"businessId":{"name":"businessId","in":"query","description":"Unique identifier for a business","schema":{"type":"string","example":"abcd"},"required":true},"businessIdPath":{"name":"businessIdPath","in":"path","description":"Unique identifier for a business","schema":{"type":"string","example":"abcd"},"required":true},"cardId":{"name":"cardId","in":"path","description":"Unique identifier for the card","required":true,"schema":{"type":"string"}},"cardIdQuery":{"name":"cardId","in":"query","description":"Unique identifier for a card","required":false,"schema":{"type":"string","example":"1234567890"}},"cardOwnerEmail":{"name":"cardOwnerEmail","in":"query","description":"Email of card owner","required":false,"schema":{"type":"string","example":"john@litecard.com.au"}},"cardOwnerId":{"name":"cardOwnerId","in":"path","description":"Unique identifier for a card owner","required":true,"schema":{"type":"string","example":"a0gvLNmkj1J7KaoPmUo5F"}},"cardOwnerPhone":{"name":"cardOwnerPhone","in":"query","description":"Phone number of card owner","required":false,"schema":{"type":"string","example":"1234567890"}},"cardUploadGroupId":{"name":"cardUploadGroupId","in":"path","description":"Unique identifier that is used to identify a card upload group","required":true,"schema":{"type":"string"}},"chain":{"name":"chain","in":"query","description":"blockchain","schema":{"type":"string","example":"eth"}},"couponId":{"name":"couponId","in":"path","description":"Unique identifier that is used to identify a business","required":true,"schema":{"type":"string"}},"downloadId":{"name":"downloadId","in":"path","description":"Unique identifier that is used to identify the download urls for a card","required":true,"schema":{"type":"string"}},"endDateTime":{"name":"endDateTime","in":"query","description":"End datetime (in ISO 8601 format) to filter results","required":false,"schema":{"type":"string","example":"2000-01-01T12:34:56.789Z"}},"formId":{"name":"formId","in":"path","description":"Unique identifier that is used to identify a form used by a business","required":true,"schema":{"type":"string"}},"includeDeleted":{"name":"includeDeleted","in":"query","description":"Include records marked as deleted in the response","schema":{"type":"boolean","example":false,"default":false},"required":false},"integrationProviderName":{"name":"providerName","in":"query","description":"Integration Provider Name","schema":{"type":"string","example":"DOTDIGITAL","enum":["DOTDIGITAL"]},"required":true},"isShort":{"name":"isShort","in":"query","description":"Short projection","schema":{"type":"boolean","example":true},"required":false},"limitPagination":{"name":"limit","in":"query","description":"Maximum number of response items in a request","schema":{"type":"string","example":"10"},"required":true},"locationId":{"name":"locationId","in":"path","description":"Unique identifier for a Location","required":true,"schema":{"type":"string"}},"nextPagination":{"name":"next","in":"query","description":"Key to be used to retrieve next set of results","schema":{"type":"string"}},"nftPageId":{"name":"nftPageId","in":"path","description":"NFT Page ID","required":true,"schema":{"type":"string","example":"jtGXi6VZ1B-myR8_dHTS5"}},"notificationGroupId":{"name":"notificationGroupId","in":"path","description":"Unique identifier that is used to identify a notification group","required":true,"schema":{"type":"string"}},"passCountsDuration":{"name":"duration","in":"query","description":"Duration for which pass counts are required. Choose from 'PAST_7_DAYS' for the past week or 'PAST_30_DAYS' for the past 30 days.","required":true,"schema":{"type":"string","enum":["PAST_7_DAYS","PAST_30_DAYS","PAST_90_DAYS","ALL"],"example":"PAST_7_DAYS"}},"passCountsTrendsDuration":{"name":"days","in":"query","description":"Number of days for which pass counts are required. Acceptable values: 7 (past week) or 30 (past 30 days).","required":true,"schema":{"type":"integer","minimum":1,"maximum":100,"example":7}},"passDownloadsTrendReference":{"name":"reference","in":"query","description":"Trend's date reference. Choose from 'CREATION' for the card creation date or 'DOWNLOADS' for the download dates.","required":false,"schema":{"type":"string","enum":["CREATION","DOWNLOADS"],"example":"DOWNLOADS"}},"provider":{"name":"provider","in":"path","description":"Name of External Provider calling Litecard APO","required":true,"schema":{"type":"string"}},"scanId":{"name":"scanId","in":"path","description":"Unique identifier for a scan","required":true,"schema":{"type":"string","example":"-jJWhjZ1a"}},"startDateTime":{"name":"startDateTime","in":"query","description":"Start datetime (in ISO 8601 format) to filter results","required":false,"schema":{"type":"string","example":"2000-01-01T12:34:56.789Z"}},"templateId":{"name":"templateId","in":"path","description":"Id of the template","required":true,"schema":{"type":"string","example":"V1StGXR8_Z5jdHi6B-myT"}},"txnId":{"name":"x-transaction-id","in":"header","description":"Optional. Id used for distributed tracing","required":false,"schema":{"type":"string"}},"usageKey":{"name":"x-api-key","in":"header","description":"Usage key used to manage endpoint rate limits. If required ask the Litecard team to setup a key","required":true,"schema":{"type":"string"}},"walletAddress":{"name":"walletAddress","in":"query","description":"Wallet address","required":true,"schema":{"type":"string","example":"0xE83B91F8EBCE4B459DAFED7206B8817485AE7433"}},"webhookId":{"name":"webhookId","in":"query","description":"Unique identifier for a customer registered webhook","required":true,"schema":{"type":"string"}}},"responses":{"AlreadyExists":{"description":"Already Exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"errorCode":"ALREADY_EXISTS","message":"Already Exists"}}}},"BadRequest":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"errorCode":"BAD_REQUEST","message":"Bad Request"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"errorCode":"INTERNAL_SERVICE_ERROR","message":"Something Failed"}}}},"NotFound":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"errorCode":"NOT_FOUND","message":"Not Found"}}}},"Unauthorized":{"description":"Unauthorized Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"errorCode":"UNAUTHORIZED","message":"Unauthorized"}}}},"ListNotificationGroupsV1":{"description":"Notification Groups Listed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListNotificationGroupsResponse"}}}},"ListScansV1":{"description":"Scans Listed","content":{"application/json":{"schema":{"type":"object","properties":{"scans":{"type":"array","items":{"$ref":"#/components/schemas/Scan"}},"next":{"type":"string","description":"Key used to next set of results"}}}}}},"SearchPassesV1":{"description":"Passes Searched","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchPassesResponse"}}}}},"schemas":{"AggregatedBillingStatistics":{"type":"object","description":"Aggregated Scans Statistics","properties":{"date":{"type":"string","example":"2021-11-09T00:00:00.000Z"},"members":{"type":"number","example":422},"signups":{"type":"number","example":300},"coupons":{"type":"number","example":56}},"required":["date","members","signups","coupons"]},"AggregatedNotificationsStatistics":{"type":"object","description":"Aggregated Notifications Statistics","properties":{"date":{"type":"string","example":"2021-11-09T00:00:00.000Z"},"errorAPN":{"type":"number","example":0},"errorEmail":{"type":"number","example":0},"errorSMS":{"type":"number","example":0},"queuedAPN":{"type":"number","example":0},"queuedEmail":{"type":"number","example":0},"queuedSMS":{"type":"number","example":0},"sentAPN":{"type":"number","example":0},"sentEmail":{"type":"number","example":0},"sentSMS":{"type":"number","example":0}}},"AggregatedScansStatistics":{"type":"object","description":"Aggregated Scans Statistics","properties":{"date":{"type":"string","example":"2021-11-09T00:00:00.000Z"},"templates":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"total":{"type":"number","description":"Total number of scans on a given timestamp for this template","example":0}}}}},"total":{"type":"number","description":"Total number of scans on a given timestamp","example":0}}},"AnalyticsBillingResultsSchema":{"type":"object","properties":{"results":{"type":"object","properties":{"businessId":{"type":"string","example":"litecard"},"queryParameters":{"type":"object","properties":{"startDateTime":{"type":"string","example":"2020-12-01"},"endDateTime":{"type":"string","example":"2020-12-01"}}},"numResults":{"type":"number","example":8},"analytics":{"type":"array","items":{"$ref":"#/components/schemas/AggregatedBillingStatistics"}}},"required":["businessId","queryParameters","numResults","analytics"]}},"required":["results"]},"AnalyticsNotificationsResultsSchema":{"type":"object","properties":{"results":{"type":"object","properties":{"businessId":{"type":"string","example":"litecard"},"queryParameters":{"type":"object","properties":{"startDateTime":{"type":"string","example":"2020-12-01"},"endDateTime":{"type":"string","example":"2020-12-01"}}},"numResults":{"type":"number","example":8},"analytics":{"type":"array","items":{"$ref":"#/components/schemas/AggregatedNotificationsStatistics"}}}}}},"AnalyticsScansResultsSchema":{"type":"object","properties":{"results":{"type":"object","properties":{"businessId":{"type":"string","example":"litecard"},"queryParameters":{"type":"object","properties":{"startDateTime":{"type":"string","example":"2020-12-01"},"endDateTime":{"type":"string","example":"2020-12-01"}}},"numResults":{"type":"number","example":8},"analytics":{"type":"array","items":{"$ref":"#/components/schemas/AggregatedScansStatistics"}}}}}},"BaseCardPayload":{"type":"object","description":"Datafields used by the card","properties":{"email":{"type":"string","description":"Example field for email address","example":"john@litecard.com.au"},"phone":{"type":"string","description":"Users mobile number for text notifications","example":"+61401234567"},"exampleProperty":{"oneOf":[{"type":"string","description":"Example card property as a plain string value","example":"Sample string property"},{"$ref":"#/components/schemas/StandardAddress"}],"description":"This property can be either a simple string or a structured StandardAddress object."}},"additionalProperties":true},"BaseCustomFormDesignSchema":{"type":"object","description":"Sign-up page configuration object","properties":{"designType":{"type":"number","description":"design type id","default":1},"isPublic":{"type":"boolean","description":"Flag to indicate if the form is public","default":false},"documentTitle":{"type":"string","description":"Title of the document","example":"Please enter your title"},"faviconPath":{"type":"string","description":"Path to the favicon image","example":"/path/to/favicon.ico"},"facebookURL":{"type":"string","description":"URL to the Facebook page","example":"https://www.facebook.com/"},"socialLinksText":{"type":"string","description":"Text for the social links section","example":"SHARE"},"instagramURL":{"type":"string","description":"URL to the Instagram page","example":"https://www.instagram.com/"},"redirectionURL":{"type":"string","description":"URL to redirect to after sign up","example":"https://www.example.com"},"termsAndConditionsURL":{"type":"string","description":"URL to the terms and conditions","example":"https://www.example.com/terms"},"termsLinkText":{"type":"string","description":"Text for the terms and conditions link","example":"Terms and Conditions"},"homePageURL":{"type":"string","description":"URL to the home page","example":"https://www.example.com"},"successSubmissionMessage":{"type":"string","description":"Message displayed on successful form submission","example":"Thank you for signing up!"},"disableSuccessSubmissionMessage":{"type":"boolean","description":"Flag to disable the success submission message","example":false},"backgroundStyles":{"$ref":"#/components/schemas/CustomFormDesignBackgroundStyles"},"leftSection":{"$ref":"#/components/schemas/CustomFormDesignLeftSection"},"rightSection":{"$ref":"#/components/schemas/CustomFormDesignRightSection"},"commonStyles":{"$ref":"#/components/schemas/CustomFormDesignCommonStyles"},"footerSection":{"$ref":"#/components/schemas/CustomFormDesignFooterSection"}},"required":["backgroundStyles","leftSection"]},"Card":{"type":"object","properties":{"id":{"type":"string","description":"ID of the Pass","example":"7048582966"},"downloadId":{"type":"string","description":"DownloadId used for landing page","example":"V1StGXR8_Z5jdHi6B-myT"},"appleLink":{"type":"string","description":"Url for the apple pass","example":"https://litecard-demo-pkpass.s3-ap-southeast-2.amazonaws.com/coldbrew.pkpass"},"businessId":{"type":"string","description":"ID of the Business","example":"business123"},"userType":{"type":"string","description":"Type of User","example":"employee"},"createdAt":{"type":"string","description":"Date Time card was created","example":"2021-11-05T04:25:42.676Z"},"googlePassId":{"type":"string","description":"Id of google pass","example":"1231244"},"authToken":{"type":"string","description":"Internal Use Only. Apple Device Auth Token","example":"dscxdsf234"},"passType":{"type":"string","description":"Mobile wallet pass type","example":"VISIT"},"googleLink":{"type":"string","description":"Url of google pass","example":"https://pay.google.com..."},"samsungLink":{"type":"string","description":"Url of samsung pass","example":"https://a.swallet.link/atw/656147182764415319#Clip?pdata=sIgHCzIwM9g"},"templateId":{"type":"string","description":"Id for the template used to create the card","example":"test_business"},"dataFields":{"type":"object","properties":{"exampleDataField":{"type":"string","description":"Example Value","example":"example value"},"fullName":{"type":"string","description":"Full name of owner of card","example":"John Doe"}}},"formId":{"type":"string","description":"Id for field input form","example":"00000001"},"updatedAt":{"type":"string","description":"","example":"2021-11-05T04:25:42.676Z"},"pkPassId":{"type":"string","description":"Id of Apple Pass","example":"pass.au.com.litecard.dev.q124234"},"barcodeValue":{"type":"string","description":"what the barcode value is","example":"5434435"},"appleStatus":{"type":"string","description":"Status of card inside of Apple Wallet","example":"ACTIVE"},"googleStatus":{"type":"string","description":"Status of card inside of Google Wallet","example":"INACTIVE"},"cardOwnerId":{"type":"string","description":"Id of the card owner","example":"asb123"},"status":{"type":"string","description":"Activation Status of the card","enum":["ACTIVE","INACTIVE","DELETED","RESERVED","ERROR","AVAILABLE"],"example":"INACTIVE"},"expiry":{"type":"string","description":"Expiry of card, in ISO-8601 format","example":"2021-08-11T03:15:56.860Z"},"barcodeLink":{"type":"string","description":"Link to the barcode image","example":"https://example.com/blah.png"},"cardOwnerCopy":{"type":"object","description":"A copy of the card owner's information","properties":{"id":{"type":"string","description":"Unique identifier for the card owner","example":"JUJCSVGnLihP6xcTRElpJ"},"businessId":{"type":"string","description":"Identifier for the business associated with the card owner","example":"LgAcJKiMP5qJf8mKv9a9S"},"name":{"type":"string","description":"Full name of the card owner","example":"John Doe"},"membershipNumber":{"type":"string","description":"Membership number associated with the card","example":"M123456789"}}},"disableQR":{"type":"boolean","description":"Disable QR code on Welcome Page","example":true},"stripeCustomerId":{"type":"string","description":"stripeCustomerId for subscription passes","example":"str_123"},"disableDownload":{"type":"boolean","description":"Disable download link if pass is already activated. Default: false","example":true},"tier":{"type":"string","description":"Membership tier of the card","example":"SILVER"},"numOfScans":{"type":"integer","description":"Number of times the card has been scanned","example":0,"default":0}},"required":["formId","templateId"]},"CardMappingPayload":{"type":"object","properties":{"formId":{"type":"string","description":"Id to define the schema for field inputs used to create/update the card.","example":"kSwoChd"},"templateId":{"type":"string","description":"Id for the apple/google pass template used to create the card.","example":"test_business"},"cardPayload":{"$ref":"#/components/schemas/BaseCardPayload"}},"additionalProperties":true},"CardOwner":{"type":"object","description":"Information about the card owner","properties":{"id":{"type":"string","description":"Unique identifier for the card owner","example":"JUJCSVGnLihP6xcTRElpJ"},"businessId":{"type":"string","description":"Identifier for the business associated with the card owner","example":"L3ZrB748fLxlFD8ZjFVgX"},"phone":{"type":"string","description":"Phone number of the card owner","example":"+61402221795"},"email":{"type":"string","format":"email","description":"Email address of the card owner","example":"dzuy.pham+test@corplite.com"},"accountName":{"type":"string","description":"Owner of the card","example":"Ankus Fang"},"userType":{"type":"string","description":"User Type","example":"basic"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp of when the card owner record was created","example":"2023-10-19T09:05:52.771Z"},"firstName":{"type":"string","description":"First name of the card owner","example":"Dzuy"},"formId":{"type":"string","description":"Identifier for the form associated with the card owner","example":"TmtB-B7gadaNbH8aF7Pan"},"lastName":{"type":"string","description":"Last name of the card owner","example":"Pham"},"state":{"type":"string","description":"State of residence of the card owner","example":"VIC"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp of the last update to the card owner's record","example":"2023-10-19T09:05:52.771Z"},"version":{"type":"integer","format":"int32","description":"Version number of the card owner's record","example":1}}},"CardOwnerRequestBody":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of the user","example":"John"},"lastName":{"type":"string","description":"Last name of the user","example":"Doe"},"email":{"type":"string","description":"Email address of the user","example":"john@litecard.com.au"},"phone":{"type":"string","description":"Phone number of the user","example":"1234567890"},"state":{"type":"string","description":"State of Residence","example":"VIC"},"formId":{"type":"string","description":"Id to define the schema for field inputs used to create/update the card..","example":"kSwoChd"},"businessId":{"type":"string","description":"Business Id of the sign up form","example":"sample_dev_company"}},"additionalProperties":true},"CardOwnersScanRequestBody":{"type":"object","properties":{"field":{"type":"string","description":"Attribute name for table filtering","example":"businessId"},"query":{"type":"string","description":"Attribute value for table filtering","example":"abc123"}},"required":["field","query"]},"Certificate":{"type":"object","properties":{"apple":{"type":"string","description":"Apple Certificate Id","example":"st3dfdAsaaf"},"google":{"type":"string","description":"Google Certificate Id","example":"z2pkdjkASg3"}}},"Coupon":{"type":"object","properties":{"id":{"type":"string","description":"Id of the coupon","example":"-jJWhjZ1a"},"name":{"type":"string","description":"Name of the coupon","example":"Grab your first coupon here"},"description":{"type":"string","description":"description of the coupon","example":"Promotions are only for the new registered card owners"},"discountValue":{"type":"number","description":"Coupon discount value","example":"100"},"expiryDate":{"type":"string","description":"Expire date of the coupon","example":"2021-08-15T03:15:56.860Z"},"redemption":{"type":"object","properties":{"buttonText":{"type":"string","description":"Button text of the coupon","example":"Redeem Now (Bar Staff Only)"},"instructions":{"type":"string","description":"Instructions of the coupon","example":"Show this to the bar staff to redeem"}}},"createdAt":{"type":"string","description":"Create date of the coupon","example":"2021-08-11T03:15:56.860Z"},"updatedAt":{"type":"string","description":"Update date of the coupon","example":"2021-08-1T03:15:56.860Z"},"expiryEnabled":{"type":"boolean","description":"Expire status of the coupon","example":"true"},"createdBy":{"type":"string","description":"Auth0 Id of the user who created this instance","example":"V1StGXR8_Z5jdHi6B-myT"},"status":{"type":"string","description":"Redeem status of the coupon","example":"ISSUED"}}},"CreateCouponResponseSchema":{"type":"object","properties":{"message":{"type":"string","additionalProperties":false},"success":{"type":"boolean","description":"Returns whether the request was successful","example":true,"additionalProperties":false}}},"CreateProfileBody":{"type":"object","properties":{"businessName":{"type":"string","description":"Business name","example":"Cryo gym"},"subBusinessName":{"type":"string","description":"Name to show on sub business selection","example":"Cryo gym - Sub 1"},"email":{"type":"string","description":"Business email","example":"Ankus Fang"},"postCode":{"type":"string","description":"Business postcode","example":"CryoGym"},"state":{"type":"string","description":"Business state","example":"AHVW1qv4I_Teqdu4VjwMA"},"logoImage":{"type":"string","nullable":true,"description":"Logo image s3 URL","example":"https://assets.litecard.io/logo.png"},"overrideLitecardLogoImage":{"type":"string","nullable":true,"description":"Override LiteCard logo image s3 URL","example":"https://assets.litecard.io/override-logo.png"},"templateCount":{"type":"number","description":"Current total number of templates a user has.","example":"3"},"templateLimit":{"type":"number","description":"Maximum amount of templates this user can have. A templateLimit of -1 means the user can have unlimited templates.","example":"12"},"createdAt":{"type":"string","description":"Date when pass was first created, in ISO-8601 format","example":"2021-08-11T03:15:56.860Z"},"updatedAt":{"type":"string","description":"Date when pass was last updated, in ISO-8601 format","example":"2021-08-1T03:15:56.860Z"},"isMasterBusiness":{"type":"boolean","description":"Is the account a master account","example":true},"masterBusinessId":{"type":"string","description":"Master business id","example":"master-business-id"}}},"CreateScanBody":{"type":"object","properties":{"id":{"type":"string","description":"Id of the scan","example":"2fhajJWhjZ1a"},"createdBy":{"type":"string","description":"Auth0 ID of Creator","example":"Ankus Fang"},"deviceId":{"type":"string","description":"Id of the USB Scanner used","example":"CryoGym"},"deviceName":{"type":"string","description":"Name of the USB Scanner","example":"AHVW1qv4I_Teqdu4VjwMA"},"location":{"type":"string","description":"Location of the USB Scanner","example":"eqdu4VjAHVW1qv4I_TwMA"},"createdAt":{"type":"string","description":"Date when pass was first created, in ISO-8601 format","example":"2021-08-11T03:15:56.860Z"},"updatedAt":{"type":"string","description":"Date when pass was last updated, in ISO-8601 format","example":"2021-08-1T03:15:56.860Z"},"businessId":{"type":"string","description":"Business Name","example":"CryoGym"}},"required":["id","createdBy","businessId"]},"CustomFormDesignBackgroundStyles":{"type":"object","description":"Background styling options","properties":{"colour":{"type":"string","description":"Background color","example":"lightgrey","default":"#FFFFFF"},"textColour":{"type":"string","description":"Text color","example":"#000000","default":"#000000"}}},"CustomFormDesignCommonStyles":{"type":"object","description":"Common styles applied throughout the form","properties":{"inputBgColour":{"type":"string","description":"Background color for input fields","example":"#FFFFFF","default":"#FFFFFF"},"inputTextColour":{"type":"string","description":"Text color for input fields","example":"#000000","default":"#000000"},"inputBorderColour":{"type":"string","description":"Border color for input fields","example":"#000000","default":"#000000"},"iconBgColour":{"type":"string","description":"Background color for icons","example":"#000000","default":"#000000"},"iconColour":{"type":"string","description":"Color for icons","example":"#FFFFFF","default":"#FFFFFF"},"linkColour":{"type":"string","description":"Colour of the links","example":"#1677ff","default":"#1677ff"},"activeInputBgColour":{"type":"string","description":"Background color for active input fields","example":"#F0F0F0"},"activeInputTextColour":{"type":"string","description":"Text color for active input fields","example":"#333333"},"activeLinkColour":{"type":"string","description":"Colour of active links","example":"#0056b3"},"disabledInputBgColour":{"type":"string","description":"Background color for disabled input fields","example":"#E0E0E0"},"disabledInputTextColour":{"type":"string","description":"Text color for disabled input fields","example":"#999999"},"errorTextColour":{"type":"string","description":"Colour of error text","example":"red","default":"red"},"leftSectionFontFamily":{"type":"string","description":"Font family for the left section","example":"Arial","deprecated":true},"headerFontFamily":{"type":"string","description":"Font family for the header","example":"Arial","deprecated":true},"fontFamily":{"type":"string","description":"Font family for the header","example":"Arial"}}},"CustomFormDesignFooterSection":{"type":"object","description":"Configuration for the footer section of the form","properties":{"content1":{"type":"string","description":"Footer header text","example":"Footer Header"},"content2":{"type":"string","description":"Content for the footer","example":"This is the footer content."},"image":{"type":"string","description":"URL of the footer image","example":"/path/to/footer-image.png"},"textColour":{"type":"string","description":"Colour of the text","example":"#000000"}}},"CustomFormDesignLeftSection":{"type":"object","description":"Configuration for the left section of the form","properties":{"header":{"type":"string","description":"Header text for the left section","example":"Welcome to the form"},"headerTextColour":{"type":"string","description":"Colour of the header text","example":"#000000","default":"#000000"},"headerLogo":{"type":"string","description":"URL of the header logo image","example":"/path/to/logo.png"},"backgroundImage":{"type":"string","description":"URL of the background image","example":"/path/to/logo.png"},"footerHeader":{"type":"string","description":"Footer header text","example":"Footer Header"},"footerContent":{"type":"string","description":"Content for the footer","example":"This is the footer content."},"footerImage":{"type":"string","description":"URL of the footer image","example":"/path/to/footer-image.png"},"footerLargeImage":{"type":"string","description":"URL of the footer image","example":"/path/to/footer-image.png"},"styles":{"type":"object","description":"Styling options for the left section","properties":{"logoFullWith":{"type":"boolean","description":"Flag to indicate if the logo should use full width","default":true}}},"headerClassName":{"type":"string","description":"Custom CSS class for the header","example":"form-header"}}},"CustomFormDesignRightSection":{"type":"object","description":"Configuration for the right section of the form","properties":{"headerLogo":{"type":"string","description":"URL of the header logo image","example":"/path/to/right-logo.png"},"header":{"type":"string","description":"Header text for the right section","example":"Sign up now!"},"content":{"type":"string","description":"Content for the right section","example":"Please fill in your details"},"instructions":{"type":"string","description":"Content for the instructions section","example":"Please fill in your details"},"headerTextColour":{"type":"string","description":"Colour of the header text","example":"#000000","default":"#000000"},"submitButtonColour":{"type":"string","description":"Colour of the submit button","example":"#FFFFFF","default":"#FFFFFF"},"submitButtonTextColour":{"type":"string","description":"Colour of the submit button text","example":"#000000","default":"#000000"},"submitButtonText":{"type":"string","description":"Text displayed on the submit button","example":"Send","default":"Send"},"submitBorderColour":{"type":"string","description":"Border color of the submit button","example":"transparent","default":"transparent"},"headerClassName":{"type":"string","description":"Custom CSS class for the header","example":"form-header"},"formStyles":{"type":"object","description":"Custom styles for the form","properties":{}}}},"CustomFormDesignSchema":{"allOf":[{"$ref":"#/components/schemas/BaseCustomFormDesignSchema"},{"type":"object","properties":{"languageOverrides":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/BaseCustomFormDesignSchema"}}}}]},"CustomerWebhook":{"type":"object","properties":{"webhookUrl":{"type":"string","description":"The endpoint for Litecard to send the download data","example":"https://example.com/webhook"},"method":{"type":"string","description":"Method to use","enum":["POST"],"example":"POST"},"authType":{"type":"string","enum":["API_KEY"],"description":"The type of Auth to use for the webhook"},"authConfig":{"type":"object","description":"The properties we need to use for Authentication","properties":{"securityHeader":{"type":"string","description":"The header to use in the request when entering the key","example":"X-API-KEY"}}},"events":{"type":"array","description":"Types of events the webhook supports","items":{"enum":["CARD_DOWNLOAD","CARD_REMOVE","REGISTER_WEBHOOK","CARD_CREATE","CARD_UPDATE"],"example":"CARD_DOWNLOAD"}}}},"DateTimeStyle":{"type":"string","description":"Apple date time display style","default":"NOT_USED","example":"SHORT","enum":["NOT_USED","NONE","SHORT","MEDIUM","LONG","FULL"]},"DeleteCardOwnerResponseSchema":{"type":"object","properties":{"message":{"type":"string","additionalProperties":false},"success":{"type":"boolean","description":"Returns whether the request was successful","example":true,"additionalProperties":false}}},"DeleteCouponResponseSchema":{"type":"object","properties":{"message":{"type":"string","additionalProperties":false},"success":{"type":"boolean","description":"Returns whether the request was successful","example":true,"additionalProperties":false}}},"DownloadCsvResponse":{"type":"object","properties":{"signedUrl":{"type":"string","description":"url for downloading the csv","example":"https://lc-business"},"expiryTime":{"type":"string","description":"Expiry time for the url","example":"2022-02-04T06:22:37.773Z"},"startDateTime":{"type":"string","description":"Start date time of the exporting data","example":"2022-02-04T06:22:37.773Z"},"endDateTime":{"type":"string","description":"End date time of the exporting data","example":"2022-02-04T06:22:37.773Z"}}},"ErrorResponse":{"type":"object","properties":{"errorCode":{"type":"string"}}},"ExportCsvRequestBody":{"type":"object","properties":{"dynamicColumns":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"The column name of the table ","example":"Last Name"},"value":{"type":"string","description":"The dataIndex of the table","example":"firstName"}},"required":["label","value"]}},"tableName":{"type":"string","enum":["SCAN_TABLE","MEMBER_TABLE","CARD_TABLE"],"description":"The name of the table","example":"SCAN_TABLE"},"startDateTime":{"type":"string","description":"StartDateTime of the exporting data","example":"2022-02-04T06:22:37.773Z"},"endDateTime":{"type":"string","description":"EndDateTime of the exporting data","example":"2022-02-04T06:22:37.773Z"}}},"Form":{"type":"object","properties":{"id":{"type":"string","description":"Id for field input form","example":"-jJWhjZ1a"},"createdAt":{"type":"string","description":"Create date of the form","example":"2021-08-11T03:15:56.860Z"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/FormFields"}},"formName":{"type":"string","description":"Name of the form","example":"test form"},"createdBy":{"type":"string","description":"Auth0 Id of the user who created this instance","example":"V1StGXR8_Z5jdHi6B-myT"},"businessId":{"type":"string","description":"Id for the Business that this entity belongs to","example":"LiteCard"},"userType":{"type":"string","description":"user type","example":"staff"},"ttlEnabled":{"type":"boolean","description":"Enable ttl","example":"true"},"ttlPeriod":{"type":"number","description":"Set ttl period","example":"10"},"updatedAt":{"type":"string","description":"Update date of the form","example":"2021-08-11T03:15:56.860Z"},"passwordEnabled":{"type":"boolean","description":"Enable password","example":"true"},"logo":{"type":"string","description":"logo image link url","example":"https://assets-dev.litecard.io/logo.png"},"title":{"type":"string","description":"Title of the form","example":"LiteCard"},"description":{"type":"string","description":"Description of the form","example":"Make your move with LiteCard today."},"style":{"type":"object","properties":{"bgPrimary":{"type":"string","description":"Primary colour for the form background","example":"#1890ff"},"bgSecondary":{"type":"string","description":"Secondary colour for the form background","example":"#1890ff"},"btnPrimary":{"type":"string","description":"Secondary colour for the button","example":"#1890ff"},"btnSecondary":{"type":"string","description":"Secondary colour for the button","example":"#1890ff"},"label":{"type":"string","description":"Label colour for Apple Passes","example":"#f1f0f2"}}},"connectIDEnabled":{"type":"boolean","description":"Enable ConnectID Verification","example":"false"},"isInternal":{"type":"boolean","description":"Public Visibility of the form","example":true},"templateId":{"type":"string","description":"Id for the template used to create the card","example":"test_business"},"status":{"type":"string","description":"Status of the form","example":"Deleted"},"mailchimpSettings":{"type":"object","description":"Form specific mailchimp settings","properties":{"enabled":{"type":"boolean","description":"Enable mailchimp invitation emails","example":false},"eventName":{"type":"string","description":"journey to trigger in mailchimp","example":"my_event"},"mergeFieldMapping":{"type":"object","description":"Additional merge field mappings to card data","additionalProperties":true},"tags":{"type":"array","items":{"$ref":"#/components/schemas/MailchimpTagSettings"}}}},"emailProviderSettings":{"type":"object","description":"Email Provider Settings","properties":{"enabled":{"type":"boolean","description":"Enable Email Provider invitation emails","example":false},"sendEmail":{"type":"boolean","description":"Whether Litecard triggers send email or just updates profile","example":false},"providerName":{"type":"string","description":"Name of Email Provider","example":"BRAZE"},"campaignName":{"type":"string","description":""},"campaignId":{"type":"string","description":""},"mergeFieldMapping":{"type":"object","description":"Additional merge field mappings to card data","additionalProperties":true},"contactFieldMapping":{"type":"object","description":"Additional merge field mappings to update contact data","additionalProperties":true}},"additionalProperties":true},"contactValidationSettings":{"type":"object","description":"Contact Validation Settings","properties":{"providerName":{"type":"string","description":"Name of Contact Validation Provider","example":"CTG"},"types":{"type":"array","description":"Types of contact validation","items":{"type":"string","enum":["EMAIL","PHONE"]},"example":["EMAIL","PHONE"]},"enabled":{"type":"boolean","description":"Enable Contact Validation Settings","example":true}},"required":["providerName"]},"tacURL":{"type":"string","description":"URL of terms and conditions page","example":"https://example.com"},"smsEnabled":{"type":"boolean","description":"Flag to determine if we are to send SMS invitation or not","example":true},"paymentRequired":{"type":"boolean","description":"Whether this form belongs to a template that requires stripe payment","example":false},"hideForm":{"type":"boolean","description":"Filter to hide form from private sign up"},"uiConfig":{"$ref":"#/components/schemas/UIConfig"},"customDesign":{"$ref":"#/components/schemas/CustomFormDesignSchema"}}},"FormFieldUsage":{"type":"array","description":"Usage of the form field","items":{"type":"string","enum":["PRIVATE","PUBLIC","EXTERNAL"]}},"FormFields":{"type":"object","properties":{"enabled":{"type":"boolean"},"mappingType":{"type":"string"},"type":{"type":"string","enum":["text","radio","select","phone","textArea","number"]},"format":{"type":"string","description":"Format of the field","example":"DD/MM/YYYY for date inputs","nullable":true},"label":{"type":"string"},"helpText":{"type":"string","description":"Help text to be displayed next to the field label","example":"Date the member joined","nullable":true},"name":{"type":"string"},"rules":{"type":"array","items":{"type":"string"}},"usage":{"$ref":"#/components/schemas/FormFieldUsage"},"value":{"oneOf":[{"type":"string"},{"type":"number"}]},"placeholder":{"type":"string"},"options":{"type":"array","description":"List of options for drop down list","items":{"type":"object","properties":{"title":{"type":"string","description":"Label for the option","example":"Casual"},"value":{"type":"string","description":"Value for the option","example":"templateId"}}}},"defaultValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"required":["enabled","mappingType","type","label","name","rules"]},"FormRequest":{"type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/FormFields"}},"formName":{"type":"string","description":"Name of the form","example":"test form"},"createdBy":{"type":"string","description":"Auth0 Id of the user who created this instance","example":"V1StGXR8_Z5jdHi6B-myT"},"businessId":{"type":"string","description":"Id for the Business that this entity belongs to","example":"LiteCard"},"userType":{"type":"string","description":"user type","example":"staff"},"ttlEnabled":{"type":"boolean","description":"Enable ttl","example":"true"},"ttlPeriod":{"type":"number","description":"Set ttl period","example":"10"},"passwordEnabled":{"type":"boolean","description":"Enable password","example":"true","default":false},"logo":{"type":"string","description":"logo image link url","example":"https://assets-dev.litecard.io/logo.png"},"title":{"type":"string","description":"Title of the form","example":"LiteCard"},"description":{"type":"string","description":"Description of the form","example":"Make your move with LiteCard today."},"style":{"type":"object","properties":{"bgPrimary":{"type":"string","description":"Primary colour for the form background","example":"#1890ff"},"bgSecondary":{"type":"string","description":"Secondary colour for the form background","example":"#1890ff"},"btnPrimary":{"type":"string","description":"Secondary colour for the button","example":"#1890ff"},"btnSecondary":{"type":"string","description":"Secondary colour for the button","example":"#1890ff"},"label":{"type":"string","description":"Label colour for Apple Passes","example":"#f1f0f2"}}},"connectIDEnabled":{"type":"boolean","description":"Enable ConnectID Verification","example":"false"},"isInternal":{"type":"boolean","description":"Public Visibility of the form","example":true},"templateId":{"type":"string","description":"Id for the template used to create the card","example":"test_business"},"status":{"type":"string","description":"Status of the form","example":"ACTIVE","enum":["ACTIVE","INACTIVE","DELETED"]}}},"ImageContent":{"type":"object","properties":{"imageId":{"type":"string","description":"Image Id","example":"bDy_EeG2Ivd7vVrX45jx","pattern":"^[a-zA-Z0-9-_]+$"},"imageType":{"type":"string","description":"Image Type","enum":["icon","logo","strip","thumbnail"]},"content":{"type":"string","description":"base64 encoded string","example":"data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="}}},"ImageUploadResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"objectKey":{"type":"string","description":"s3 object key","example":"cryo/bDy_EeG2Ivd7vVrX45jx-logo@3x.png"},"imageUrl":{"type":"string","description":"s3 image url","example":"https://lc-business-assets-dev.s3.ap-southeast-2.amazonaws.com/test-business/logo.png"}}},"ListCardOwnersResponse":{"type":"object","description":"Fields that are returned for each card owner","properties":{"id":{"type":"string","description":"Id of the card","example":"-jJWhjZ1a"},"firstName":{"type":"string","description":"First name of card owner","example":"Ankus Fang"},"lastName":{"type":"string","description":"Last name of card owner","example":"AHVW1qv4I_Teqdu4VjwMA"},"phone":{"type":"string","description":"phoneNumber of the card owner","example":"0409381912"},"email":{"type":"string","description":"Email of the card owner","example":"test@litecard.io"},"userType":{"type":"string","description":"User Type","example":"basic"},"state":{"type":"string","description":"State the user is from ","example":"VIC"}},"required":["id"],"additionalProperties":true},"ListCardsDetail":{"type":"object","description":"Fields that are returned for each passId","properties":{"id":{"type":"string","description":"Id of the card","example":"-jJWhjZ1a"},"downloadId":{"type":"string","description":"DownloadId used for landing page","example":"V1StGXR8_Z5jdHi6B-myT"},"accountName":{"type":"string","description":"Name associated with the pass","example":"John Doe"},"barcodeValue":{"type":"string","description":"Barcode Value of the Card","example":"eqdu4VjAHVW1qv4I_TwMA"},"passType":{"type":"string","description":"Pass Type","example":"VISIT"},"appleLink":{"type":"string","description":"Link to apple pass","example":"https://litecard-demo-pkpass.s3-ap-southeast-2.amazonaws.com/coldbrew.pkpass"},"googleLink":{"type":"string","description":"Link to google pass","example":"https://pay.google.com/gp/v/save/eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJsaXRlY2FyZC10ZXN0QGNsZXZlci1hYmJleS0zMDg1MDcuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJhdWQiOiJnb29nbGUiLCJ0eXAiOiJzYXZldG9hbmRyb2lkcGF5IiwiaWF0IjoxNjIwMTE0NDkxLCJwYXlsb2FkIjp7ImxveWFsdHlPYmplY3RzIjpbeyJpZCI6IjMzODgwMDAwMDAwMTA2MDYyNDEuTE9ZQUxUWV9PQkpFQ1RfNTRkYmMwNTUtOWRlMy00YWZjLTg0YmUtZDhiNTZjN2U5Mzc5IiwiY2xhc3NJZCI6IjMzODgwMDAwMDAwMTA2MDYyNDEuTE9ZQUxUWV9DTEFTU185OTliOTVlYi00ZDVjLTQzZDEtOGFhOC05Zjg1ZjI0YzlmODQiLCJzdGF0ZSI6IkFDVElWRSIsImFjY291bnROYW1lIjoiSmFzb24iLCJhY2NvdW50SWQiOiIxMjMxMjMiLCJiYXJjb2RlIjp7ImFsdGVybmF0ZVRleHQiOiIxMjMxMjMiLCJ2YWx1ZSI6IjEyMzEyMyIsInR5cGUiOiJDT0RFXzEyOCJ9LCJsb2NhdGlvbnMiOlt7ImxhdGl0dWRlIjoiLTM3LjgwNjIzMTU2ODQyODgxIiwibG9uZ2l0dWRlIjoiMTQ0Ljk4OTkwMjQwODE0ODcifV0sInZhbGlkVGltZUludGVydmFsIjp7InN0YXJ0Ijp7ImRhdGUiOiIyMDIxLTA0LTIwVDAwOjAwOjAwLjAwKzEwOjAwIn0sImVuZCI6eyJkYXRlIjoiMjAyNS0wNC0yMFQyMzo1OTowMC4wMCsxMDowMCJ9fSwibGlua3NNb2R1bGVEYXRhIjp7InVyaXMiOlt7InVyaSI6InRlbDo2NTA1NTU1NTU1IiwiZGVzY3JpcHRpb24iOiJNb2JpbGUgTnVtYmVyIn0seyJ1cmkiOiJtYWlsdG86am9obmRvZUBsaXRlY2FyZC5jb20uYXUiLCJkZXNjcmlwdGlvbiI6IkVtYWlsIn1dfX1dfSwib3JpZ2lucyI6WyJodHRwOi8vbG9jYWxob3N0OjgwODAiXX0.bR5nSNqMPH6KUwiaqMP-E-nlyjzllOR9-rxUCVgPhqvra_qZ54kc3ZHX64LyViABgSbLIqFEG_EsfA9FCVunAs3ikr1yB5Tk3WiwQ13zt-rH7443_XTI078mtzESl930AL5mVhyrteTMfrhHHV0rrzChXDPgqBjPzsaqs4oGIeW7bVu7S1SC_M8EC-pxTUwqkvvv17xpBVBY_BKzDaK1uEykqdQp2XFHjjRT_esBc6xbiMTDGz11sp395v0RO-9jpp4z-L5igi7prFDgm7ZWBcbSZSKMBckp1lzctLIZ3jidJ9pg-lwgaZyyksmWWnDkVFKE0CWAQV3wFg6M2PXXyA"},"templateId":{"type":"string","description":"Template id of the card","example":"rnb-patron"},"dataFields":{"type":"object","description":"Data Fields of the pass","properties":{"memberSince":{"type":"string","description":"Date time when becoming a member","example":"2021-10-11T07:00:15.075Z"},"fullName":{"type":"string","description":"Full name of the pass","example":"Test name"},"numEntriesRemaining":{"type":"number","description":"Numbers of entries remaining","example":10},"userType":{"type":"string","description":"User type","example":"Patron"},"position":{"type":"string","description":"Position for the user","example":"Staff"}},"additionalProperties":true},"formId":{"type":"string","description":"Id for field input form","example":"00000001"},"cardOwnerId":{"type":"string","description":"Card owner Id","example":"eJoGyeOMcyd1jnfPSuTvH"}},"required":["id","formId","cardOwnerId","accountName","appleLink","googleLink","templateId"]},"ListFormsResult":{"type":"array","description":"List Forms Schema","items":{"type":"object","description":"Fields that are returned for each formId","properties":{"id":{"type":"object","description":"formId","properties":{"createdAt":{"type":"string","description":"Create date of the form","example":"2021-08-11T03:15:56.860Z"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/FormFields"}},"formName":{"type":"string","description":"Name of the form","example":"test form"},"createdBy":{"type":"string","description":"Auth0 Id of the user who created this instance","example":"V1StGXR8_Z5jdHi6B-myT"},"businessId":{"type":"string","description":"Id for the Business that this entity belongs to","example":"LiteCard"},"ttlEnabled":{"type":"boolean","description":"Enable ttl","example":"true"},"ttlPeriod":{"type":"number","description":"Set ttl period","example":"10"},"updatedAt":{"type":"string","description":"Update date of the form","example":"2021-08-11T03:15:56.860Z"},"passwordEnabled":{"type":"boolean","description":"Enable password","example":"true"},"logo":{"type":"string","description":"logo image link url","example":"https://assets-dev.litecard.io/logo.png"},"title":{"type":"string","description":"Title of the form","example":"LiteCard"},"description":{"type":"string","description":"Description of the form","example":"Make your move with LiteCard today."},"style":{"type":"object","properties":{"bgPrimary":{"type":"string","description":"Primary colour for the form background","example":"#1890ff"},"bgSecondary":{"type":"string","description":"Secondary colour for the form background","example":"#1890ff"},"btnPrimary":{"type":"string","description":"Secondary colour for the button","example":"#1890ff"},"btnSecondary":{"type":"string","description":"Secondary colour for the button","example":"#1890ff"}}},"connectIDEnabled":{"type":"boolean","description":"Enable ConnectID Verification","example":"false"}},"example":"-jJWhjZ1a"}}}},"ListPassesResult":{"type":"array","description":"List Passes Schema","items":{"type":"object","description":"Fields that are returned for each passId","properties":{"id":{"type":"object","description":"passId","properties":{"accountName":{"type":"string","description":"Name associated with the pass","example":"John Doe"},"downloadId":{"type":"string","description":"DownloadId used for landing page","example":"V1StGXR8_Z5jdHi6B-myT"},"createdAt":{"type":"string","description":"Date when pass was first created, in ISO-8601 format","example":"2021-07-01T12:13:20.159Z"},"updatedAt":{"type":"string","description":"Date when pass was last updated, in ISO-8601 format","example":"2021-07-08T02:48:50.399Z"},"appleLink":{"type":"string","description":"Link to apple pass","example":"https://litecard-demo-pkpass.s3-ap-southeast-2.amazonaws.com/coldbrew.pkpass"},"googleLink":{"type":"string","description":"Link to google pass","example":"https://pay.google.com/gp/v/save/eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJsaXRlY2FyZC10ZXN0QGNsZXZlci1hYmJleS0zMDg1MDcuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJhdWQiOiJnb29nbGUiLCJ0eXAiOiJzYXZldG9hbmRyb2lkcGF5IiwiaWF0IjoxNjIwMTE0NDkxLCJwYXlsb2FkIjp7ImxveWFsdHlPYmplY3RzIjpbeyJpZCI6IjMzODgwMDAwMDAwMTA2MDYyNDEuTE9ZQUxUWV9PQkpFQ1RfNTRkYmMwNTUtOWRlMy00YWZjLTg0YmUtZDhiNTZjN2U5Mzc5IiwiY2xhc3NJZCI6IjMzODgwMDAwMDAwMTA2MDYyNDEuTE9ZQUxUWV9DTEFTU185OTliOTVlYi00ZDVjLTQzZDEtOGFhOC05Zjg1ZjI0YzlmODQiLCJzdGF0ZSI6IkFDVElWRSIsImFjY291bnROYW1lIjoiSmFzb24iLCJhY2NvdW50SWQiOiIxMjMxMjMiLCJiYXJjb2RlIjp7ImFsdGVybmF0ZVRleHQiOiIxMjMxMjMiLCJ2YWx1ZSI6IjEyMzEyMyIsInR5cGUiOiJDT0RFXzEyOCJ9LCJsb2NhdGlvbnMiOlt7ImxhdGl0dWRlIjoiLTM3LjgwNjIzMTU2ODQyODgxIiwibG9uZ2l0dWRlIjoiMTQ0Ljk4OTkwMjQwODE0ODcifV0sInZhbGlkVGltZUludGVydmFsIjp7InN0YXJ0Ijp7ImRhdGUiOiIyMDIxLTA0LTIwVDAwOjAwOjAwLjAwKzEwOjAwIn0sImVuZCI6eyJkYXRlIjoiMjAyNS0wNC0yMFQyMzo1OTowMC4wMCsxMDowMCJ9fSwibGlua3NNb2R1bGVEYXRhIjp7InVyaXMiOlt7InVyaSI6InRlbDo2NTA1NTU1NTU1IiwiZGVzY3JpcHRpb24iOiJNb2JpbGUgTnVtYmVyIn0seyJ1cmkiOiJtYWlsdG86am9obmRvZUBsaXRlY2FyZC5jb20uYXUiLCJkZXNjcmlwdGlvbiI6IkVtYWlsIn1dfX1dfSwib3JpZ2lucyI6WyJodHRwOi8vbG9jYWxob3N0OjgwODAiXX0.bR5nSNqMPH6KUwiaqMP-E-nlyjzllOR9-rxUCVgPhqvra_qZ54kc3ZHX64LyViABgSbLIqFEG_EsfA9FCVunAs3ikr1yB5Tk3WiwQ13zt-rH7443_XTI078mtzESl930AL5mVhyrteTMfrhHHV0rrzChXDPgqBjPzsaqs4oGIeW7bVu7S1SC_M8EC-pxTUwqkvvv17xpBVBY_BKzDaK1uEykqdQp2XFHjjRT_esBc6xbiMTDGz11sp395v0RO-9jpp4z-L5igi7prFDgm7ZWBcbSZSKMBckp1lzctLIZ3jidJ9pg-lwgaZyyksmWWnDkVFKE0CWAQV3wFg6M2PXXyA"},"dataFields":{"type":"object","description":"Data Fields of the pass","properties":{"memberSince":{"type":"string","description":"Date time when becoming a member","example":"2021-10-11T07:00:15.075Z"},"fullName":{"type":"string","description":"Full name of the pass","example":"Test name"},"numEntriesRemaining":{"type":"number","description":"Numbers of entries remaining","example":10},"userType":{"type":"string","description":"User type","example":"Patron"},"position":{"type":"string","description":"Position for the user","example":"Staff"}},"additionalProperties":true},"formId":{"type":"string","description":"Id for field input form","example":"form123"}},"example":"00000001"}}}},"ListTemplates":{"type":"array","description":"List Templates Schema","items":{"$ref":"#/components/schemas/Template"}},"NFTRequestBody":{"type":"object","properties":{"metadata":{"type":"object","properties":{"contractAddress":{"type":"string","description":"Contract Address for the NFT Collection"},"tokenId":{"type":"string","description":"Token Id of the NFT"},"collectionName":{"type":"string","description":"Name of the NFT Collection"},"image":{"type":"string","description":"Image URI"},"ownerOf":{"type":"string","description":"Wallet address of the owner"},"urls":{"type":"array","description":"List of relevant URLs about the NFT","items":{"type":"object","properties":{"url":{"type":"string","description":"URL"},"title":{"type":"string","description":"Link title"}}}}},"required":["contractAddress","tokenId","collectionName","image","ownerOf"]},"nftPage":{"type":"object","properties":{"title":{"type":"string","description":"Title of the NFT Page"},"description":{"type":"string","description":"Short description of NFT Page"},"urls":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Title of the Link"},"link":{"type":"string","description":"URL link"},"description":{"type":"string","description":"Description of the page link"}},"required":["title","link","description"]}}},"required":["title","urls"]},"signature":{"type":"string","description":"Hash of the metadata"},"qrCodeUrl":{"type":"string","description":"Url that is displayed on the card","nullable":true}},"required":["metadata","signature"]},"OnboardMailchimpBody":{"type":"object","properties":{"accessToken":{"type":"string","description":"Mailchimp access token","example":"d657...a926-us14"},"server":{"type":"string","description":"Mailchimp server","example":"us14"},"fromEmail":{"type":"string","description":"Mailchimp email to send from","example":"test@example.com"},"audience":{"type":"string","description":"Name of the Mailchimp Audience","example":"Litecard"},"additionalMergeFields":{"type":"array","description":"Business customisable merge fields or segments","items":{"type":"object","properties":{"name":{"type":"string","description":"Segment Name/Merge Field","example":"postCode"},"helpText":{"type":"string","description":"Helpful text to show in mailchimp UI for Segment","example":"The Post Code of the customer"},"tag":{"type":"string","description":"Tag to use","example":"POSTCODE","maxLength":10,"pattern":"^[A-Z0-9]+$"}},"required":["name","helpText","tag"]}}}},"PaymentAndSignUpResponseSchema":{"type":"object","properties":{"cardId":{"type":"string","description":"Id of created card","example":"abc123"},"checkoutUrl":{"type":"string","description":"URL to redirect to continue payment","example":"https://checkout.url"},"success":{"type":"boolean","description":"Returns whether the request was successful","example":true},"downloadId":{"type":"string","description":"Id used for hosted litecard landing page e.g. https://app.dev.litecard.io/welcome/?id=5c_Wc9h-WCng0oxe8nHNn","example":"5c_Wc9h-WCng0oxe8nHNn"}}},"PrivateResendPassRequest":{"type":"object","properties":{"cardId":{"type":"string","description":"Card Id","example":"00000001"},"formId":{"type":"string","description":"Id for field input form","example":"00000001"},"cardOwnerId":{"type":"string","description":"Card Owner Id","example":"00000001"},"emailTemplateType":{"type":"string","description":"Email Template Type","example":"litecardpass"},"emailType":{"type":"string","description":"Type of Email","enum":["STANDARD","MARKETING"],"example":"STANDARD"},"subject":{"type":"string","description":"Subject of Email","example":"LiteCard Invitation"},"sendAllNotDownloaded":{"type":"boolean","description":"Send to all users who have not downloaded the pass","example":true},"templateId":{"type":"string","description":"Litecard Template Id","example":"E9t4k_YUvx_bejKfjeUs4"},"emailInvitationEnabled":{"type":"boolean","description":"Pass invitation will be sent via email","example":true},"smsInvitationEnabled":{"type":"boolean","description":"Pass invitation will be sent via SMS","example":true}}},"PrivateSignUpRequestBody":{"type":"object","properties":{"templateId":{"type":"string","description":"Id for the apple/google pass template used to create the card.","example":"test_business"},"tier":{"type":"string","description":"For multi tiered templates. This is to select which tier to build","example":"GOLD"},"externalId":{"type":"string","description":"For use when card is created using an external platform. External ID may be used to reference the card","example":"GOLD"},"cardPayload":{"$ref":"#/components/schemas/BaseCardPayload"},"options":{"$ref":"#/components/schemas/SignUpOptions"},"templateOverrides":{"$ref":"#/components/schemas/TemplateOverridesV1"}},"additionalProperties":false,"required":["templateId","cardPayload"]},"Profile":{"type":"object","properties":{"id":{"type":"string","description":"Business Id","example":"CryoGym"},"businessName":{"type":"string","description":"Business name","example":"Cryo gym"},"subBusinessName":{"type":"string","description":"Name to show on sub business selection","example":"Cryo gym - Sub 1"},"email":{"type":"string","description":"Business email","example":"Ankus Fang"},"postCode":{"type":"string","description":"Business postcode","example":"CryoGym"},"state":{"type":"string","description":"Business state","example":"AHVW1qv4I_Teqdu4VjwMA"},"logoUrl":{"type":"string","description":"Business logo image file","example":"https://assets.dev.litecard.io/Logo-Badge_3.png"},"overrideLitecardLogoUrl":{"type":"string","description":"Override LiteCard logo URL","example":"https://assets.dev.litecard.io/Logo-Badge_3.png"},"templateCount":{"type":"number","description":"Current total number of templates a user has.","example":"3"},"templateLimit":{"type":"number","description":"Maximum amount of templates this user can have. A templateLimit of -1 means the user can have unlimited templates.","example":"12"},"cardCount":{"type":"number","description":"Active passes count","example":"12"},"totalCardCount":{"type":"number","description":"Total passes count","example":"12"},"downloadedApplePassCount":{"type":"number","description":"Current total number of apple pass downloads a business has.","example":"12"},"downloadedGooglePassCount":{"type":"number","description":"Current total number of google pass downloads a business has.","example":"12"},"cardLimit":{"type":"number","description":"Card limit left","example":"12"},"cardOwnerCount":{"type":"number","description":"Current total number of card owners a user has.","example":"100"},"tier":{"type":"string","description":"tier for the business","example":"BUSINESS"},"createdAt":{"type":"string","description":"Date when pass was first created, in ISO-8601 format","example":"2021-08-11T03:15:56.860Z"},"updatedAt":{"type":"string","description":"Date when pass was last updated, in ISO-8601 format","example":"2021-08-1T03:15:56.860Z"},"stripeCustomerId":{"type":"string","description":"User's stripe customer account","example":"cus_KozWy3MZchR5DY"},"tableConfig":{"$ref":"#/components/schemas/TableConfig"},"isMasterBusiness":{"type":"boolean","description":"Is the account a master account","example":true},"masterBusinessId":{"type":"string","description":"Master business id","example":"master-business-id"},"subBusinesses":{"type":"array","description":"Sub businesses","items":{"$ref":"#/components/schemas/SubBusinessSummary"}},"subBusinessRoles":{"$ref":"#/components/schemas/SubBusinessRoles"},"uiConfig":{"$ref":"#/components/schemas/UIConfig"},"webhooks":{"type":"array","items":{"$ref":"#/components/schemas/CustomerWebhook"}},"useEnhancedNotificationSend":{"type":"boolean","description":"Whether to use the enhanced notification sender for sending notifications","example":true}}},"PublicResendPassRequest":{"type":"object","properties":{"email":{"type":"string","description":"Email","example":"johndoe@example.com"},"phone":{"type":"string","description":"Email","example":"johndoe@example.com"},"formId":{"type":"string","description":"Id for field input form","example":"00000001"}},"required":["formId"]},"PublicSignUpRequestBody":{"type":"object","properties":{"businessId":{"type":"string","description":"Id for the Business that this entity belongs to","example":"LiteCard"},"templateId":{"type":"string","description":"Id for the apple/google pass template used to create the card.","example":"test_business"},"successUrl":{"type":"string","description":"Page for stripe to redirect to on success","example":"http://localhost:5000/success"},"cancelUrl":{"type":"string","description":"Page for stripe to redirect to on cancel","example":"http://localhost:5000"},"cardPayload":{"$ref":"#/components/schemas/BaseCardPayload"},"options":{"$ref":"#/components/schemas/SignUpOptions"},"templateOverrides":{"$ref":"#/components/schemas/TemplateOverridesV1"}},"additionalProperties":false,"required":["cardPayload","businessId","templateId"]},"RateLimit":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Enabled the rate limit","example":true},"rule":{"type":"object","properties":{"duration":{"type":"number","description":"Time Duration for the limit and unit is seconds","example":300},"count":{"type":"number","description":"Numbers of limit count","example":10}}}}},"Scan":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for the scan event.","example":"yiur9CQTcrLKmELe4_enI"},"accountName":{"type":"string","description":"The name of the account associated with the scan.","example":"Danny"},"businessId":{"type":"string","description":"The unique identifier for the business associated with the scan.","example":"eFGbNdZEQHJX8RdnLMtP_"},"cardId":{"type":"string","description":"The unique identifier for the card that was scanned.","example":"4048866019"},"cardOwnerId":{"type":"string","description":"The unique identifier for the owner of the card.","example":"-3xlaPTtLTGnmbKoaiyKH"},"createdAt":{"type":"string","format":"date-time","description":"The date and time when the scan event was created.","example":"2023-07-19T04:36:06.937Z"},"createdBy":{"type":"string","description":"The identifier of the user or system that created the scan event.","example":"auth0|64928a1d73375442becf490d"},"deviceId":{"type":"string","description":"The identifier for the device used to perform the scan, if known.","example":"12345-device-id"},"deviceName":{"type":"string","description":"The name of the device used to perform the scan, if known.","example":"Front Counter POS #1"},"location":{"type":"string","description":"The physical location where the scan took place, if known.","example":"Main Store - POS #1"},"templateId":{"type":"string","description":"The unique identifier for the template associated with the scan event.","example":"HtXloDbbAz7Q-IgT7WpLn"},"updatedAt":{"type":"string","format":"date-time","description":"The date and time when the scan event was last updated.","example":"2023-07-19T04:36:06.937Z"},"userType":{"type":"string","description":"User Type","example":"patron"},"dataFields":{"type":"object","description":"Structured data associated with the scan.","additionalProperties":true,"properties":{"fullName":{"type":"string","description":"The full name as it appears on the card.","example":"Danny Bui"},"intro":{"type":"string","description":"An introductory message or description related to the scan.","example":"Scan or show your digital pass at checkout to earn points, discounts, exclusive deals and access to promotions."},"notificationKey":{"type":"string","description":"A key for managing notifications post-scan.","example":"No new notifications"},"points":{"type":"integer","format":"int32","description":"The number of points associated with this scan.","example":6},"store":{"type":"string","description":"The store or location name where the scan took place.","example":"CHAI CHEE"},"updates":{"type":"string","description":"Information on updates or alerts to be sent to the card owner.","example":"You will receive periodic alerts and notifications through this digital membership or via email."}}},"formId":{"type":"string","description":"The unique identifier for the form used to capture the scan data.","example":"xGScW8kBMGFJfxIoGHg7C"},"scanType":{"type":"string","enum":["SCAN","REDEEM"],"description":"The type of scan event, which can be either a 'SCAN' or a 'REDEEM'.","example":"SCAN"},"status":{"type":"string","description":"The current status of the scan.","enum":["DELETED","INACTIVE","ACTIVE","RESERVED","ERROR"],"example":"ACTIVE"}}},"ScanCheckInRequestBody":{"type":"object","properties":{"cardId":{"type":"string","description":"Scanned Card Id","example":"123456789"},"deviceId":{"type":"string","description":"Device ID of the barcode scanner","example":"DFAS87GgjHJG"},"deviceName":{"type":"string","description":"Scanner Name","example":"CryoGym Frontdoor Scanner"},"location":{"type":"string","description":"Location Name","example":"CryoGym"}},"required":["cardId"]},"ScanRedemptionRequestBody":{"type":"object","properties":{"cardId":{"type":"string","description":"Scanned Card Id","example":"123456789"},"action":{"type":"string","description":"Type of action to be executed","example":"REDEEM_BURGER"}},"required":["cardId"]},"ScanRequestBody":{"type":"object","properties":{"barcode":{"type":"string","description":"Scanned barcode","example":"123456789"}},"required":["barcode"]},"ScanResponseSchema":{"type":"object","properties":{"card":{"type":"object","properties":{"id":{"type":"string","description":"ID of the Pass","example":"7048582966"},"downloadId":{"type":"string","description":"DownloadId used for landing page","example":"V1StGXR8_Z5jdHi6B-myT"},"appleLink":{"type":"string","description":"Url for the apple pass","example":"https://litecard-demo-pkpass.s3-ap-southeast-2.amazonaws.com/coldbrew.pkpass"},"businessId":{"type":"string","description":"ID of the Business","example":"business123"},"userType":{"type":"string","description":"Type of User","example":"employee"},"createdAt":{"type":"string","description":"Date Time card was created","example":"2021-11-05T04:25:42.676Z"},"googlePassId":{"type":"string","description":"Id of google pass","example":"1231244"},"authToken":{"type":"string","description":"Internal Use Only. Apple Device Auth Token","example":"dscxdsf234"},"passType":{"type":"string","description":"Mobile wallet pass type","example":"VISIT"},"googleLink":{"type":"string","description":"Url of google pass","example":"https://pay.google.com/gp/v/save/eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJsaXRlY2FyZC10ZXN0QGNsZXZlci1hYmJleS0zMDg1MDcuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJhdWQiOiJnb29nbGUiLCJ0eXAiOiJzYXZldG9hbmRyb2lkcGF5IiwiaWF0IjoxNjIwMTE0NDkxLCJwYXlsb2FkIjp7ImxveWFsdHlPYmplY3RzIjpbeyJpZCI6IjMzODgwMDAwMDAwMTA2MDYyNDEuTE9ZQUxUWV9PQkpFQ1RfNTRkYmMwNTUtOWRlMy00YWZjLTg0YmUtZDhiNTZjN2U5Mzc5IiwiY2xhc3NJZCI6IjMzODgwMDAwMDAwMTA2MDYyNDEuTE9ZQUxUWV9DTEFTU185OTliOTVlYi00ZDVjLTQzZDEtOGFhOC05Zjg1ZjI0YzlmODQiLCJzdGF0ZSI6IkFDVElWRSIsImFjY291bnROYW1lIjoiSmFzb24iLCJhY2NvdW50SWQiOiIxMjMxMjMiLCJiYXJjb2RlIjp7ImFsdGVybmF0ZVRleHQiOiIxMjMxMjMiLCJ2YWx1ZSI6IjEyMzEyMyIsInR5cGUiOiJDT0RFXzEyOCJ9LCJsb2NhdGlvbnMiOlt7ImxhdGl0dWRlIjoiLTM3LjgwNjIzMTU2ODQyODgxIiwibG9uZ2l0dWRlIjoiMTQ0Ljk4OTkwMjQwODE0ODcifV0sInZhbGlkVGltZUludGVydmFsIjp7InN0YXJ0Ijp7ImRhdGUiOiIyMDIxLTA0LTIwVDAwOjAwOjAwLjAwKzEwOjAwIn0sImVuZCI6eyJkYXRlIjoiMjAyNS0wNC0yMFQyMzo1OTowMC4wMCsxMDowMCJ9fSwibGlua3NNb2R1bGVEYXRhIjp7InVyaXMiOlt7InVyaSI6InRlbDo2NTA1NTU1NTU1IiwiZGVzY3JpcHRpb24iOiJNb2JpbGUgTnVtYmVyIn0seyJ1cmkiOiJtYWlsdG86am9obmRvZUBsaXRlY2FyZC5jb20uYXUiLCJkZXNjcmlwdGlvbiI6IkVtYWlsIn1dfX1dfSwib3JpZ2lucyI6WyJodHRwOi8vbG9jYWxob3N0OjgwODAiXX0.bR5nSNqMPH6KUwiaqMP-E-nlyjzllOR9-rxUCVgPhqvra_qZ54kc3ZHX64LyViABgSbLIqFEG_EsfA9FCVunAs3ikr1yB5Tk3WiwQ13zt-rH7443_XTI078mtzESl930AL5mVhyrteTMfrhHHV0rrzChXDPgqBjPzsaqs4oGIeW7bVu7S1SC_M8EC-pxTUwqkvvv17xpBVBY_BKzDaK1uEykqdQp2XFHjjRT_esBc6xbiMTDGz11sp395v0RO-9jpp4z-L5igi7prFDgm7ZWBcbSZSKMBckp1lzctLIZ3jidJ9pg-lwgaZyyksmWWnDkVFKE0CWAQV3wFg6M2PXXyA"},"samsungLink":{"type":"string","description":"Url of samsung pass","example":"https://a.swallet.link/atw/656147182764415319#Clip?pdata=sIgHCzIwM9g"},"templateId":{"type":"string","description":"Id for the template used to create the card","example":"test_business"},"dataFields":{"type":"object","properties":{"exampleDataField":{"type":"string","description":"Example Value","example":"example value"},"fullName":{"type":"string","description":"Full name of owner of card","example":"John Doe"}}},"formId":{"type":"string","description":"Id for field input form","example":"00000001"},"updatedAt":{"type":"string","description":"","example":"2021-11-05T04:25:42.676Z"},"pkPassId":{"type":"string","description":"Id of Apple Pass","example":"pass.au.com.litecard.dev.q124234"},"barcodeValue":{"type":"string","description":"what the barcode value is","example":"5434435"},"appleStatus":{"type":"string","description":"Status of card inside of Apple Wallet","example":"ACTIVE"},"googleStatus":{"type":"string","description":"Status of card inside of Google Wallet","example":"INACTIVE"},"cardOwnerId":{"type":"string","description":"Id of the card owner","example":"asb123"},"status":{"type":"string","description":"Activation Status of the card","enum":["ACTIVE","INACTIVE","DELETED","RESERVED","ERROR"],"example":"INACTIVE"},"expiry":{"type":"string","description":"Expiry of card, in ISO-8601 format","example":"2021-08-11T03:15:56.860Z"},"barcodeLink":{"type":"string","description":"Link to the barcode image","example":"https://example.com/blah.png"},"disableQR":{"type":"boolean","description":"Disable QR code on Welcome Page","example":true},"stripeCustomerId":{"type":"string","description":"stripeCustomerId for subscription passes","example":"str_123"},"disableDownload":{"type":"boolean","description":"Disable download link if pass is already activated. Default: false","example":true},"tier":{"type":"string","description":"Membership tier of the card","example":"SILVER"},"numOfScans":{"type":"integer","description":"Number of times the card has been scanned","example":0,"default":0}},"required":["templateId","formId"]},"cardOwner":{"type":"object","description":"Fields that are returned for each card owner","properties":{"id":{"type":"string","description":"Id of the card","example":"-jJWhjZ1a"},"firstName":{"type":"string","description":"First name of card owner","example":"Ankus Fang"},"lastName":{"type":"string","description":"Last name of card owner","example":"AHVW1qv4I_Teqdu4VjwMA"},"phone":{"type":"string","description":"phoneNumber of the card owner","example":"0409381912"},"email":{"type":"string","description":"Email of the card owner","example":"test@litecard.io"},"userType":{"type":"string","description":"User Type","example":"basic"},"state":{"type":"string","description":"State the user is from ","example":"VIC"}},"required":["id"],"additionalProperties":true},"actions":{"type":"object","additionalProperties":{"type":"object","properties":{"condition":{"$ref":"#/components/schemas/TemplateActionCondition"},"action":{"$ref":"#/components/schemas/TemplateActionParams"},"label":{"type":"string","description":"Name of the Action","example":"Redeem Burger"}},"required":["condition","action"]}}},"required":["card","cardOwner"]},"SendNotificationRequestBody":{"type":"object","properties":{"title":{"type":"string","description":"Title of the Notification","example":"Friday Sales"},"message":{"type":"string","description":"Message Body of the Notification","example":"Buy 2 Get The 3rd 20% Off"},"isPushNotification":{"type":"boolean","description":"Toggle for Sending Apple Push Notifications","example":true},"emailType":{"type":"string","description":"Type of Email","enum":["STANDARD","MARKETING"],"example":"MARKETING"}}},"SignUpOptions":{"type":"object","properties":{"downloadId":{"type":"string","description":"Optional. Specify the downloadId that should be used. This Id can be used to get the download urls for the created card","example":null,"nullable":true},"password":{"type":"string","description":"Optional. For password protected public sign ups","example":"password123"},"emailType":{"type":"string","description":"Optional. Senders email address, standard is used for most cases unless a marketing email address has been set up","enum":["STANDARD","MARKETING"],"example":"STANDARD","default":"STANDARD"},"emailInvitationEnabled":{"type":"boolean","description":"Flag to send an email invitation with Apple/Google wallet cards to the user","example":false},"emailTemplate":{"type":"string","description":"Select which email template option to use.","example":"litecardpass"},"smsInvitationEnabled":{"type":"boolean","description":"Flag to send an sms invitation with Apple/Google wallet cards to the user","example":false},"smsTemplate":{"type":"string","description":"Select which email template option to use.","example":"litecardpass"},"sourceEmail":{"type":"string","description":"IF not using default from domain, specify what from address to use","example":"tarfish@litecard.io","enum":["tarfish@litecard.io","donotreply@shakewellwallet.com","noreply@lune.litecard.io"]},"noPI":{"type":"boolean","description":"Flag to disable requirement for Email or Phone in card payload. Default: false","example":true},"fastCreate":{"type":"boolean","description":"Creates card using lazy create method","example":true},"tier":{"type":"string","description":"Tier to use for multi tiered templates, currently this is only supported for language tiered templates","example":"EN"}}},"SignUpResponseSchema":{"type":"object","properties":{"cardId":{"type":"string","description":"Id of created card","example":"abc123"},"success":{"type":"boolean","description":"Returns whether the request was successful","example":true},"downloadId":{"type":"string","description":"Id used for hosted litecard landing page e.g. https://app.dev.litecard.io/welcome/?id=5c_Wc9h-WCng0oxe8nHNn","example":"5c_Wc9h-WCng0oxe8nHNn"},"redirectUrl":{"type":"string","description":"Redirect Url","example":"http://localhost:8000/"}}},"SpinToWinResponse":{"type":"object","properties":{"prize":{"type":"object","description":"Prize for the spin to win result","example":"FREE_BURGER","properties":{"item":{"type":"string","description":"Prize for the spin to win result","example":"FREE_BURGER"},"index":{"type":"number","description":"Index of the selected prize item","example":"FREE_BURGER"}}},"prizeOptions":{"type":"array","items":{"type":"string"}},"downloadId":{"type":"string","description":"DownloadId used for reward page","example":"V1StGXR8_Z5jdHi6B-myT"}},"additionalProperties":true},"StandardAddress":{"type":"object","description":"Normalized postal address from Google Places or similar provider.","properties":{"@type":{"type":"string","description":"Discriminator for field kind.","enum":["address"],"example":"address"},"subPremise":{"type":"string","description":"Unit / Level/ Apartment / Suite number","example":"Unit 5"},"placeId":{"type":"string","description":"Google place id (e.g., Google Place ID).","example":"ChIJ4-6S2uZC1moRVx70GeLyhvg"},"formattedAddress":{"type":"string","description":"Human-friendly full address.","example":"54 Wellington St, Collingwood VIC 3066, Australia"},"streetNumber":{"type":"string","example":"54"},"streetName":{"type":"string","description":"Street/route name.","example":"Wellington Street"},"suburb":{"type":"string","description":"Sublocality/locality fallback.","example":"Collingwood"},"city":{"type":"string","description":"Locality/postal_town fallback.","example":"Collingwood"},"state":{"type":"string","description":"Admin area level 1 (short).","example":"VIC"},"stateName":{"type":"string","description":"Admin area level 1 (long).","example":"Victoria"},"region":{"type":"string","description":"Admin area level 2 (long).","example":"Yarra City"},"postalCode":{"type":"string","example":"3066"},"country":{"type":"string","description":"Country (long).","example":"Australia"},"countryCode":{"type":"string","description":"ISO 3166-1 alpha-2 country code.","pattern":"^[A-Z]{2}$","example":"AU"},"lat":{"type":"number","example":-37.8071154},"lng":{"type":"number","example":144.9862568}},"required":["@type","placeId","countryCode","postalCode"],"additionalProperties":false},"StripeCheckoutBody":{"type":"object","properties":{"priceId":{"type":"string","description":"priceId for stripe","example":"price_abc123..."},"origin":{"type":"string","description":"Page for stripe to redirect to on success or cancel","example":"http://localhost:5000"},"quantity":{"type":"number","description":"Set to '1' for one subscription and set to 'undefined' for metered subscription","example":1}}},"StripeCustomerPortalBody":{"type":"object","properties":{"origin":{"type":"string","description":"Set default page for stripe to navigate back","example":"http://localhost:5000"}}},"SubBusinessRoles":{"type":"object","additionalProperties":{"type":"array","description":"Roles associated with the business","items":{"type":"string","example":"admin"}},"description":"An object where keys are business IDs and values are lists of roles","example":{"businessId1":["admin","editor"],"businessId2":["viewer"]}},"SubBusinessSummary":{"type":"object","properties":{"id":{"type":"string","description":"Business Id","example":"CryoGym"},"businessName":{"type":"string","description":"Business name","example":"Cryo gym"},"subBusinessName":{"type":"string","description":"Name to show on sub business selection","example":"Cryo gym - Sub 1"},"logoUrl":{"type":"string","description":"Business logo image file","example":"https://assets.dev.litecard.io/Logo-Badge_3.png"}}},"Template":{"type":"object","description":"Template used to create apple/google wallet cards","allOf":[{"type":"object","properties":{"actions":{"$ref":"#/components/schemas/TemplateActions"}}},{"$ref":"#/components/schemas/TemplateRequest"},{"type":"object","properties":{"id":{"type":"string","description":"Id of the template","example":"V1StGXR8_Z5jdHi6B-myT"},"formId":{"type":"string","description":"Id of the Litecard UI form used  ","example":"V1StGXR8_Z5jdHi6B-myT"},"createdAt":{"type":"string","description":"Date when pass was first created, in ISO-8601 format","example":"2021-08-11T03:15:56.860Z"},"updatedAt":{"type":"string","description":"Date when pass was updated, in ISO-8601 format","example":"2021-08-11T03:15:56.860Z"},"version":{"type":"number","description":"Template Schema Version","example":1},"bulkPassInvitesSentAt":{"type":"string","description":"Date when bulk pass invites were last sent, in ISO-8601 format","example":"2021-08-11T03:15:56.860Z"}}}],"required":["dataFields","createdAt"]},"TemplateActionCondition":{"type":"object","properties":{"type":{"type":"string","description":"Type of condition to be run","example":"CHECK_IN"},"optional":{"type":"boolean","description":"Condition to run action on every invocation to the endpoint","example":true},"order":{"type":"integer","description":"Order of actions to be run on each invocation","example":1},"field":{"type":"string","description":"Field name used for conditional checking","example":"points"},"value":{"type":"integer","description":"Value to be compared against during the conditional check","example":10}},"required":["type","optional"]},"TemplateActionParams":{"type":"object","properties":{"type":{"type":"string","description":"Type of action to be executed","example":"INCREMENT"},"amount":{"type":"integer","description":"Value used in conjuction with the action","example":10},"field":{"type":"string","description":"Field name to perform action on","example":"points"},"incrementAmount":{"type":"integer","description":"Used with the INCREMENT_DECREMENT action, amount to be incremented by","example":1},"incrementField":{"type":"string","description":"Used with the INCREMENT_DECREMENT action, field to be incremented","example":"freeBurgerCount"},"decrementAmount":{"type":"integer","description":"Used with the INCREMENT_DECREMENT action, amount to be decremented by","example":10},"decrementField":{"type":"string","description":"Used with the INCREMENT_DECREMENT action, field to be decremented","example":"points"}},"required":["type"]},"TemplateActions":{"type":"object","additionalProperties":{"type":"object","properties":{"condition":{"$ref":"#/components/schemas/TemplateActionCondition"},"action":{"$ref":"#/components/schemas/TemplateActionParams"},"label":{"type":"string","description":"Name of the Action","example":"Redeem Burger"}},"required":["condition","action"]}},"TemplateAndFormRequest":{"type":"object","properties":{"template":{"$ref":"#/components/schemas/TemplateRequest"},"form":{"$ref":"#/components/schemas/FormRequest"}}},"TemplateBarcode":{"type":"object","description":"Barcode Fields of the template","properties":{"barcodeValue":{"type":"string","description":"Value of the Barcode","example":"7048582966","nullable":true,"default":null},"messageEncoding":{"type":"string","description":"Message Encoding of the Barcode","example":"iso-8859-1","nullable":true,"default":null},"type":{"type":"string","description":"Type of the Barcode","example":"CODE_128","nullable":true,"default":null},"altText":{"type":"boolean","description":"Enable having the Pass ID displayed at the bottom of the barcode","example":"1231244","default":true},"enabled":{"type":"boolean","description":"Whether the barcode is enabled","example":true,"default":false}}},"TemplateCardExpiry":{"type":"object","description":"Card Expiry field on Template that details how cards created by the template will expire","oneOf":[{"type":"object","properties":{"expiryType":{"type":"string","description":"Type of expiry, either NEVER, FIXED_DATE, FROM_ACTIVATION ","example":"NEVER","enum":["NEVER"]}}},{"type":"object","properties":{"expiryType":{"type":"string","description":"Type of expiry, either NEVER, FIXED_DATE or FROM_ACTIVATION","example":"FIXED_DATE","enum":["FIXED_DATE"]},"fixedDate":{"type":"string","description":"The fixed date the card produced by this template will expire","example":"2022-01-10T07:00:15.075Z"}}},{"type":"object","properties":{"expiryType":{"type":"string","description":"Type of expiry, either NEVER, FIXED_DATE or FROM_ACTIVATION","example":"FROM_ACTIVATION","enum":["FROM_ACTIVATION"]},"fromActivation":{"type":"object","properties":{"amount":{"type":"string","description":"The amount of time (based on the cardExpiry.fromActivation.measurement field) between the activation of the card produced by this template, and the expiry date","example":"10"},"measurement":{"type":"string","description":"The unit of measurement to calculate the amount of time between the activation of the card produced by this template, and the expiry date","example":"YEARS","enum":["DAYS","MONTHS","YEARS"]}}}}},{"type":"object","properties":{"expiryType":{"type":"string","description":"Type of expiry, either NEVER, FIXED_DATE, FROM_ACTIVATION or FIXED_SCANS","example":"FIXED_SCANS","enum":["FIXED_SCANS"]},"scans":{"type":"number","description":"Number of scans remaining before pass expires","example":1}}}]},"TemplateColours":{"type":"object","description":"Colours of the template","properties":{"background":{"type":"string","description":"Background colour of the template","example":"#ffffff"},"label":{"type":"string","description":"Label colour of the template","example":"#ffffff"},"foreground":{"type":"string","description":"Foreground colour of the template","example":"#ffffff"}}},"TemplateDataFields":{"type":"object","description":"Data Fields of the template","properties":{"appleChangeMessage":{"type":"string","title":"Apple Change Message","description":"This is the formatted string, that will be shown as a push notification message. The format string must contain %@, which is replaced with the field's new content. If no change message is set, the user isn't notified when the field changes.","default":"%@","example":"Gate changed to %@"},"appleDateStyle":{"$ref":"#/components/schemas/DateTimeStyle"},"appleFieldPosition":{"type":"integer","title":"Apple Field Position","description":"The position in the pass structure array. e.g. For a secondary field, a position of 0 means it is first in order to be rendered in that section. Positions start from 0.","default":0,"example":1,"minimum":0},"appleFieldType":{"type":"string","title":"Apple Field Type","description":"The pass structure locations, each value pertains to a certain region/part of the apple pass","default":"","example":"HEADER_FIELD","enum":["PRIMARY_FIELD","HEADER_FIELD","SECONDARY_FIELD","AUXILIARY_FIELD","BACK_FIELD"]},"appleIgnoreTimeZone":{"type":"boolean","title":"Apple Ignore Time Zone","description":"Optional. Always display the time and date in the given time zone, not in the user’s current time zone. The default value is false.","default":false,"example":true},"appleAttributedValue":{"type":"string","title":"Apple Attributed Value","description":"Overrides the apple field value key, can contain HTML a tags","example":"<a href='http://google.com'>Google</a>"},"appleIsRelativeDate":{"type":"boolean","title":"Apple Relative Date","description":"Optional. If true, the label’s value is displayed as a relative date; otherwise, it is displayed as an absolute date. The default value is false.","default":false,"example":true},"appleTextAlignment":{"type":"string","title":"Apple Text Alignment","description":"Optional. Argument that sets the text alignment of the field text. This value is not allowed on primary or back fields.","default":"PKTextAlignmentNatural","example":"PKTextAlignmentRight","enum":["PKTextAlignmentLeft","PKTextAlignmentCenter","PKTextAlignmentRight","PKTextAlignmentNatural"]},"appleTimeStyle":{"$ref":"#/components/schemas/DateTimeStyle"},"dateField":{"type":"boolean","title":"Date Field","description":"Value is true if the field is a date field","default":false,"example":true},"dateFieldType":{"type":"string","title":"Date Field Type","description":"Type of date field","default":"","example":"DATETIME_NOW","enum":["DATETIME_NOW"]},"defaultValue":{"title":"Default Value","description":"Default field value. Set this value if you want a starting value when you first create a card.","default":"","example":10,"type":"string","nullable":true},"fieldDescription":{"type":"string","description":"Description of the field","example":"This is the full name"},"fieldEnabled":{"type":"boolean","title":"Field Enabled","description":"Value is true if the field is enabled. Default value is true","default":true,"example":false},"fieldLabel":{"type":"string","title":"Field Label","description":"The label of the field","default":"","example":"Member Since"},"fieldType":{"type":"string","title":"Field Type","description":"Type of field, denotes whether the field belongs belongs in the card, or both card & card owner.","default":"","example":"CARD","enum":["CARD","CARD_OWNER_AND_CARD","NONE"]},"fieldValue":{"title":"Field Value","description":"The value of the field. Default value is null as the value will be filled during a create/update process.","default":null,"example":null,"type":"string","nullable":true},"googleFieldType":{"type":"string","nullable":true,"title":"Google Field Type","description":"The type of google field","default":null,"example":"TEXT_MODULE_DATA","enum":["ACCOUNT_NAME","LOYALTY_POINTS","OFFER","TEXT_MODULE_DATA","LINK_MODULE_DATA","MESSAGES","GENERIC",null]},"googleTextModulePosition":{"type":"integer","title":"Google Text Module Field Position","description":"The position in the text modules data array. e.g. A position of 0 means it is first in order to be rendered in that section. Positions start from 0.","default":0,"example":1,"minimum":0},"userCanEdit":{"type":"boolean","title":"User Editable","description":"Value is true if the field can be edited","default":false,"example":true},"frontEndMapping":{"type":"array","items":{"type":"string"},"title":"Front End Mapping","description":"array that decides whether to render field on Scan Check In Page","default":["SCAN"],"example":["SCAN"]}},"required":["fieldLabel"],"additionalProperties":false},"TemplateImages":{"type":"object","description":"Images of the template","properties":{"logo":{"type":"string","description":"URL of uploaded logo image","example":"https://s3bucketlocation/business-name/logo.png"},"hero":{"type":"string","description":"URL of uploaded hero image","example":"https://s3bucketlocation/business-name/hero.png"},"fullHero":{"type":"string","description":"URL of uploaded hero image","example":"https://s3bucketlocation/business-name/hero.png"},"icon":{"type":"string","description":"URL of uploaded icon image","example":"https://s3bucketlocation/business-name/icon.png"},"thumbnail":{"type":"string","description":"URL of uploaded thumbnail image","example":"https://s3bucketlocation/business-name/thumbnail.png"}}},"TemplateNotificationFields":{"type":"object","description":"Notification Fields of the template","properties":{"appleFieldPosition":{"type":"number","description":"Position of the Apple Field","example":0},"userCanEdit":{"type":"boolean","description":"User can edit or not","example":true},"appleChangeMessage":{"type":"string","description":"Apple Change Message","example":"abcde"},"appleDateStyle":{"type":"string","description":"Style of the Apple Date","example":"NOT_USED"},"fieldLabel":{"type":"string","description":"Label of the Field","example":"test label"},"googleFieldType":{"type":"string","description":"Field Type in Google","example":"MESSAGES"},"appleTimeStyle":{"type":"string","description":"Style of the apple Time","example":"NOT_USED"},"fieldValue":{"type":"string","description":"Value of the Field","example":"test value"},"appleFieldType":{"type":"string","description":"Type of the Apple Field","example":"BACK_FIELD"},"appleAttributedValue":{"type":"string","title":"Apple Attributed Value","description":"Overrides the apple field value key, can contain HTML a tags","example":"<a href='http://google.com'>Google</a>"},"appleIgnoreTimeZone":{"type":"boolean","title":"Apple Ignore Time Zone","description":"Optional. Always display the time and date in the given time zone, not in the user’s current time zone. The default value is false.","default":false,"example":true},"appleIsRelativeDate":{"type":"boolean","title":"Apple Relative Date","description":"Optional. If true, the label’s value is displayed as a relative date; otherwise, it is displayed as an absolute date. The default value is false.","default":false,"example":true},"appleTextAlignment":{"type":"string","title":"Apple Text Alignment","description":"Optional argument that sets the text alignment of the field text. This value is not allowed on primary or back fields.","default":"PKTextAlignmentNatural","example":"PKTextAlignmentRight","enum":["PKTextAlignmentLeft","PKTextAlignmentCenter","PKTextAlignmentRight","PKTextAlignmentNatural"]}}},"TemplateRequest":{"type":"object","properties":{"templateName":{"type":"string","description":"Name of the template","example":"Cherry Loyalty Template"},"isInternal":{"type":"boolean","description":"Public Visibility of the template","example":true},"userType":{"type":"string","description":"User Type","example":"Patron"},"passType":{"type":"string","description":"Pass Type","example":"Visit"},"dataFields":{"type":"object","description":"Data Fields for the pass","additionalProperties":{"$ref":"#/components/schemas/TemplateDataFields"}},"barcode":{"$ref":"#/components/schemas/TemplateBarcode"},"businessId":{"type":"string","description":"Business ID","example":"sample_dev_company"},"notificationFields":{"$ref":"#/components/schemas/TemplateNotificationFields"},"businessName":{"type":"string","description":"Business Name","example":"sample_dev_company"},"rateLimit":{"$ref":"#/components/schemas/RateLimitV1"},"appleWalletSettings":{"allOf":[{"$ref":"#/components/schemas/TemplateWalletSettings"},{"type":"object","properties":{"hideLogoText":{"type":"boolean","description":"Hides the logo text if true","example":true}}}]},"googlePaySettings":{"$ref":"#/components/schemas/TemplateWalletSettings"},"colours":{"$ref":"#/components/schemas/TemplateColours"},"description":{"type":"string","description":"Template description","example":"Test Loyalty Pass"},"status":{"type":"string","description":"Status of the template","example":"ACTIVE","enum":["ACTIVE","INACTIVE","DELETED"]},"images":{"$ref":"#/components/schemas/TemplateImages"},"cardExpiry":{"$ref":"#/components/schemas/TemplateCardExpiry"},"certificate":{"$ref":"#/components/schemas/Certificate"}}},"TemplateResponse":{"type":"object","properties":{"id":{"type":"string","description":"Id of the template","example":"V1StGXR8_Z5jdHi6B-myT"}}},"TemplateWalletSettings":{"type":"object","description":"Data Fields of the template","properties":{"passType":{"type":"string","description":"Type of the Pass","example":"LOYALTY"}}},"UIConfig":{"type":"object","description":"Configuration for the UI","properties":{"signupPage":{"$ref":"#/components/schemas/UIPageSchema"}}},"UIPageSchema":{"type":"object","properties":{"logoUrl":{"type":"string","format":"uri","description":"URL of the logo","example":"https://host/logo.jpg"},"disableQRCode":{"type":"boolean","description":"Disable QR code","example":false},"redirectUrl":{"type":"string","format":"uri","description":"URL to redirect to after sign up","example":"https://host/redirect"},"autoDownloadText":{"type":"string","description":"Text for the qrRedirect screen","example":"Your download should start automatically. Alternatively you can start the download below."},"orText":{"type":"string","description":"OR text for the qrRedirect screen","example":"OR"},"afterDownloadText":{"type":"string","description":"After download text","example":"If you added your pass, navigate to your mobile wallet to view it."},"retryText":{"type":"string","description":"Button text for retrying the download","example":"Try Again"},"qrText":{"type":"string","description":"Text for the directing the user to scan the QR code","example":"Add to wallet by scanning the QR code"},"footerText":{"type":"string","description":"Text for the directing the user to scan the QR code","example":"This QR code is a link to download your digital pass, not the pass itself."},"backgroundColour":{"type":"string","description":"Background colour of the page","example":"#FFFFFF"},"textColour":{"type":"string","description":"Text colour of the page","example":"#000000"},"faviconPath":{"type":"string","description":"Path to the favicon image","example":"/path/to/favicon.ico"},"documentTitle":{"type":"string","description":"Title of the document","example":"Please enter your title"}},"additionalProperties":false},"UpdateCardRequestBody":{"type":"object","properties":{"cardId":{"type":"string","description":"Unique Card Id","example":"-jJWhjZ1a"},"syncStaticFields":{"type":"boolean","description":"Flag to sync static fields","example":true},"tier":{"type":"string","description":"For multi tiered templates. This is to select which tier to build","example":"GOLD"},"cardPayload":{"type":"object","properties":{"exampleProperty":{"type":"string","description":"Example card property, properties are predefined in the card template"}},"additionalProperties":true},"templateOverrides":{"$ref":"#/components/schemas/TemplateOverridesV1"}},"additionalProperties":false,"required":["cardId"]},"UpdateCardResponse":{"type":"object","properties":{"cardOwnerUpdate":{"type":"object","description":"Updated fields on the card owner","additionalProperties":true},"cardDataFieldUpdate":{"type":"object","description":"Updated fields on the card","additionalProperties":true},"success":{"type":"boolean","description":"Returns whether the request was successful","example":true,"additionalProperties":false}},"additionalProperties":true},"UpdateProfileBody":{"type":"object","properties":{"businessName":{"type":"string","description":"Business name","example":"Cryo gym"},"subBusinessName":{"type":"string","description":"Name to show on sub business selection","example":"Cryo gym - Sub 1"},"email":{"type":"string","description":"Business email","example":"Ankus Fang"},"postCode":{"type":"string","description":"Business postcode","example":"CryoGym"},"state":{"type":"string","description":"Business state","example":"AHVW1qv4I_Teqdu4VjwMA"},"logoImage":{"type":"string","nullable":true,"description":"Logo image s3 URL","example":"https://assets.litecard.io/logo.png"},"overrideLitecardLogoImage":{"type":"string","nullable":true,"description":"Override LiteCard logo image s3 URL","example":"https://assets.litecard.io/override-logo.png"},"templateCount":{"type":"number","description":"Current total number of templates a user has.","example":"3"},"templateLimit":{"type":"number","description":"Maximum amount of templates this user can have. A templateLimit of -1 means the user can have unlimited templates.","example":"12"},"createdAt":{"type":"string","description":"Date when pass was first created, in ISO-8601 format","example":"2021-08-11T03:15:56.860Z"},"updatedAt":{"type":"string","description":"Date when pass was last updated, in ISO-8601 format","example":"2021-08-1T03:15:56.860Z"}}},"User":{"type":"object","description":"User object with roles and access details","properties":{"roles":{"type":"array","items":{"type":"string"},"example":["admin","editor"]},"apiAccessAllowed":{"type":"boolean","example":true},"uiDashboardAccess":{"type":"array","items":{"type":"string"},"example":["overview","settings"]},"picture":{"type":"string","example":"https://example.com/avatar.jpg"},"username":{"type":"string","example":"john_doe"},"email":{"type":"string","example":"john@example.com"},"createdAt":{"type":"string","example":"2024-01-10T08:00:00.000Z"},"lastLoginAt":{"type":"string","example":"2024-05-18T12:30:00.000Z"}},"required":["roles","apiAccessAllowed","uiDashboardAccess","picture","username","email","createdAt","lastLoginAt"]},"ValidatePasswordBody":{"type":"object","properties":{"formId":{"type":"string","description":"Id for field input form","example":"V1StGXR8_Z5jdHi6B-myT"},"password":{"type":"string","description":"User's input password","example":"password123"}},"required":["formId","password"]},"WelcomeDetailsResponse":{"type":"object","description":"Download Urls for welcome page","properties":{"downloadId":{"type":"string","description":"DownloadId used for landing page","example":"V1StGXR8_Z5jdHi6B-myT"},"appleLink":{"type":"string","description":"Link to apple pass","example":"https://litecard-demo-pkpass.s3-ap-southeast-2.amazonaws.com/coldbrew.pkpass"},"googleLink":{"type":"string","description":"Link to google pass","example":"https://pay.google.com/gp/v/save/eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJsaXRlY2FyZC10ZXN0QGNsZXZlci1hYmJleS0zMDg1MDcuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJhdWQiOiJnb29nbGUiLCJ0eXAiOiJzYXZldG9hbmRyb2lkcGF5IiwiaWF0IjoxNjIwMTE0NDkxLCJwYXlsb2FkIjp7ImxveWFsdHlPYmplY3RzIjpbeyJpZCI6IjMzODgwMDAwMDAwMTA2MDYyNDEuTE9ZQUxUWV9PQkpFQ1RfNTRkYmMwNTUtOWRlMy00YWZjLTg0YmUtZDhiNTZjN2U5Mzc5IiwiY2xhc3NJZCI6IjMzODgwMDAwMDAwMTA2MDYyNDEuTE9ZQUxUWV9DTEFTU185OTliOTVlYi00ZDVjLTQzZDEtOGFhOC05Zjg1ZjI0YzlmODQiLCJzdGF0ZSI6IkFDVElWRSIsImFjY291bnROYW1lIjoiSmFzb24iLCJhY2NvdW50SWQiOiIxMjMxMjMiLCJiYXJjb2RlIjp7ImFsdGVybmF0ZVRleHQiOiIxMjMxMjMiLCJ2YWx1ZSI6IjEyMzEyMyIsInR5cGUiOiJDT0RFXzEyOCJ9LCJsb2NhdGlvbnMiOlt7ImxhdGl0dWRlIjoiLTM3LjgwNjIzMTU2ODQyODgxIiwibG9uZ2l0dWRlIjoiMTQ0Ljk4OTkwMjQwODE0ODcifV0sInZhbGlkVGltZUludGVydmFsIjp7InN0YXJ0Ijp7ImRhdGUiOiIyMDIxLTA0LTIwVDAwOjAwOjAwLjAwKzEwOjAwIn0sImVuZCI6eyJkYXRlIjoiMjAyNS0wNC0yMFQyMzo1OTowMC4wMCsxMDowMCJ9fSwibGlua3NNb2R1bGVEYXRhIjp7InVyaXMiOlt7InVyaSI6InRlbDo2NTA1NTU1NTU1IiwiZGVzY3JpcHRpb24iOiJNb2JpbGUgTnVtYmVyIn0seyJ1cmkiOiJtYWlsdG86am9obmRvZUBsaXRlY2FyZC5jb20uYXUiLCJkZXNjcmlwdGlvbiI6IkVtYWlsIn1dfX1dfSwib3JpZ2lucyI6WyJodHRwOi8vbG9jYWxob3N0OjgwODAiXX0.bR5nSNqMPH6KUwiaqMP-E-nlyjzllOR9-rxUCVgPhqvra_qZ54kc3ZHX64LyViABgSbLIqFEG_EsfA9FCVunAs3ikr1yB5Tk3WiwQ13zt-rH7443_XTI078mtzESl930AL5mVhyrteTMfrhHHV0rrzChXDPgqBjPzsaqs4oGIeW7bVu7S1SC_M8EC-pxTUwqkvvv17xpBVBY_BKzDaK1uEykqdQp2XFHjjRT_esBc6xbiMTDGz11sp395v0RO-9jpp4z-L5igi7prFDgm7ZWBcbSZSKMBckp1lzctLIZ3jidJ9pg-lwgaZyyksmWWnDkVFKE0CWAQV3wFg6M2PXXyA"},"barcodeLink":{"type":"string","description":"Link to Barcode image","example":"https://example.com/blah"},"samsungLink":{"type":"string","description":"Link to samsung pass","example":"https://a.swallet.link/atw/656147182764415319#Clip?pdata=sIgHCzIwM9g"},"uiConfig":{"$ref":"#/components/schemas/UIConfig"},"disableQR":{"type":"boolean","description":"Disable QR code on Welcome Page","example":true}},"required":["appleLink","googleLink","downloadId"]},"authenticationRequestBody":{"type":"object","properties":{"username":{"type":"string","description":"Credential: username","example":"user1"},"password":{"type":"string","description":"Credential: password","example":"Ex@Mple5P@ssW0rd"}},"additionalProperties":false},"authenticationResponse":{"type":"object","properties":{"access_token":{"type":"string","description":"JWT Token used for API authentication"},"type":{"type":"string","description":"Type of Token","example":"Bearer"},"expires_in":{"type":"number","description":"Time in seconds before token expires","example":3600}}},"oAuth2ClientCredentialsRequestBody":{"type":"object","properties":{"grant_type":{"type":"string","enum":["client_credentials"],"description":"OAuth2 grant type","example":"client_credentials"},"client_id":{"type":"string","description":"OAuth2 client identifier","example":"my-app-client-id"},"client_secret":{"type":"string","description":"OAuth2 client secret","example":"my-app-client-secret"},"scope":{"type":"string","description":"Optional scope parameter","example":"api:read api:write"},"business_id":{"type":"string","description":"Business ID associated with the client","example":"business_id"}},"required":["grant_type","client_id","client_secret","business_id"],"additionalProperties":false},"responseBody":{"type":"object","properties":{"message":{"type":"string"}}},"AddLocationRequestBody":{"type":"object","properties":{"lon":{"type":"string","description":"Longitude coordinate of location","example":""},"lat":{"type":"string","description":"Latitude coordinate of location","example":"POST"},"locationName":{"type":"string","description":"Name of location","example":""}},"required":["locationName","lon","lat"]},"AppleAppLinkingSettings":{"type":"object","description":"Apple Settings for AppLinking","properties":{"storeIdentifier":{"type":"number","description":"App Store Identifier"}}},"AppleDateTimeStyleV1":{"type":"string","description":"Style of the time to be displayed\n\nSHORT - 11/23/37” or “3:30 PM”.\n\nMEDIUM “Nov 23, 1937” or “3:30:32 PM”.\n\nLONG - “November 23, 1937” or “3:30:32 PM PST”\n\nFULL - “Tuesday, April 12, 1952 AD” or “3:30:42 PM Pacific Standard Time”\n\n","example":"SHORT","enum":["NOT_USED","NONE","SHORT","MEDIUM","LONG","FULL"]},"AppleNumberStyleV1":{"type":"string","description":"Style for the number to be displayed see https://developer.apple.com/documentation/foundation/nsnumberformatterstyle","example":"DECIMAL","enum":["NOT_USED","DECIMAL","PERCENT","SCIENTIFIC","SPELLOUT"]},"BaseTemplateV1":{"type":"object","description":"Template used to create apple/google wallet cards","properties":{"name":{"type":"string","description":"Human readable name of the template","example":"Bronze Card"},"cardCount":{"type":"integer","description":"Number of active cards created using this template","example":80},"downloadsCount":{"type":"integer","description":"Number of cards downloaded","example":70},"downloadedApplePassCount":{"type":"integer","description":"Number of cards downloaded on Apple Wallet","example":50},"downloadedGooglePassCount":{"type":"integer","description":"Number of cards downloaded on Google Wallet","example":20},"description":{"type":"string","description":"Template Description","example":"LiteCard Bronze Card"},"businessName":{"type":"string","description":"Name of the business","example":"LiteCard"},"isInternal":{"type":"boolean","description":"Public Visibility of the template/form","example":false},"type":{"type":"string","description":"The Type of Pass","enum":["BUSINESS_CARD","GENERIC","COUPON","EVENT_TICKET"]},"externalId":{"type":"string","description":"External id mapping to third party system","example":"1234"},"settings":{"$ref":"#/components/schemas/SettingsV1"},"stripeSettings":{"$ref":"#/components/schemas/StripeSettings"},"appleWalletSettings":{"$ref":"#/components/schemas/TemplateAppleWalletSettingsV1"},"googleWalletSettings":{"$ref":"#/components/schemas/TemplateGoogleWalletSettingsV1"},"samsungWalletSettings":{"$ref":"#/components/schemas/TemplateSamsungWalletSettingsV1"},"colours":{"$ref":"#/components/schemas/TemplateColoursV1"},"images":{"$ref":"#/components/schemas/TemplateImagesV1"},"barcode":{"$ref":"#/components/schemas/TemplateBarcodeV1"},"locations":{"$ref":"#/components/schemas/TemplateLocationsV1"},"cardExpiry":{"$ref":"#/components/schemas/TemplateCardExpiryV1"},"links":{"type":"array","description":"Template Links","items":{"$ref":"#/components/schemas/TemplateLinkV1"}},"dataFields":{"type":"array","description":"Data Fields of the template","items":{"$ref":"#/components/schemas/TemplateDataFieldV1"}},"certificates":{"$ref":"#/components/schemas/TemplateCertificatesV1"},"actions":{"$ref":"#/components/schemas/TemplateActionsV1"},"scanRules":{"type":"array","description":"Scan Rules of the template","items":{"$ref":"#/components/schemas/TemplateScanRuleV1"}},"rateLimit":{"$ref":"#/components/schemas/RateLimitV1"},"appLinking":{"$ref":"#/components/schemas/TemplateAppLinking"},"shopifySettings":{"$ref":"#/components/schemas/ShopifySettings"},"notifications":{"type":"array","items":{"$ref":"#/components/schemas/NotificationSettings"}},"tiers":{"type":"object","description":"Multi tiers Settings","additionalProperties":{"$ref":"#/components/schemas/TierTemplateSettings"}},"competitionSettings":{"$ref":"#/components/schemas/CompetitionSettings"},"bulkPassInvitesSentAt":{"type":"string","description":"Date when bulk pass invites were last sent, in ISO-8601 format","example":"2021-08-11T03:15:56.860Z"}}},"BulkFastCreateCardsRequestBody":{"type":"object","properties":{"templateId":{"type":"string","description":"Template ID","example":"template-123"},"createCardPayloads":{"type":"array","description":"Array of card payloads. Limit of 100 per request","maxItems":100,"minItems":1,"items":{"type":"object","properties":{"cardPayload":{"$ref":"#/components/schemas/BaseCardPayload"},"tier":{"type":"string","description":"For multi tiered templates. This is to select which tier to build","example":"GOLD"}},"required":["cardPayload"]}},"options":{"$ref":"#/components/schemas/SignUpOptions"}},"required":["templateId","createCardPayloads","options"]},"BulkFastCreateCardsResponse":{"type":"object","properties":{"success":{"type":"boolean","description":"Overall results of bulk create. If 1 failed this will return False here","example":true},"cards":{"type":"array","description":"Results in same order as createCardPayloads. Each item includes original payload content plus newly created card data.","items":{"type":"object","properties":{"cardPayload":{"$ref":"#/components/schemas/BaseCardPayload"},"tier":{"type":"string"},"cardId":{"type":"string","description":"Card ID"},"cardOwnerId":{"type":"string","description":"Card Owner ID"},"downloadId":{"type":"string","description":"Download ID"},"appleLink":{"type":"string","description":"Apple Download Link"},"googleLink":{"type":"string","description":"Google Download Link"},"success":{"type":"boolean","description":"Whether the card was created successfully"}}}}}},"Business":{"type":"object","description":"Information about a business entity","properties":{"id":{"type":"string","description":"Unique identifier for the business","example":"L3ZrB748fLxlFD8ZjFVgX"},"appleTeamIdentifier":{"type":"string","description":"Team identifier for Apple services","example":"F5MB9WT9BZ"},"businessName":{"type":"string","description":"Name of the business","example":"Billing"},"cardCount":{"type":"integer","format":"int32","description":"Number of cards associated with the business","example":60},"cardLimit":{"type":"integer","format":"int32","description":"Maximum number of cards allowed for the business (-1 for unlimited)","example":-1},"cardOwnerCount":{"type":"integer","format":"int32","description":"Number of card owners associated with the business","example":8},"certId":{"type":"string","description":"Identifier for the certificate used by the business","example":"freetier"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp of when the business record was created","example":"2022-09-08T06:37:44.803Z"},"email":{"type":"string","format":"email","description":"Contact email for the business","example":"billing_analytics@litecard.com.au"},"logoUrl":{"type":"string","format":"uri","description":"URL to the business's logo","example":"https://assets.litecard.io/Litecard_Badge.png"},"mailchimp":{"type":"object","description":"Mailchimp configuration details for the business","properties":{"accessToken":{"type":"string","description":"Access token for Mailchimp API","example":"__access_token__"},"fromEmail":{"type":"string","format":"email","description":"Email address to send from using Mailchimp","example":"news@corplite.com"},"server":{"type":"string","description":"Mailchimp server prefix","example":"us14"}}},"passTypeIdentifier":{"type":"string","description":"Pass type identifier for mobile wallet services","example":"pass.au.com.lc.dev.freetier"},"templateCount":{"type":"integer","format":"int32","description":"Number of templates created by the business","example":2},"templateLimit":{"type":"integer","format":"int32","description":"Maximum number of templates allowed for the business (-1 for unlimited)","example":-1},"tier":{"type":"string","description":"Tier or plan level of the business","example":"FREE"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp of the last update to the business's record","example":"2023-02-15T04:39:05.239Z"},"uiConfig":{"$ref":"#/components/schemas/UIConfig"}}},"BusinessCardOptions":{"type":"object","properties":{"firstName":{"type":"string","description":"First Name","example":"John"},"lastName":{"type":"string","description":"Last Name","example":"Doe"},"middleName":{"type":"string","description":"Middle Name","example":"Sam"},"email":{"type":"string","description":"Email field for email address","example":"john@litecard.com.au"},"workPhone":{"type":"string","description":"Work phone number","example":"+61400000000"},"homePhone":{"type":"string","description":"Home phone number","example":"+61400000000"},"company":{"type":"string","description":"Company of Employment","example":"Litecard"},"title":{"type":"string","description":"Title of position at Company","example":"Developer"},"social":{"type":"array","items":{"$ref":"#/components/schemas/SocialMedia"}}}},"BusinessCardRequestBody":{"type":"object","properties":{"businessId":{"type":"string","description":"Id for the Business that this entity belongs to","example":"LiteCard"},"templateId":{"type":"string","description":"Id for the apple/google pass template used to create the card.","example":"test_business"},"cardPayload":{"$ref":"#/components/schemas/BaseCardPayload"},"options":{"$ref":"#/components/schemas/SignUpOptions"},"businessCard":{"$ref":"#/components/schemas/BusinessCardOptions"}}},"CSVExportRecord":{"type":"object","description":"CSV Export Record","properties":{"id":{"type":"string","description":"Unique export ID","example":"550e8400-e29b-41d4-a716-446655440000"},"tableName":{"type":"string","description":"Table being exported","example":"cardsTable"},"status":{"type":"string","description":"Export status","enum":["PENDING","PROCESSING","COMPLETED","FAILED"],"example":"COMPLETED"},"description":{"type":"string","nullable":true,"description":"Human-readable description of export scope (e.g., 'All Active Cards' or 'Bronze Card Template')","example":"Cards for Bronze Card template"},"startDateTime":{"type":"string","nullable":true,"description":"Export filter: from date","example":"2023-01-01T00:00:00Z"},"endDateTime":{"type":"string","nullable":true,"description":"Export filter: to date","example":"2023-12-31T23:59:59Z"},"templateId":{"type":"string","nullable":true,"description":"Optional template filter","example":"tmpl-456"},"templateName":{"type":"string","nullable":true,"description":"Template name (populated when templateId is specified)","example":"Bronze Card"},"statusList":{"type":"array","items":{"type":"string","enum":["ACTIVE","INACTIVE","DELETED","AVAILABLE"]},"nullable":true,"description":"Pass status filter list","example":["ACTIVE","INACTIVE"]},"createdAt":{"type":"string","description":"Created timestamp","example":"2025-12-15T12:00:00Z"},"updatedAt":{"type":"string","description":"Last updated timestamp","example":"2025-12-15T12:05:00Z"},"presignedUrl":{"type":"string","nullable":true,"description":"S3 presigned download URL (when completed)","example":"https://s3.amazonaws.com/bucket/file.csv?..."},"expiresIn":{"type":"number","nullable":true,"description":"Presigned URL expiration time in seconds","example":3600},"errorMessage":{"type":"string","nullable":true,"description":"Error details if export failed","example":"Lambda timeout after 30 seconds"}}},"CardSyncSummaryListV1":{"type":"array","items":{"$ref":"#/components/schemas/CardSyncSummaryV1"}},"CardSyncSummaryV1":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of cards processed","example":5000},"failedCount":{"type":"integer","description":"Number of failed card syncs","example":0},"platform":{"type":"string","description":"Platform for the card sync","enum":["apple","google"],"example":"apple"},"successCount":{"type":"integer","description":"Number of successful card syncs","example":5000},"type":{"type":"string","description":"Type of sync operation","enum":["TEMPLATE_CARD_SYNC"],"example":"TEMPLATE_CARD_SYNC"}},"required":["count","failedCount","platform","successCount","type"]},"CardUploadGroupV1":{"type":"object","description":"Schema for Card Upload Group","properties":{"id":{"type":"string","example":"group-id"},"businessId":{"type":"string","example":"business-id"},"count":{"type":"object","description":"valid + invalid = total and valid = created + updated + failed + skipped","properties":{"failed":{"type":"number","example":0},"invalid":{"type":"number","example":2},"skipped":{"type":"number","example":0},"created":{"type":"number","example":1},"updated":{"type":"number","example":1},"total":{"type":"number","example":3},"valid":{"type":"number","example":1}}},"createdAt":{"type":"string","example":"2024-05-30T06:53:18.700Z"},"fileName":{"type":"string","example":"cards.csv"},"resultsLink":{"type":"string","example":"https://litecard-dev-uploads.s3.ap-southeast-2.amazonaws.com/business-id/card-uploads/group-id/results.csv"},"overrideExisting":{"type":"boolean","example":true},"status":{"type":"string","enum":["PARSING_ERROR","RECORD_COUNT_EXCEEDED","PENDING","VALIDATION_COMPLETE","COMPLETED","QUEUED","IN_PROGRESS","FAILED"],"example":"COMPLETED"},"templateId":{"type":"string","example":"template-id"},"type":{"type":"string","enum":["FILE_UPLOAD","TEMPLATE_CARD_SYNC"]},"summary":{"$ref":"#/components/schemas/CardSyncSummaryListV1"}},"required":["id","businessId","createdAt","fileName","overrideExisting","status","templateId","type"]},"CardUploadV1":{"type":"object","description":"Schema for detailed card upload data","properties":{"id":{"type":"string","example":"id"},"businessId":{"type":"string","example":"business-id"},"cardId":{"type":"string","example":"card12345"},"cardPayload":{"type":"object","additionalProperties":true,"description":"Generic card payload with unspecified fields","example":{"email":"123214312","firstName":"Nimesh","lastName":"Jayamanne"}},"createdAt":{"type":"string","example":"2024-05-30T06:45:02.736Z"},"errors":{"type":"array","items":{"type":"string","example":"abc is not a valid email"}},"recordIndex":{"type":"number","example":2},"status":{"type":"string","enum":["QUEUED","PROCESSING","CREATED","UPDATED","FAILED","SKIPPED","VALIDATION_FAILED"],"example":"VALIDATION_FAILED"},"templateId":{"type":"string","example":"template-id"}},"required":["id","businessId","createdAt","recordIndex","status","templateId"]},"CertificateUploadV1":{"type":"object","properties":{"certificate":{"type":"string","description":"base64 encoded certificate","example":"MIIGEDCCBPigAwIBAgIQL...=="},"description":{"type":"string","description":"A description about the certificate"}},"required":["certificate"]},"ColumnValues":{"type":"object","properties":{"title":{"type":"string","description":"Readable label for column Value"},"value":{"type":"string","description":"Column value property that matches db entry"}}},"CompetitionSettings":{"type":"object","properties":{"type":{"type":"string","enum":["FIRST_X"],"description":"Type of competition. FIRST_OF first x number of entries will win","example":"FIRST_X"},"limit":{"type":"number","description":"Limit of the competition. If type is FIRST_X, this is used to determine maximum cards","example":10},"segmentName":{"type":"string","description":"Name of the segment used as the flag to determine if the user is a winner of the competition","example":"segment1"},"voucherAssociated":{"type":"boolean","description":"Flag to determine if there are voucher codes associated with the competition","example":true}},"required":["type","segmentName","voucherAssociated"]},"CreatFastCardRequestBody":{"type":"object","properties":{"downloadId":{"type":"string","description":"The ID of the card previously created","example":"abc123"},"deviceType":{"type":"string","description":"What type of card to create","enum":["APPLE","GOOGLE"],"example":"APPLE"}},"required":["downloadId","deviceType"]},"CreateSubBusinessRequestBody":{"type":"object","properties":{"businessName":{"type":"string","description":"Business name","example":"Cryo gym"},"email":{"type":"string","description":"Business email","example":"Ankus Fang"},"password":{"type":"string","description":"Business password","example":"password"},"appUrls":{"type":"array","description":"App urls","items":{"type":"string","description":"App url","example":"https://app.litecard.io"}},"country":{"type":"string","description":"Business country","example":"Australia"},"postCode":{"type":"string","description":"Business postcode","example":"CryoGym"},"phone":{"type":"string","description":"Business phone","example":"Ankus Fang"},"state":{"type":"string","description":"Business state","example":"VIC"},"logoImage":{"type":"string","nullable":true,"description":"Logo image s3 URL","example":"https://assets.litecard.io/logo.png"},"overrideLitecardLogoImage":{"type":"string","nullable":true,"description":"Override LiteCard logo image s3 URL","example":"https://assets.litecard.io/override-logo.png"},"tableConfig":{"$ref":"#/components/schemas/TableConfig"}}},"CreateTemplateV1":{"type":"object","description":"Template used to create apple/google wallet cards","properties":{"name":{"type":"string","description":"Human readable name of the template","example":"Bronze Card"},"cardCount":{"type":"integer","description":"Number of active cards created using this template","example":80},"downloadsCount":{"type":"integer","description":"Number of cards downloaded","example":70},"downloadedApplePassCount":{"type":"integer","description":"Number of cards downloaded on Apple Wallet","example":50},"downloadedGooglePassCount":{"type":"integer","description":"Number of cards downloaded on Google Wallet","example":20},"description":{"type":"string","description":"Template Description","example":"LiteCard Bronze Card"},"businessName":{"type":"string","description":"Name of the business","example":"LiteCard"},"isInternal":{"type":"boolean","description":"Public Visibility of the template/form","example":false},"type":{"type":"string","description":"The Type of Pass","enum":["BUSINESS_CARD","GENERIC","COUPON","EVENT_TICKET"]},"externalId":{"type":"string","description":"External id mapping to third party system","example":"1234"},"settings":{"$ref":"#/components/schemas/SettingsV1"},"stripeSettings":{"$ref":"#/components/schemas/StripeSettings"},"appleWalletSettings":{"$ref":"#/components/schemas/TemplateAppleWalletSettingsV1"},"googleWalletSettings":{"$ref":"#/components/schemas/TemplateGoogleWalletSettingsV1"},"samsungWalletSettings":{"$ref":"#/components/schemas/TemplateSamsungWalletSettingsV1"},"colours":{"type":"object","description":"Colours of the template","properties":{"background":{"type":"string","description":"Background colour of the pass","example":"#ffffff"},"label":{"type":"string","description":"Label colour of the apple pass","example":"#ffffff"},"foreground":{"type":"string","description":"Text colour of the apple pass","example":"#ffffff"},"strip":{"type":"string","description":"Text colour on top of strip image of the apple pass","example":"#ffffff"},"samsungBlink":{"type":"string","description":"Colour of the blinking indicating area in samsung wallet","example":"#00ffaa"},"samsungFont":{"type":"string","description":"Colour of the font on the Samsung card","enum":["#000000","#ffffff"]}},"required":["background","label","foreground"]},"images":{"type":"object","description":"Images of the template","properties":{"logo":{"type":"string","description":"URL of uploaded a logo image (square), used by Apple, Google & Samsung, 300px by 300px.","example":"https://s3bucketlocation/business-name/logo.png"},"logoDarkMode":{"type":"string","description":"URL of uploaded a logo image (square), used by Samsung, 300px by 300px. Used specifically for dark mode.","example":"https://s3bucketlocation/business-name/logo.png"},"logoLightMode":{"type":"string","description":"URL of uploaded a logo image (square), used by Samsung, 300px by 300px. Used specifically for light mode.","example":"https://s3bucketlocation/business-name/logo.png"},"hero":{"type":"string","description":"URL of uploaded hero image, used by Google. 1032px x 336px","example":"https://s3bucketlocation/business-name/hero.png"},"strip":{"type":"string","description":"URL of uploaded strip image, used by Apple. 1125px by 432px. Will overwrite Apple's thumbnail image.","example":"https://s3bucketlocation/business-name/hero.png"},"appleLogoOverride":{"type":"string","description":"URL of uploaded logo image used by Apple. This will replace the shared logo image. 150px height with max width of 480px","example":"https://s3bucketlocation/business-name/hero.png"},"icon":{"type":"string","description":"URL of uploaded icon image, used by Apple","example":"https://s3bucketlocation/business-name/icon.png"},"thumbnail":{"type":"string","description":"URL of uploaded thumbnail image. 270px by 270px. Only available on Apple Event Ticket and Generic card types and certain Samsung Card Types.","example":"https://s3bucketlocation/business-name/thumbnail.png"},"background":{"type":"string","description":"URL of uploaded background image. 270px by 270px. Only available on Apple Event Ticket card types","example":"https://s3bucketlocation/business-name/background.png"}},"required":["icon","logo"]},"barcode":{"type":"object","description":"Barcode Fields of the template","properties":{"barcodeValue":{"type":"string","description":"Value of the Barcode","example":"4805723345"},"messageEncoding":{"type":"string","description":"Message Encoding of the Barcode","example":"iso-8859-1","nullable":true},"type":{"type":"string","description":"Type of the Barcode","example":"CODE_128","enum":["NOT_USED","QR_CODE","CODE_128","PDF_417","AZTEC"]},"altText":{"type":"string","description":"Displayed alternative value at the bottom of the barcode","example":"1231244","nullable":true},"fieldMap":{"type":"string","description":"If barcodeValue is set to ${CUSTOM}. fieldMap must be present to identify which field the barcodeValue should be set from.","example":"memberId","nullable":true},"prefix":{"type":"string","description":"For Readers / scanners that require a prefix before a barcodeValue","example":"?","nullable":true},"suffix":{"type":"string","description":"For Readers / scanners that require a suffix after a barcodeValue","example":";","nullable":true}},"required":["type","altText","barcodeValue"]},"locations":{"$ref":"#/components/schemas/TemplateLocationsV1"},"cardExpiry":{"$ref":"#/components/schemas/TemplateCardExpiryV1"},"links":{"type":"array","description":"Template Links","items":{"$ref":"#/components/schemas/TemplateLinkV1"}},"dataFields":{"type":"array","description":"Data Fields of the template","items":{"$ref":"#/components/schemas/TemplateDataFieldV1"}},"certificates":{"$ref":"#/components/schemas/TemplateCertificatesV1"},"actions":{"$ref":"#/components/schemas/TemplateActionsV1"},"scanRules":{"type":"array","description":"Scan Rules of the template","items":{"$ref":"#/components/schemas/TemplateScanRuleV1"}},"rateLimit":{"$ref":"#/components/schemas/RateLimitV1"},"appLinking":{"$ref":"#/components/schemas/TemplateAppLinking"},"shopifySettings":{"$ref":"#/components/schemas/ShopifySettings"},"notifications":{"type":"array","items":{"$ref":"#/components/schemas/NotificationSettings"}},"tiers":{"type":"object","description":"Multi tiers Settings","additionalProperties":{"$ref":"#/components/schemas/TierTemplateSettings"}},"competitionSettings":{"$ref":"#/components/schemas/CompetitionSettings"},"bulkPassInvitesSentAt":{"type":"string","description":"Date when bulk pass invites were last sent, in ISO-8601 format","example":"2021-08-11T03:15:56.860Z"}},"required":["name","description","businessName","appleWalletSettings","googleWalletSettings","colours","images","barcode"]},"DatabaseMetaData":{"type":"object","properties":{"createdAt":{"type":"string","description":"Record creation date","example":"2021-08-11T03:15:56.860Z"},"updatedAt":{"type":"string","description":"Record update date","example":"2021-08-1T03:15:56.860Z"},"createdBy":{"type":"string","description":"User Id of the creator","example":"abc123"}}},"DeleteCardsByContactRequestBody":{"type":"object","properties":{"email":{"type":"string","description":"Email of the card owner","example":"test@example.com"},"phone":{"type":"string","description":"Phone number of the card owner","example":"+61400000000"},"databaseDelete":{"type":"boolean","description":"Delete the cards from the database","example":true,"default":false}}},"DeleteScanV1ResponseSchema":{"type":"object","properties":{"scanId":{"type":"string","description":"Scan ID","example":"25dgjks2q3kqqha"}},"required":["scanId"]},"EmailRemindersRequestBody":{"type":"object","properties":{"templateId":{"type":"string","description":"Template of the cards you want to send reminder to. If value not provided, will send to all passes that haven't been activated.","example":"test_business"},"emailTemplate":{"type":"string","description":"Select which email template option to use.","example":"litecardpass","enum":["litecardpass","table-tennis","tarfish","tarfish-form","cx3","tt-reminder","mubc","muttc"]}},"required":["emailTemplate"]},"ExportCsvV1RequestBody":{"type":"object","properties":{"tableName":{"type":"string","enum":["cardsTable","scansTable","SCAN_TABLE","notificationGroupsTable"],"description":"The name of the front end table that is to be exported","example":"SCAN_TABLE"},"startDateTime":{"type":"string","description":"StartDateTime of the exporting data","example":"2022-02-04T06:22:37.773Z"},"endDateTime":{"type":"string","description":"EndDateTime of the exporting data","example":"2022-02-04T06:22:37.773Z"},"templateId":{"type":"string","description":"Id of the template to be exported","example":"template-123"},"statusList":{"type":"array","items":{"type":"string","enum":["ACTIVE","INACTIVE","DELETED","AVAILABLE"]},"nullable":true,"description":"Status filter list","example":["ACTIVE","INACTIVE"]},"appleWalletStatus":{"type":"array","items":{"type":"string","enum":["ACTIVE","INACTIVE","ALL","NOT_DOWNLOADED"]},"nullable":true,"description":"Apple Wallet status filter - ACTIVE: downloaded and active, INACTIVE: downloaded and removed, NOT_DOWNLOADED: never downloaded, ALL: all cards","example":["ACTIVE","NOT_DOWNLOADED"]},"googleWalletStatus":{"type":"array","items":{"type":"string","enum":["ACTIVE","INACTIVE","ALL","NOT_DOWNLOADED"]},"nullable":true,"description":"Google Wallet status filter - ACTIVE: downloaded and active, INACTIVE: downloaded and removed, NOT_DOWNLOADED: never downloaded, ALL: all cards","example":["ACTIVE","NOT_DOWNLOADED"]}}},"ExternalCallbackV1":{"type":"object","properties":{"type":{"type":"string","description":"Status of the callback"}},"additionalProperties":true},"FormFieldsV1":{"type":"object","properties":{"type":{"type":"string","enum":["text","radio","select","phone","textArea","number","date","dateTime","image","nationality","address"]},"format":{"type":"string","description":"Format of the field","example":"DD/MM/YYYY for date inputs","nullable":true},"label":{"type":"string","description":"The label of the field on the card/form","example":"First Name"},"helpText":{"type":"string","description":"Help text to be displayed next to the field label","example":"Date the member joined","nullable":true},"name":{"type":"string","description":"Unique key","example":"firstName"},"rules":{"type":"array","description":"Validation rules that will be run on this field","items":{"type":"string","enum":["required","phone","email","integer"]}},"allowOauthValidation":{"type":"boolean","description":"Enable validation of field values using social account authentication (OAuth sign-in)","example":true},"usage":{"$ref":"#/components/schemas/FormFieldUsage"},"mappingType":{"type":"string","enum":["CARD_OWNER","CARD_OWNER_AND_CARD","CARD"],"description":"Determines if this field is mapped from form to card or cardowner or both","example":true},"value":{"oneOf":[{"type":"string"},{"type":"number"}]},"placeholder":{"type":"string","description":"Place holder text","example":"Full Name"},"defaultCountryCode":{"type":"string","description":"Default country code for phone number","example":"au"},"options":{"type":"array","description":"List of options for drop down list","items":{"type":"object","properties":{"title":{"type":"string","description":"Label for the option","example":"Casual"},"value":{"type":"string","description":"Value for the option","example":"templateId"}},"required":["title","value"]}},"defaultValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"required":["type","label","name","rules"]},"FormV1":{"type":"object","allOf":[{"type":"object","properties":{"id":{"type":"string","description":"Id of the form","example":"-jJWhjZ1a"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/FormFieldsV1"}},"formName":{"type":"string","description":"Name of the form","example":"test form"},"businessId":{"type":"string","description":"Identifier for the Business that this entity belongs to","example":"LiteCard"},"passwordEnabled":{"type":"boolean","description":"Enable password","example":"true","default":false},"logo":{"type":"string","description":"logo image link url","example":"https://assets-dev.litecard.io/logo.png"},"title":{"type":"string","description":"Title of the form","example":"LiteCard"},"description":{"type":"string","description":"Description of the form","example":"Make your move with LiteCard today."},"style":{"type":"object","properties":{"bgPrimary":{"type":"string","description":"Primary colour for the form background","example":"#1890ff"},"bgSecondary":{"type":"string","description":"Secondary colour for the form background","example":"#1890ff"},"btnPrimary":{"type":"string","description":"Secondary colour for the button","example":"#1890ff"},"btnSecondary":{"type":"string","description":"Secondary colour for the button","example":"#1890ff"},"label":{"type":"string","description":"Label colour for Apple Passes","example":"#f1f0f2"},"customCssLinks":{"type":"array","description":"List of custom css links","items":{"type":"string"}}}},"connectIDEnabled":{"type":"boolean","description":"Enable ConnectID Verification","example":"false"},"isInternal":{"type":"boolean","description":"Public Visibility of the form","example":true},"templateId":{"type":"string","description":"Identifier for the template used to create the card","example":"test_business"},"status":{"type":"string","description":"Status of the form","example":"ACTIVE","enum":["ACTIVE","INACTIVE","DELETED"]},"paymentRequired":{"type":"boolean","description":"Require payment after form submission"},"tacURL":{"type":"string","description":"Terms and Condition link to be used"},"smsEnabled":{"type":"boolean","description":"Flag to send SMS or not. Used by our sign up form"},"hideForm":{"type":"boolean","description":"Hide form from Private Signup"},"mailchimpSettings":{"type":"object","description":"Form specific mailchimp settings","properties":{"enabled":{"type":"boolean","description":"Enable mailchimp invitation emails","example":false},"eventName":{"type":"string","description":"journey to trigger in mailchimp","example":"my_event"},"mergeFieldMapping":{"type":"object","description":"Additional merge field mappings to card data","additionalProperties":true},"mergeFieldFormat":{"type":"object","description":"Format of the merge fields, For example MM/DD for birthday type data in mailchimp","additionalProperties":true},"tags":{"type":"array","items":{"$ref":"#/components/schemas/MailchimpTagSettings"}}}},"emailProviderSettings":{"type":"object","description":"Email Provider Settings","properties":{"enabled":{"type":"boolean","description":"Enable Email Provider invitation emails","example":false},"sendEmail":{"type":"boolean","description":"Whether Litecard triggers send email or just updates profile","example":false},"providerName":{"type":"string","description":"Name of Email Provider","example":"BRAZE"},"campaignName":{"type":"string","description":""},"campaignId":{"type":"string","description":""},"mergeFieldMapping":{"type":"object","description":"Additional merge field mappings to card data","additionalProperties":true},"contactFieldMapping":{"type":"object","description":"Additional merge field mappings to update contact data","additionalProperties":true}},"additionalProperties":true}}},{"$ref":"#/components/schemas/DatabaseMetaData"}],"required":["id","fields","formName","createdBy","businessId","logo","description","style","templateId","isInternal","status"]},"GoogleAppLinkingSettings":{"type":"object","description":"Google settings for AppLinking","properties":{"title":{"type":"string","description":"Title for the App"},"appLogo":{"type":"string","description":"URL to the logo of the app"},"appUri":{"type":"string","description":"URL to the app. Recommended to use a dynamic Link"},"description":{"type":"string","description":"Description of the app"}}},"IntegrationAuthProperties":{"type":"object","properties":{"providerName":{"type":"string","enum":["DOTDIGITAL"],"description":"Provider name"},"username":{"type":"string","description":"Integration username"},"password":{"type":"string","description":"Integration password"},"campaignId":{"type":"string","description":"Campaign identifier"}},"required":["providerName","username","password"]},"IntegrationDetailsV1":{"type":"object","properties":{"formId":{"type":"string","description":"Form identifier"},"validCredentials":{"type":"boolean","description":"Whether provider credentials are valid"},"hostValidated":{"type":"boolean","description":"Whether host has been validated"},"contactFieldNames":{"type":"array","items":{"type":"string"},"description":"Contact field names"},"syncContact":{"type":"boolean","description":"Whether to sync contact information","example":true},"emailFieldNames":{"type":"array","items":{"type":"string"},"description":"Email field names"},"campaignId":{"type":"string","description":"Campaign identifier"},"campaigns":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Id of Campaign"},"name":{"type":"string","description":"Name of Campaign"}},"required":["label","key"]},"description":"List of campaigns"},"contactFieldMapping":{"type":"object","additionalProperties":{"type":"string"},"description":"Mapping from contact field -> provider field"},"enabled":{"type":"boolean","description":"Feature enabled flag"},"mergeFieldMapping":{"type":"object","additionalProperties":{"type":"string"},"description":"Merge field mapping"},"litecardFieldNames":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"Human readable label"},"key":{"type":"string","description":"Field key in payload"}},"required":["label","key"]},"description":"Litecard field names"},"providerName":{"type":"string","enum":["DOTDIGITAL"],"description":"Provider name"}}},"IntegrationValidationRequestBody":{"allOf":[{"$ref":"#/components/schemas/IntegrationAuthProperties"}]},"ListCertificatesResponseV1":{"type":"object","properties":{"name":{"type":"string","description":"Name of the certificate"},"applePassTypeIdentifier":{"type":"string","description":"Pass Type Identifier (APPLE only)","example":"pass.com.example.test"},"appleTeamIdentifier":{"type":"string","description":"Team identifier (APPLE only)","example":"ABCDE12345"},"type":{"type":"string","description":"Type of pass","example":"APPLE"},"expiryDate":{"type":"string","description":"Timestamp of when pass will expire","example":"2023-01-01T00:00:00.000Z"}},"required":["name","type","expiryDate"]},"ListNotificationGroupsResponse":{"type":"object","properties":{"groups":{"type":"array","description":"Array of notification groups","items":{"$ref":"#/components/schemas/NotificationGroup"}},"next":{"type":"string","description":"Next key for dynamoDB query"}}},"ListPassOfCardOwnerRequestV1":{"type":"object","properties":{"email":{"type":"string","description":"Email of Card Owner"},"phone":{"type":"string","description":"Phone number of Card Owner"}}},"ListPassRequestV1":{"type":"object","properties":{"next":{"type":"string","description":"Next key for dynamoDB query"},"projectionExpression":{"type":"string","description":"What keys to get inside card table"}}},"ListTemplatesV1":{"type":"array","items":{"$ref":"#/components/schemas/TemplateV1"}},"ListWebhooksResponse":{"type":"object","properties":{"webhooks":{"type":"array","items":{"$ref":"#/components/schemas/Webhook"}}}},"Location":{"type":"object","properties":{"id":{"type":"string","description":"Id of location","example":"location-123"},"lon":{"type":"string","description":"Longitude coordinate of location"},"lat":{"type":"string","description":"Latitude coordinate of location"},"locationName":{"type":"string","description":"Name of location","example":""},"businessId":{"type":"string","description":"BusinessId of Location"},"createdAt":{"type":"string","description":"Record creation date"}}},"MailchimpTagSettings":{"type":"object","description":"Mailchimp Tag Settings","properties":{"value":{"type":"string","description":"Used if value is static. Value of the tag to be applied."},"fieldMap":{"type":"string","description":"If value is not static, map it to a specific form field"},"static":{"type":"boolean","description":"If the value is static across all passes or if it's dynamic based on pass"}}},"NotificationGroup":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the notification group"},"title":{"type":"string","description":"Title of the notification group"},"message":{"type":"string","description":"Message content of the notification group"},"cardIdsS3Key":{"type":"string","description":"S3 Key where the card IDs are stored for the notification group"},"cardIdsLength":{"type":"integer","description":"Total number of card IDs in the notification group"},"participantsCount":{"type":"integer","description":"Number of participants in the notification group"},"totalEligiblePasses":{"type":"integer","description":"Total number of eligible passes for the notification group"},"sentVia":{"type":"array","description":"Array of objects detailing the count of notifications sent via each method","items":{"type":"object","required":["type","count"],"properties":{"type":{"type":"string","description":"The method used for sending the notification","enum":["EMAIL","PUSH_NOTIFICATION"]},"count":{"type":"integer","description":"Number of notifications sent using the method","minimum":0},"platform":{"type":"string","description":"Platform used for sending the notification","enum":["apple","google"]},"successCount":{"type":"integer","description":"Number of successful notifications sent","minimum":0},"failedCount":{"type":"integer","description":"Number of failed notifications","minimum":0}}}},"sendTime":{"type":"string","format":"date-time","description":"Creation date and time of the notification group"},"createdAt":{"type":"string","format":"date-time","description":"Creation date and time of the notification group"},"status":{"type":"string","description":"Current status of the notification group","enum":["PENDING","SENT","IN_PROGRESS","FAILED","CANCELLED","QUEUED"]},"businessId":{"type":"string","description":"ID of the business that owns the notification group"}}},"NotificationSegments":{"type":"object","properties":{"templateId":{"type":"string","description":"Litecard Template ID"},"segment1":{"type":"array","items":{"type":"string","description":"Segment Value"},"description":"List of segment values"},"segment2":{"type":"array","items":{"type":"string","description":"Segment Value"},"description":"List of segment values"},"segment3":{"type":"array","items":{"type":"string","description":"Segment Value"},"description":"List of segment values"},"segment4":{"type":"array","items":{"type":"string","description":"Segment Value"},"description":"List of segment values"},"segment5":{"type":"array","items":{"type":"string","description":"Segment Value"},"description":"List of segment values"}},"required":["templateId"]},"NotificationSettings":{"type":"object","description":"Settings for setting up automated notifications","properties":{"validStartDate":{"type":"string","description":"Start date where this notification is valid"},"validEndDate":{"type":"string","description":"End date where this notification is valid"},"trigger":{"type":"string","description":"Notification trigger type","enum":["AFTER_CREATION"]},"delay":{"type":"number","description":"User key to be used to retrieve client credentials and verify owner"},"type":{"type":"string","description":"What rule the coupon should be using","enum":["PN"]},"dataFieldKey":{"type":"string","description":"Key of the push notification field. Default: notificationKey"},"title":{"type":"string","description":"Title of the push notification"},"message":{"type":"string","description":"Message contents of the push notifications"}},"required":["trigger","type","title","message"]},"NotificationTemplateTier":{"type":"object","properties":{"templateId":{"type":"string","description":"ID of the template. Template must be a multi tier template."},"tier":{"type":"string","description":"Name of the tier to filter by"}},"required":["templateId","tier"]},"NotificationV1":{"type":"object","properties":{"cardIds":{"type":"array","description":"Array of cardIds to send push notifications to","items":{"type":"string","description":"id of card that was created","example":"abc123"}},"notification":{"type":"object","properties":{"title":{"type":"string","description":"Title of push notification","example":"Litecard - Notification"},"message":{"type":"string","description":"Body message of push notification","example":"Welcome to Litecard"},"dataFieldKey":{"type":"string","description":"Key of data field used to store push notification in digital wallet card","example":"notificationKey"},"sendTime":{"type":"string","description":"Time to send the notification. Uses UTC time.","example":"2022-11-07T04:31:15.246Z"}},"required":["title","message","dataFieldKey"]},"segments":{"$ref":"#/components/schemas/NotificationSegments"},"templateIds":{"type":"array","description":"Array of card template ids to send notifications to","items":{"type":"string","description":"card template id","example":"template-123"}},"templateTier":{"type":"array","description":"Array of Template and Tiers that map to the template to send notifications to","items":{"$ref":"#/components/schemas/NotificationTemplateTier"}},"options":{"type":"object","properties":{"email":{"type":"boolean","description":"Send email notification","default":false},"emailType":{"type":"string","description":"Optional. Senders email address, standard is used for most cases unless a marketing email address has been set up","enum":["STANDARD","MARKETING"],"default":"STANDARD"},"pushNotification":{"type":"boolean","description":"Send push notification","default":true},"sendAll":{"type":"boolean","description":"Send to all active users within business","default":false}},"required":["pushNotification"]}},"required":["notification","cardIds"]},"PassCountDetails":{"allOf":[{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for the business."},"name":{"type":"string","description":"The name of the business."}},"required":["id","name"]},{"$ref":"#/components/schemas/PassCountDetailsForTemplate"}],"description":"Statistics for a single business related to pass counts."},"PassCountDetailsForTemplate":{"type":"object","properties":{"downloadedApplePassCount":{"type":"integer","format":"int32","description":"The count of Apple passes downloaded for this business."},"downloadedGooglePassCount":{"type":"integer","format":"int32","description":"The count of Google passes downloaded for this business."},"deletedApplePassCount":{"type":"integer","format":"int32","description":"The count of Apple passes downloaded for this business."},"deletedGooglePassCount":{"type":"integer","format":"int32","description":"The count of Google passes downloaded for this business."},"cardsCount":{"type":"integer","format":"int32","description":"The count of cards created during this duration."},"downloadsCount":{"type":"integer","format":"int32","description":"The count of card downloads for this business."},"activeCardsCount":{"type":"integer","format":"int32","description":"The count of active cards created during this duration."},"deletedCardsCount":{"type":"integer","format":"int32","description":"The count of deleted cards created during this duration."},"inactiveCardsCount":{"type":"integer","format":"int32","description":"The count of inactive cards created during this duration."},"inactiveApplePassCount":{"type":"integer","format":"int32","description":"The count of inactive Apple passes for this business."},"inactiveGooglePassCount":{"type":"integer","format":"int32","description":"The count of inactive Google passes for this business."},"paymentsRequiredCount":{"type":"integer","format":"int32","description":"The count of passes payments is not yet completed for this business."}},"description":"Statistics for a business or template related to pass counts."},"PassCountsForTemplate":{"type":"object","properties":{"templateId":{"type":"string","description":"Id of the template for which the pass counts are retrieved","example":"template-123"},"duration":{"type":"string","enum":["PAST_7_DAYS","PAST_30_DAYS","ALL"],"description":"Duration for which the pass counts are retrieved"},"passCounts":{"$ref":"#/components/schemas/PassCountDetailsForTemplate"}},"description":"Schema for retrieving pass counts for a specific template over a specified duration."},"PassCountsHistory":{"type":"object","properties":{"duration":{"type":"string","enum":["PAST_7_DAYS","PAST_30_DAYS","ALL"],"description":"Duration "},"businesses":{"type":"array","items":{"$ref":"#/components/schemas/PassCountDetails"},"description":"List of businesses related to the pass counts."}},"description":"Schema for the history of pass counts including the duration and associated businesses."},"PassTrendDetails":{"type":"object","properties":{"date":{"type":"string","format":"date in YYYY-MM-DD","description":"The date for the pass trend.(YYYY-MM-DD)"},"downloadedApplePassCount":{"type":"integer","format":"int32","description":"The count of Apple passes downloaded for this business."},"downloadedGooglePassCount":{"type":"integer","format":"int32","description":"The count of Google passes downloaded for this business."},"deletedApplePassCount":{"type":"integer","format":"int32","description":"The count of Apple passes downloaded for this business."},"deletedGooglePassCount":{"type":"integer","format":"int32","description":"The count of Google passes downloaded for this business."},"cardsCount":{"type":"integer","format":"int32","description":"The count of cards created during this duration."},"downloadsCount":{"type":"integer","format":"int32","description":"The count of card downloads for this duration."},"activeCardsCount":{"type":"integer","format":"int32","description":"The count of active cards created during this duration."},"deletedCardsCount":{"type":"integer","format":"int32","description":"The count of deleted cards created during this duration."},"inactiveCardsCount":{"type":"integer","format":"int32","description":"The count of inactive cards created during this duration."},"inactiveApplePassCount":{"type":"integer","format":"int32","description":"The count of inactive Apple passes for this business."},"inactiveGooglePassCount":{"type":"integer","format":"int32","description":"The count of inactive Google passes for this business."},"paymentsRequiredCount":{"type":"integer","format":"int32","description":"The count of passes payments is not yet completed for this business."}},"required":["date","downloadedApplePassCount","downloadedGooglePassCount"],"description":"Statistics for a single business related to pass counts."},"PublicRedeemRequestBody":{"type":"object","properties":{"barcodeValue":{"type":"string","description":"barcode value from pass","example":"1234567890"},"businessId":{"type":"string","description":"ID of the business that owns the pass","example":"R9xh12dga8i"},"updatePayload":{"type":"object","description":"Update payload"}},"required":["barcodeValue","businessId","updatePayload"]},"PublicScanBarcodeV1RequestBody":{"type":"object","properties":{"barcodeValue":{"type":"string","description":"barcode value from pass","example":"1234567890"},"businessId":{"type":"string","description":"ID of the business that owns the pass","example":"R9xh12dga8i"}},"required":["barcodeValue","businessId"]},"RateLimitV1":{"type":"object","description":"Card Scan Rate Limits","oneOf":[{"type":"object","properties":{"enabled":{"type":"boolean","description":"The rateLimit is enabled / disabled for this template","example":true},"limitType":{"type":"string","description":"Type of Rate Limit either INTERVAL or DATE","example":"INTERVAL","enum":["INTERVAL"]},"rule":{"type":"object","properties":{"duration":{"type":"number","description":"Time Duration for the limit and unit is seconds","example":300},"count":{"type":"number","description":"Numbers of limit count","example":10}}}}},{"type":"object","properties":{"enabled":{"type":"boolean","description":"The rateLimit is enabled / disabled for this template","example":true},"limitType":{"type":"string","description":"Type of Rate Limit either INTERVAL or DATE","example":"DATE","enum":["DATE"]},"rule":{"type":"object","properties":{"dateLimit":{"type":"object","properties":{"amount":{"type":"string","description":"The amount of time between scan periods.","example":"10"},"measurement":{"type":"string","description":"The unit of measurement to calculate between scan periods.","example":"YEARS","enum":["DAYS","MONTHS","YEARS"]}}}}}}}]},"RegisterBusinessRequestBody":{"type":"object","properties":{"businessName":{"type":"string","description":"Name of the business","example":"Litecard"},"token":{"type":"string","description":"Token for the business","example":"token"},"isMasterBusiness":{"type":"boolean","description":"Is the business a master business","example":true},"logoImage":{"type":"string","nullable":true,"description":"Business logo image file","example":"base64 encoded image"},"email":{"type":"string","format":"email","description":"Contact email for the business","example":"test@ww.com"},"password":{"type":"string","description":"Password for the business","example":"password"},"dashboardAccess":{"type":"array","description":"Access to the dashboard","items":{"type":"string","description":"Access to the dashboard"}},"appUrls":{"type":"array","description":"Urls of apps allowed","items":{"type":"string","description":"Url of apps allowed","example":"https://app.litecard.io"}},"appId":{"type":"string","description":"App ID requesting to create the business","enum":["com.fynd.ext"]},"tableConfig":{"$ref":"#/components/schemas/TableConfig"}},"required":["businessName","dashboardAccess","appUrls","token"]},"RegisterBusinessResponse":{"type":"object","properties":{"businessId":{"type":"string","description":"Id of the business","example":"Litecard"}}},"ScanBarcodeV1RequestBody":{"type":"object","properties":{"barcodeValue":{"type":"string","description":"barcode value from pass","example":"1234567890"}},"required":["barcodeValue"]},"ScanV1ResponseSchema":{"type":"object","properties":{"card":{"type":"object","properties":{"id":{"type":"string","description":"ID of the Pass","example":"7048582966"},"downloadId":{"type":"string","description":"DownloadId used for landing page","example":"V1StGXR8_Z5jdHi6B-myT"},"appleLink":{"type":"string","description":"Url for the apple pass","example":"https://litecard-demo-pkpass.s3-ap-southeast-2.amazonaws.com/coldbrew.pkpass"},"businessId":{"type":"string","description":"ID of the Business","example":"business123"},"userType":{"type":"string","description":"Type of User","example":"employee"},"createdAt":{"type":"string","description":"Date Time card was created","example":"2021-11-05T04:25:42.676Z"},"googlePassId":{"type":"string","description":"Id of google pass","example":"1231244"},"authToken":{"type":"string","description":"Internal Use Only. Apple Device Auth Token","example":"dscxdsf234"},"passType":{"type":"string","description":"Mobile wallet pass type","example":"VISIT"},"googleLink":{"type":"string","description":"Url of google pass","example":"https://pay.google.com..."},"samsungLink":{"type":"string","description":"Url of samsung pass","example":"https://a.swallet.link/atw/656147182764415319#Clip?pdata=sIgHCzIwM9g"},"templateId":{"type":"string","description":"Id for the template used to create the card","example":"test_business"},"dataFields":{"type":"object","properties":{"exampleDataField":{"type":"string","description":"Example Value","example":"example value"},"fullName":{"type":"string","description":"Full name of owner of card","example":"John Doe"}}},"formId":{"type":"string","description":"Id for field input form","example":"00000001"},"updatedAt":{"type":"string","description":"","example":"2021-11-05T04:25:42.676Z"},"pkPassId":{"type":"string","description":"Id of Apple Pass","example":"pass.au.com.litecard.dev.q124234"},"barcodeValue":{"type":"string","description":"what the barcode value is","example":"5434435"},"appleStatus":{"type":"string","description":"Status of card inside of Apple Wallet","example":"ACTIVE"},"googleStatus":{"type":"string","description":"Status of card inside of Google Wallet","example":"INACTIVE"},"cardOwnerId":{"type":"string","description":"Id of the card owner","example":"asb123"},"status":{"type":"string","description":"Activation Status of the card","enum":["ACTIVE","INACTIVE","DELETED","RESERVED","ERROR","AVAILABLE"],"example":"INACTIVE"},"expiry":{"type":"string","description":"Expiry of card, in ISO-8601 format","example":"2021-08-11T03:15:56.860Z"},"barcodeLink":{"type":"string","description":"Link to the barcode image","example":"https://example.com/blah.png"},"cardOwnerCopy":{"type":"object","description":"A copy of the card owner's information","properties":{"id":{"type":"string","description":"Unique identifier for the card owner","example":"JUJCSVGnLihP6xcTRElpJ"},"businessId":{"type":"string","description":"Identifier for the business associated with the card owner","example":"LgAcJKiMP5qJf8mKv9a9S"},"name":{"type":"string","description":"Full name of the card owner","example":"John Doe"},"membershipNumber":{"type":"string","description":"Membership number associated with the card","example":"M123456789"}}},"disableQR":{"type":"boolean","description":"Disable QR code on Welcome Page","example":true},"stripeCustomerId":{"type":"string","description":"stripeCustomerId for subscription passes","example":"str_123"},"disableDownload":{"type":"boolean","description":"Disable download link if pass is already activated. Default: false","example":true},"tier":{"type":"string","description":"Membership tier of the card","example":"SILVER"},"numOfScans":{"type":"integer","description":"Number of times the card has been scanned","example":0,"default":0}},"required":["formId","templateId"]},"cardOwner":{"type":"object","description":"Fields that are returned for each card owner","properties":{"id":{"type":"string","description":"Id of the card","example":"-jJWhjZ1a"},"firstName":{"type":"string","description":"First name of card owner","example":"Ankus Fang"},"lastName":{"type":"string","description":"Last name of card owner","example":"AHVW1qv4I_Teqdu4VjwMA"},"phone":{"type":"string","description":"phoneNumber of the card owner","example":"0409381912"},"email":{"type":"string","description":"Email of the card owner","example":"test@litecard.io"},"userType":{"type":"string","description":"User Type","example":"basic"},"state":{"type":"string","description":"State the user is from ","example":"VIC"}},"required":["id"],"additionalProperties":true},"eligibleRules":{"type":"array","description":"Eligible scan rules","items":{"$ref":"#/components/schemas/TemplateScanRuleV1"}}},"required":["card","cardOwner"]},"ScheduleTaskV1":{"type":"object","properties":{"executeAt":{"type":"string","description":"When to schedule the task"},"googleServiceAccount":{"type":"string","description":"Google Service Account to use for any Google related actions","example":"google-service-account@litecard-example.iam.gserviceaccount.com"},"csvIds":{"type":"array","items":{"type":"string","description":"CSV ID"},"description":"CSV IDs to schedule task for","example":"abc"}},"required":["executeAt","csvIds"]},"SearchPassV1RequestBody":{"type":"object","properties":{"email":{"type":"string","description":"Email of the card owner","example":"test@example.com"},"phone":{"type":"string","description":"Phone number of the card owner","example":"+61400000000"},"id":{"type":"string","description":"Unique identifier of the card","example":"0234523543"}}},"SearchPassesResponse":{"type":"object","properties":{"passes":{"type":"array","description":"Array of passes associated with the card owner","items":{"$ref":"#/components/schemas/Card"}}}},"SettingsV1":{"type":"object","properties":{"paymentRequired":{"type":"boolean","description":"If card creation requires payment","example":false},"enforceUniqueEmail":{"type":"boolean","description":"Only allow one email address per template","example":false},"enforceUniquePhone":{"type":"boolean","description":"Only allow one phone number per template","example":false},"resendForUniqueEmail":{"type":"boolean","description":"Resend card if email is unique","example":false},"resendForUniquePhone":{"type":"boolean","description":"Resend card if phone is unique","example":false},"timezone":{"type":"string","description":"Timezone used for displaying dates and times on the pass. Default is UTC","example":"Australia/Melbourne"},"sourceEmail":{"type":"string","description":"IF not using default from domain, specify what from address to use","example":"tarfish@litecard.io","enum":["tarfish@litecard.io","donotreply@shakewellwallet.com","noreply@lune.litecard.io"]},"emailTemplate":{"type":"string","description":"Email template used when creating a new card","example":"litecardpass"},"emailSubject":{"type":"string","description":"The subject of the Invitation email sent when a pass is generated","example":"Welcome to Litecard"},"formPassword":{"type":"string","description":"Form Password","example":"Litecard2023"},"smsTemplate":{"type":"string","description":"SMS template used when creating a new card","example":"litecardpass"},"smsSenderId":{"type":"string","description":"Sender ID for SMS if it is not the Business Name. NOTE: This SenderId needs to have been verified first","example":"Litecard"},"disableBacklink":{"type":"boolean","description":"Disable backlink trackining. Default is enabled","example":true},"barcodeImage":{"type":"boolean","description":"Provides an image alternative of the barcode","example":true},"tacURL":{"type":"string","description":"Use this if client requires an alternative terms and conditions link","example":"https://example.com"},"hideForm":{"type":"boolean","description":"Hide this Form from the private create card page","example":true},"disableQR":{"type":"boolean","description":"Disable QR code on Download page","example":true},"primaryContact":{"type":"string","description":"Preferred medium to use when sending invitation emails","enum":["EMAIL","SMS","EMAIL_SMS"],"example":"SMS"},"externalProvider":{"type":"string","description":"External Provider","example":"SQUARE","enum":["SQUARE","LITECARD","ZII_POS","CIRCLES","SHOPIFY"]},"disableDownload":{"type":"boolean","description":"Option to disable download page if pass is active. Default: false","example":true},"quickSignUp":{"type":"boolean","description":"Option to enable quick sign up for card creation","example":true},"isDeduplicateDeviceAndIp":{"type":"boolean","description":"Option to remove creating duplicate passes for quick signup forms. (Applicable only quickSignUp is true)","example":true},"externalSystemConfig":{"type":"object","description":"External System Configuration","additionalProperties":{"type":"string"},"example":{"configKey1":"configValue1","configKey2":"configValue2"}},"disableInvitationEmail":{"type":"boolean","description":"Option to disable Invitation Email being sent. This will override the option inside options payload","example":true},"disableInvitationSMS":{"type":"boolean","description":"Option to disable Invitation Phone being sent. This will override the option inside options payload.","example":true},"multiTier":{"type":"boolean","description":"Flag to notify whether this template has multiple tier options","example":true},"fastCreate":{"type":"boolean","description":"Flag to use the lazy card creation method. This setting overwrites the value provided during card creation","example":true},"competitionSignup":{"type":"boolean","description":"Flag to notify whether this signup form template is associated with a competition","example":true},"languageTier":{"type":"boolean","description":"Flag to notify whether tier names are standardised language codes. Only effective for multi tiered templates","example":true},"noPI":{"type":"boolean","description":"If true, cards created from this template do not require email or phone; defaults card creation to noPI without per-request flag.","example":true}}},"ShopifySettings":{"type":"object","description":"Shopify specific settings","properties":{"generateCoupon":{"type":"boolean","description":"Generate Coupon on Card Creation"},"client":{"type":"string","description":"User key to be used to retrieve client credentials and verify owner"},"ruleId":{"type":"number","description":"What rule the coupon should be using"},"templateMap":{"type":"object","description":"Map Loyalty Integration webhook values to Template fields","additionalProperties":true},"version":{"type":"string","description":"Version of the Shopify settings","enum":["V1","V0"]}}},"SocialMedia":{"type":"object","properties":{"platform":{"type":"string","example":"Facebook","description":"Social Media Platform"},"link":{"type":"string","example":"https://twitter.com/example","description":"URL of social media profile"},"handle":{"type":"string","example":"example1","description":"Username of the social media platform"}}},"StripeSettings":{"type":"object","properties":{"type":{"type":"string","description":"The Type of Stripe Flow","enum":["LINKED","STANDARD"]},"priceId":{"type":"string","description":"Stripe ID of the product the price is associated with, setting this value will require stripe checkout on card creation","example":"price_1MfJi0CHalkCPRwLFiBsMDXW"},"accountId":{"type":"string","description":"If user has a stripe connect account. Provide account Id here."},"paymentFee":{"type":"string","description":"Fee Litecard will take off from the transaction.","example":"123"},"paymentPerecent":{"type":"string","description":"Fee Litecard for subscription transactions","example":"123"},"paymentType":{"type":"string","description":"Type of payment for the stripe checkout. Default: payment","enum":["payment","subscription"],"example":"payment"},"trial":{"type":"object","description":"Trial settings for stripe subscriptions","properties":{"enabled":{"type":"boolean","description":"Enable trial for stripe subscription","example":true},"days":{"type":"number","description":"Number of days for the trial","example":14}},"required":["enabled","days"]}}},"TableColumn":{"type":"object","properties":{"key":{"type":"string","description":"DynamoDB path to get data"},"label":{"type":"string","description":"Column Header"},"mapping":{"type":"string","description":"Map special values to the segments"},"format":{"type":"string","description":"Format the display","enum":["date","datetime","time","number","currency"]},"values":{"type":"array","description":"Values for the segment","items":{"$ref":"#/components/schemas/ColumnValues"}},"usage":{"type":"array","description":"Visibility of the column in csv export and api response","items":{"type":"string","description":"Usage of the column","enum":["CSV","UI"]}},"groups":{"type":"object","additionalProperties":{"type":"object","properties":{"defaultValue":{"type":"string","description":"The default value for the group"},"label":{"type":"string","description":"The label for the group"},"mappings":{"type":"object","additionalProperties":{"type":"string"},"description":"Key-value pairs mapping strings to strings"}}},"description":"Group specific properties, each key represents a unique group name"}}},"TableConfig":{"type":"object","properties":{"cardsTable":{"type":"object","properties":{"columns":{"type":"array","description":"Template Links","items":{"$ref":"#/components/schemas/TableColumn"}}}}}},"TemplateActionConditionV1":{"type":"object","properties":{"type":{"type":"string","description":"Type of condition to be run","example":"CHECK_IN"},"optional":{"type":"boolean","description":"Condition to run action on every invocation to the endpoint","example":true},"order":{"type":"integer","description":"Order of actions to be run on each invocation","example":1},"field":{"type":"string","description":"Field name used for conditional checking","example":"points"},"value":{"type":"integer","description":"Value to be compared against during the conditional check","example":10}},"required":["type","optional"]},"TemplateActionParamsV1":{"type":"object","properties":{"type":{"type":"string","description":"Type of action to be executed","example":"INCREMENT"},"amount":{"type":"integer","description":"Value used in conjunction with the action","example":10},"field":{"type":"string","description":"Field name to perform action on","example":"points"},"incrementAmount":{"type":"integer","description":"Used with the INCREMENT_DECREMENT action, amount to be incremented by","example":1},"incrementField":{"type":"string","description":"Used with the INCREMENT_DECREMENT action, field to be incremented","example":"points"},"decrementAmount":{"type":"integer","description":"Used with the INCREMENT_DECREMENT action, amount to be decremented by","example":10},"decrementField":{"type":"string","description":"Used with the INCREMENT_DECREMENT action, field to be decremented","example":"points"},"postCalc":{"type":"object","description":"Settings to be applied to the amount for post calculation","properties":{"modifier":{"type":"string","description":"Type of calculation to be applied to the amount","enum":["PERCENTAGE","DISCOUNT"],"example":"PERCENTAGE"},"amount":{"type":"number","description":"Amount to be applied. Should be the whole number (e.g. 10 for 10 percent)","example":10}},"required":["modifier","amount"]}},"required":["type"]},"TemplateActionsRequestBody":{"type":"object","properties":{"cardId":{"type":"string","description":"Id for the Business that this entity belongs to","example":"LiteCard"}},"required":["cardId"]},"TemplateActionsResponseSchema":{"type":"object","properties":{"success":{"type":"boolean","description":"Action successful","example":true}}},"TemplateActionsV1":{"type":"object","additionalProperties":{"type":"object","properties":{"condition":{"$ref":"#/components/schemas/TemplateActionConditionV1"},"action":{"$ref":"#/components/schemas/TemplateActionParamsV1"},"label":{"type":"string","description":"Name of the Action","example":"Redeem Burger"}},"required":["condition","action"]}},"TemplateAppLinking":{"type":"object","description":"Template Settings to Allow AppLinking on the pass.","properties":{"googleSettings":{"$ref":"#/components/schemas/GoogleAppLinkingSettings"},"appleSettings":{"$ref":"#/components/schemas/AppleAppLinkingSettings"}}},"TemplateAppleWalletSettingsV1":{"type":"object","description":"Settings specific to apple wallet","properties":{"passType":{"type":"string","description":"Apple wallet card type","example":"STORE_CARD","enum":["STORE_CARD","BOARDING_PASS","COUPON","EVENT_TICKET","GENERIC"]},"hideLogo":{"type":"boolean","description":"Hides the logo in the top right of apple wallet cards","example":false},"hideLogoText":{"type":"boolean","description":"Hides logo text in the top right of apple wallet cards","example":false},"disableSharing":{"type":"boolean","description":"Disables the share button on the apple pass. This does not stop the user from taking a screenshot and sharing the pass details."},"transitType":{"type":"string","enum":["PKTransitTypeAir"]}},"required":["passType"]},"TemplateBarcodeV1":{"type":"object","description":"Barcode Fields of the template","properties":{"barcodeValue":{"type":"string","description":"Value of the Barcode","example":"4805723345"},"messageEncoding":{"type":"string","description":"Message Encoding of the Barcode","example":"iso-8859-1","nullable":true},"type":{"type":"string","description":"Type of the Barcode","example":"CODE_128","enum":["NOT_USED","QR_CODE","CODE_128","PDF_417","AZTEC"]},"altText":{"type":"string","description":"Displayed alternative value at the bottom of the barcode","example":"1231244","nullable":true},"fieldMap":{"type":"string","description":"If barcodeValue is set to ${CUSTOM}. fieldMap must be present to identify which field the barcodeValue should be set from.","example":"memberId","nullable":true},"prefix":{"type":"string","description":"For Readers / scanners that require a prefix before a barcodeValue","example":"?","nullable":true},"suffix":{"type":"string","description":"For Readers / scanners that require a suffix after a barcodeValue","example":";","nullable":true}}},"TemplateCardExpiryV1":{"type":"object","description":"Card Expiry field on Template that details how cards created by the template will expire","oneOf":[{"type":"object","properties":{"expiryType":{"type":"string","description":"Type of expiry, either NEVER, FIXED_DATE, FROM_ACTIVATION or FIXED_SCANS","example":"NEVER","enum":["NEVER"]}}},{"type":"object","properties":{"expiryType":{"type":"string","description":"Type of expiry, either NEVER, FIXED_DATE, FROM_ACTIVATION or FIXED_SCANS","example":"FIXED_DATE","enum":["FIXED_DATE"]},"startDate":{"type":"string","description":"ISO 8601 date time that the card becomes active in the users digital wallet. For Apple cards, the card is still active however it will show up on the top of the stack and Google cards there is no effect unless they are grouped","example":"2022-11-24T20:40:07Z"},"endDate":{"type":"string","description":"ISO 8601 date time that the card expires in the users digital wallet","example":"2022-11-24T20:40:07Z"}}},{"type":"object","properties":{"expiryType":{"type":"string","description":"Type of expiry, either NEVER, FIXED_DATE, FROM_ACTIVATION or FIXED_SCANS","example":"FROM_ACTIVATION","enum":["FROM_ACTIVATION"]},"fromActivation":{"type":"object","properties":{"amount":{"type":"string","description":"The amount of time (based on the cardExpiry.fromActivation.measurement field) between the activation of the card produced by this template, and the expiry date","example":"10"},"measurement":{"type":"string","description":"The unit of measurement to calculate the amount of time between the activation of the card produced by this template, and the expiry date","example":"YEARS","enum":["DAYS","MONTHS","YEARS"]},"timezone":{"type":"string","description":"By default expiry is set as UTC. This is to set it as a specific timezone","example":"Australia/Melbourne","enum":["Australia/Adelaide","Australia/Brisbane","Australia/Darwin","Australia/Hobart","Australia/Melbourne","Australia/Perth","Australia/Sydney"]}}}}},{"type":"object","properties":{"expiryType":{"type":"string","description":"Type of expiry, either NEVER, FIXED_DATE, FROM_ACTIVATION or FIXED_SCANS","example":"FIXED_SCANS","enum":["FIXED_SCANS"]},"scans":{"type":"number","description":"Number of scans remaining before pass expires","example":1}}}]},"TemplateCertificatesV1":{"type":"object","properties":{"appleSettings":{"type":"object","description":"Apple specific settings","properties":{"certId":{"type":"string","description":"Apple Certificate Litecard Id","example":"st3dfdAsaaf"}}},"googleSettings":{"type":"object","description":"Google specific settings","properties":{"certId":{"type":"string","description":"Google Certificate Litecard Id","example":"s2pkdjkASg3"},"googleIssuerId":{"type":"string","description":"Google Issuer Id","example":"123524234"},"redemptionIssuers":{"type":"array","description":"List of Redemption Issuers","items":{"type":"string"},"example":["33315096237343"]}}},"nfc":{"type":"object","description":"NFC settings","properties":{"isNFCEnabled":{"type":"boolean","description":"Checks if NFC cert is provided for this template"},"payloadType":{"type":"string","description":"Payload type sent over nfc e.g. `LITECARD_ID` means the nfc payload will be the same as the litecard card ID","enum":["BARCODE_VALUE"],"example":"BARCODE_VALUE"}}}}},"TemplateColoursV1":{"type":"object","description":"Colours of the template","properties":{"background":{"type":"string","description":"Background colour of the pass","example":"#ffffff"},"label":{"type":"string","description":"Label colour of the apple pass","example":"#ffffff"},"foreground":{"type":"string","description":"Text colour of the apple pass","example":"#ffffff"},"strip":{"type":"string","description":"Text colour on top of strip image of the apple pass","example":"#ffffff"},"samsungBlink":{"type":"string","description":"Colour of the blinking indicating area in samsung wallet","example":"#00ffaa"},"samsungFont":{"type":"string","description":"Colour of the font on the Samsung card","enum":["#000000","#ffffff"]}}},"TemplateDataFieldV1":{"type":"object","description":"Data field object","properties":{"key":{"type":"string","description":"Unique key","example":"firstName"},"backupKey":{"type":"string","description":"Backup field to display in this location if the field value has not been provided yet"},"defaultCountryCode":{"type":"string","description":"Default country code for phone number field","example":"au"},"dateFormat":{"type":"string","description":"If field is a date data type and it is to be displayed on the pass. Use this key to determine the date format using dayjs syntax","example":"DD/MM/YYYY"},"defaultValue":{"title":"Default Value","description":"Set a default value if you want a static value for this field. Overridden, if dataField[].value is set","example":10,"oneOf":[{"type":"string","nullable":true},{"type":"number","nullable":true}]},"label":{"type":"string","title":"Field Label","description":"The label of the field on the card/form","default":"","example":"Member Since"},"helpText":{"type":"string","description":"Help text to be displayed next to the field label","example":"Date the member joined","nullable":true},"description":{"type":"string","description":"Description of the field","example":"This is the full name"},"formatter":{"type":"string","description":"Formatter to be used for the field","example":"currency","enum":["initials"]},"usage":{"$ref":"#/components/schemas/TemplateUsageV1"},"currencyCode":{"type":"string","description":"ISO 4217 currency code","example":"AUD"},"userCanEdit":{"type":"boolean","title":"User Editable","description":"Value is true if the field appears on the form","example":true},"appleFieldSettings":{"type":"object","properties":{"attributedValue":{"type":"string","title":"Apple Attributed Value","description":"Overrides the apple field value key, can contain HTML a tags","example":"<a href='http://google.com'>Google</a>"},"position":{"type":"integer","title":"Apple Field Position","description":"The position in the pass structure array. e.g. For a secondary field, a position of 0 means it is first in order to be rendered in that section. Positions start from 0.","example":1,"minimum":0},"location":{"type":"string","title":"Apple Field Type","description":"The pass structure locations, each value pertains to a certain region/part of the apple pass","example":"HEADER_FIELD","enum":["PRIMARY_FIELD","HEADER_FIELD","SECONDARY_FIELD","AUXILIARY_FIELD","BACK_FIELD"]},"changeMessage":{"type":"string","title":"Apple Change Message","description":"This is the formatted string, that will be shown as a push notification message. The format string must contain %@, which is replaced with the field's new content. If no change message is set, the user isn't notified when the field changes.","example":"Gate changed to %@"},"dateStyle":{"$ref":"#/components/schemas/AppleDateTimeStyleV1"},"timeStyle":{"$ref":"#/components/schemas/AppleDateTimeStyleV1"},"numberStyle":{"$ref":"#/components/schemas/AppleNumberStyleV1"},"textAlignment":{"type":"string","description":"Optional argument that sets the text alignment of the field text. This value is not allowed on primary or back fields.","example":"PKTextAlignmentRight","enum":["PKTextAlignmentLeft","PKTextAlignmentCenter","PKTextAlignmentRight","PKTextAlignmentNatural"]},"ignoreTimeZone":{"type":"boolean","title":"Apple Ignore Time Zone","description":"Optional. Always display the time and date in the given time zone, not in the user’s current time zone. The default value is false.","example":true},"isRelativeDate":{"type":"boolean","title":"Apple Relative Date","description":"Optional. If true, the label’s value is displayed as a relative date; otherwise, it is displayed as an absolute date. The default value is false.","example":true}},"required":["position","location"]},"googleFieldSettings":{"type":"object","description":"Google wallet settings","properties":{"location":{"type":"string","nullable":true,"title":"Google Field Type","description":"The type of google field","example":"TEXT_MODULE_DATA","enum":["NOT_USED","ACCOUNT_NAME","LOYALTY_POINTS","TEXT_MODULE_DATA","MESSAGES","OFFER_FINEPRINT","OFFER_DETAILS","EVENT_VENUE","EVENT_SECTION","EVENT_SEAT","EVENT_ROW","EVENT_GATE","EVENT_DOORS_OPEN","EVENT_START","EVENT_END","EVENT_TICKET_TYPE","EVENT_TICKET_MONEY","EVENT_CONFIRMATION_CODE","PASSENGER_NAME","SEAT_NUMBER","BOARDING_GROUP","SEAT_CLASS","CONFIRMATION_CODE"]},"position":{"type":"integer","title":"Google Text Module Field Position","description":"The position in the text modules data array. e.g. A position of 0 means it is first in order to be rendered in that section. Positions start from 0.","example":1,"minimum":0},"cardRow":{"type":"boolean","description":"If this field should be displayed on the front of the pass"},"fieldType":{"type":"string","description":"If using MESSAGES location, what type of MESSAGE field it is","enum":["TEXT","TEXT_AND_NOTIFY"]}},"required":["location"]},"samsungFieldSettings":{"type":"object","description":"Samsung field settings","properties":{"location":{"type":"string","nullable":true,"title":"Samsung Field Type","description":"The type of samsung field","example":"TEXT_MODULE_DATA","enum":["NOT_USED","CUSTOMER_SERVICE_INFO","END_DATE","EVENT_ENTRANCE","EVENT_GRADE","EVENT_ISSUE_DATE","EVENT_RESERVATION_NUMBER","EVENT_SEAT_CLASS","EVENT_SEAT_NUMBER","EVENT_SEAT_LAYOUT_IMAGE","START_DATE","NOTICE_DESCRIPTION","USER"]},"position":{"type":"integer","title":"Samsung Notice Description tField Position","description":"The position in the noticeDesc array. e.g. A position of 0 means it is first in order to be rendered in that section. Positions start from 0.","example":1,"minimum":0}},"required":["location"]},"formFieldSettings":{"type":"object","description":"Form field settings (Used for Litecard's Web UI based card creation workflow)","properties":{"position":{"type":"number","description":"Order of the form field, all form fields will be ordered in ascending order (e.g. 1,2,3)","example":0},"placeHolderText":{"type":"string","description":"Place holder text","example":"Full Name"},"dataType":{"type":"string","description":"Form field data type","enum":["radio","select","text","textArea","number","phone","date","dateTime","image","nationality","address"]},"rules":{"type":"array","description":"Validation rules that will be run on this field","items":{"type":"string","enum":["required","phone","email","integer"]}},"usage":{"$ref":"#/components/schemas/FormFieldUsage"},"options":{"type":"array","description":"List of options for drop down list","items":{"type":"object","properties":{"value":{"type":"string","description":"Value of the selected option"},"title":{"type":"string","description":"Label that front end displays"},"order":{"type":"number","description":"Numbered by priority, the final order will be in ascending order","example":1,"minimum":0}}}},"allowOauthValidation":{"type":"boolean","description":"Enable validation of field values using social account authentication (OAuth sign-in)","example":true},"externalProviderMapping":{"type":"string","description":"If the field is mapped to an external provider, the key of the external provider","enum":["LOYALTY_MEMBER_ID","LOYALTY_POINTS","CUSTOMER_ID","VOUCHER_CODE","VALID_EMAIL","VALID_EMAIL_MAPPING_CODE","VALID_EMAIL_NO_SIGNUP"]},"externalMappingKey":{"type":"string","description":"If the field is mapped to an external provider, the key of the field in the external provider","example":"memberId"}},"required":["position","placeHolderText","dataType"]},"frontEndMapping":{"type":"array","items":{"type":"string","enum":["SCAN","SCAN_TABLE","MEMBER_TABLE"]},"title":"Front End Mapping","description":"List to decide that decide whether the field should be rendered in the Litecard UI on scan previews or table views","example":["SCAN"]},"uniqueValue":{"type":"boolean","description":"Only used for segment keys - segment1, segment2 etc. Default: false","example":true}},"required":["key","label","usage","userCanEdit"]},"TemplateGoogleWalletSettingsV1":{"type":"object","description":"Settings specific to google wallet","properties":{"passType":{"type":"string","description":"Google wallet card type","example":"LOYALTY","enum":["EVENT_TICKET","FLIGHT","GIFT_CARD","LOYALTY","OFFER","TRANSIT","GENERIC"]},"offer":{"type":"object","description":"Google offer settings","properties":{"redemptionChannel":{"type":"string","description":"The redemption channel application to the coupon (i.e. where the coupon can be redeemmed on)","enum":["INSTORE","ONLINE","BOTH","TEMPORARY_PRICE_REDUCTION"]}}},"eventTicket":{"type":"object","description":"Event Ticket settings for google. Ref: https://developers.google.com/wallet/tickets/events/resources/template","properties":{"confirmationCodeLabel":{"type":"string","description":"The confirmation code of the event reservation. This may also take the form of an order number, confirmation number, reservation number, or other equivalent.","enum":["CONFIRMATION_CODE_LABEL_UNSPECIFIED","CONFIRMATION_CODE","CONFIRMATION_NUMBER","ORDER_NUMBER","RESERVATION_NUMBER"]},"gateLabel":{"type":"string","description":"Gate Label, it could be gate, doors or entrace","enum":["GATE","DOORS","ENTRANCE"]},"sectionLabel":{"type":"string","description":"Section label, it could be section or theater","enum":["SECTION","THEATER"]},"rowLabel":{"type":"string","description":"Row label, it could be row or unspecified","enum":["ROW","ROW_LABEL_UNSPECIFIED"]},"seatLabel":{"type":"string","description":"Seat label, it could be seat or unspecified","enum":["SEAT","SEAT_LABEL_UNSPECIFIED"]}}},"flight":{"type":"object","description":"Flight settings for google","properties":{"carrierIataCode":{"type":"string","description":"Carrier IATA code","example":"QF"},"flightNumber":{"type":"string","description":"Flight number","example":"123456"},"localScheduledDepartureDateTime":{"type":"string","description":"Local scheduled departure date and time","example":"2025-01-01T12:00:00Z"},"origin":{"type":"object","description":"Origin airport settings for google","properties":{"airportIataCode":{"type":"string","description":"Airport IATA code","example":"SYD"},"terminal":{"type":"string","description":"Terminal"},"gate":{"type":"string","description":"Gate","example":"12"}}},"destination":{"type":"object","description":"Origin airport settings for google","properties":{"airportIataCode":{"type":"string","description":"Airport IATA code","example":"SYD"},"terminal":{"type":"string","description":"Terminal"},"gate":{"type":"string","description":"Gate","example":"12"}}}}},"securityShimmer":{"type":"boolean","description":"Enable Google Barcode Shimmer for in-person screenshot protection","example":true},"multipleDevicesAndUsersStatus":{"type":"string","description":"Identifies whether multiple users and devices can save the same pass","enum":["MULTIPLE_HOLDERS","ONE_USER_ALL_DEVICES","ONE_USER_ONE_DEVICE"]},"title":{"type":"string","description":"Text that appears beside your logo on the pass","example":"Litecard"},"header":{"type":"string","description":"Text that appears within your pass before expanding","example":"Your membership Pass"},"subHeader":{"type":"string","description":"The Label for the header section","example":"Welcome!"},"enforceClassFields":{"type":"boolean","description":"If true, the class fields are copied to the object and the object fields are ignored. If false, the class fields are ignored and the object fields are used.","example":false}},"required":["passType"]},"TemplateImagesV1":{"type":"object","description":"Images of the template","properties":{"logo":{"type":"string","description":"URL of uploaded a logo image (square), used by Apple, Google & Samsung, 300px by 300px.","example":"https://s3bucketlocation/business-name/logo.png"},"logoDarkMode":{"type":"string","description":"URL of uploaded a logo image (square), used by Samsung, 300px by 300px. Used specifically for dark mode.","example":"https://s3bucketlocation/business-name/logo.png"},"logoLightMode":{"type":"string","description":"URL of uploaded a logo image (square), used by Samsung, 300px by 300px. Used specifically for light mode.","example":"https://s3bucketlocation/business-name/logo.png"},"hero":{"type":"string","description":"URL of uploaded hero image, used by Google. 1032px x 336px","example":"https://s3bucketlocation/business-name/hero.png"},"strip":{"type":"string","description":"URL of uploaded strip image, used by Apple. 1125px by 432px. Will overwrite Apple's thumbnail image.","example":"https://s3bucketlocation/business-name/hero.png"},"appleLogoOverride":{"type":"string","description":"URL of uploaded logo image used by Apple. This will replace the shared logo image. 150px height with max width of 480px","example":"https://s3bucketlocation/business-name/hero.png"},"icon":{"type":"string","description":"URL of uploaded icon image, used by Apple","example":"https://s3bucketlocation/business-name/icon.png"},"thumbnail":{"type":"string","description":"URL of uploaded thumbnail image. 270px by 270px. Only available on Apple Event Ticket and Generic card types and certain Samsung Card Types.","example":"https://s3bucketlocation/business-name/thumbnail.png"},"background":{"type":"string","description":"URL of uploaded background image. 270px by 270px. Only available on Apple Event Ticket card types","example":"https://s3bucketlocation/business-name/background.png"}}},"TemplateLinkV1":{"type":"object","description":"Links","properties":{"id":{"type":"string","description":"Link ID"},"uri":{"type":"string","description":"URI"},"hyperlinkText":{"type":"string","description":"Add block of text with hyperlink by surrounding text with ${}, used by Apple Only","example":"Click ${here} to visit the litecard website"},"title":{"type":"string","description":"Link title"},"type":{"type":"string","description":"Type of link, used by Google Only","enum":["NOT_USED","URI_WEB","URI_TEL","URI_EMAIL","HOMEPAGE_URI","HELP_URI"]},"usage":{"$ref":"#/components/schemas/TemplateUsageV1"},"position":{"type":"number","description":"Order of the links. The order will be sorted in ascending order e.g. 1,2,3"}}},"TemplateLocationsV1":{"type":"array","description":"List of locations to be stored on the pass, used by Apple for Geo-Location messages. Max of 10 locations for apple passes.","items":{"type":"object","description":"Location","properties":{"id":{"type":"string","description":"Location ID"},"lat":{"type":"string","description":"Latitude value","example":"-37.8140000"},"lon":{"type":"string","description":"Longitude value","example":"144.9633200"},"apple":{"type":"object","description":"Apple specific location fields","properties":{"lockScreenMessage":{"type":"string","description":"Lock screen message displayed when a pass within proximity of the location","example":"Buy 1 get 1 free today only"}}},"beaconId":{"type":"string","description":"proximityUUID of the Beacon. This is an alternative to long/lat","example":"F8F589E9-C07E-58B0-AEAB-A36BE4D48FAC"},"samsung":{"type":"object","description":"Location details","properties":{"address":{"type":"string","description":"Address of the location","example":"123 Broad Street"},"name":{"type":"string","description":"Name of the location","example":"Joe's Pizza"}}},"order":{"type":"number","description":"Order of the locations. The order will be sorted in ascending order e.g. 1,2,3"},"usage":{"$ref":"#/components/schemas/TemplateUsageV1"}}}},"TemplateOverridesV1":{"type":"object","description":"Template Overrides","properties":{"images":{"$ref":"#/components/schemas/TemplateImagesV1"},"barcode":{"$ref":"#/components/schemas/TemplateBarcodeV1"},"locations":{"$ref":"#/components/schemas/TemplateLocationsV1"},"cardExpiry":{"$ref":"#/components/schemas/TemplateCardExpiryV1"},"links":{"type":"array","description":"Template Links","items":{"$ref":"#/components/schemas/TemplateLinkV1"}},"colours":{"$ref":"#/components/schemas/TemplateColoursV1"},"businessName":{"type":"string","description":"Business name to be displayed on the pass","example":"Joe's Pizza"},"googleWalletSettings":{"type":"object","description":"Google wallet settings","properties":{"title":{"type":"string","description":"Text that appears beside your logo on the pass","example":"Litecard"},"header":{"type":"string","description":"Text that appears within your pass before expanding","example":"Your membership Pass"}}}},"additionalProperties":false},"TemplateSamsungWalletSettingsV1":{"type":"object","description":"Settings specific to samsung wallet","properties":{"passType":{"type":"string","description":"Samsung wallet card type","example":"EVENT_TICKET","enum":["EVENT_TICKET","BOARDING_PASS","COUPON","ID","LOYALTY","GIFT_CARD"]},"walletCardId":{"type":"string","description":"Unique wallet card Id that is generated when you create the wallet template on the samsung portal","example":"3ftjqoit67i00"},"partnerId":{"type":"string","description":"Samsung Partner ID","example":"4847413840325458240"},"appLinkLogo":{"type":"string","description":"Logo of the relevant app","example":"https://image"},"appLinkName":{"type":"string","description":"Name of the relevant app","example":"Joe's Pizza"},"appLinkData":{"type":"string","description":"Link to the application or website","example":"https://joespizza.com"},"customerServiceInfo":{"type":"object","description":"Customer service contact details. Known as 'csInfo' on samsung fields","properties":{"call":{"type":"string","description":"Phone number","example":"+61 (03) 9999 9000"},"email":{"type":"string","description":"Email address","example":"restaurant-name@gmail.com"},"website":{"type":"string","description":"Website url","example":"https://www.restaurant-name.com/"}}}},"required":["passType","walletCardId","partnerId"]},"TemplateScanRuleV1":{"type":"object","required":["ruleId","type","conditions","action"],"properties":{"ruleId":{"type":"integer"},"type":{"type":"string","enum":["TIER_UPDATE","STATUS_UPDATE","TOGGLE_BARCODE_VIEW","DATA_UPDATE","EXPIRY_UPDATE"]},"conditions":{"type":"array","minItems":1,"items":{"type":"object","required":["field","operator","value"],"properties":{"field":{"type":"string"},"operator":{"type":"string","enum":["GT","GTE","EQ"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"additionalProperties":false}},"action":{"type":"object","required":["operation","field","value"],"properties":{"operation":{"type":"string","enum":["SET","INCREMENT","DECREMENT"]},"field":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"additionalProperties":false}},"additionalProperties":false},"TemplateUsageV1":{"type":"array","description":"List of strings to indicate where a field is rendered","items":{"type":"string","enum":["NOT_USED","APPLE_WALLET","GOOGLE_WALLET","SAMSUNG_WALLET"]}},"TemplateV1":{"type":"object","allOf":[{"type":"object","properties":{"id":{"type":"string","description":"Template ID","example":"V1StGXR8_Z5jdHi6B-myT"},"formId":{"type":"string","description":"Id for field input form","example":"V1StGXR8_Z5jdHi6B-myT"},"version":{"type":"number","description":"Schema Version used by the template","default":1},"businessId":{"type":"string","description":"Identifies the owner of the record","example":"R9xh12dga8i"},"status":{"type":"string","description":"Template Status","enum":["ACTIVE","INACTIVE","DELETED"]}}},{"$ref":"#/components/schemas/BaseTemplateV1"},{"$ref":"#/components/schemas/DatabaseMetaData"}],"required":["id","formId","status","businessId","version","name","description","businessName","appleWalletSettings","googleWalletSettings","colours","images","barcode","createdAt","updatedAt"]},"TierTemplateSettings":{"type":"object","description":"The unique settings for each membership tier","properties":{"default":{"type":"boolean","description":"default tier when tier isn't provided during card creation. There must be only 1"},"cardExpiry":{"$ref":"#/components/schemas/TemplateCardExpiryV1"},"colours":{"$ref":"#/components/schemas/TemplateColoursV1"},"images":{"$ref":"#/components/schemas/TemplateImagesV1"},"barcode":{"$ref":"#/components/schemas/TemplateBarcodeV1"},"locations":{"$ref":"#/components/schemas/TemplateLocationsV1"},"links":{"type":"array","description":"Template Links","items":{"$ref":"#/components/schemas/TemplateLinkV1"}},"dataFields":{"type":"array","description":"Data Fields of the template","items":{"$ref":"#/components/schemas/TemplateDataFieldV1"}},"googleWalletSettings":{"type":"object","description":"Google Wallet Settings for the tier","properties":{"title":{"type":"string","description":"Text that appears beside your logo on the pass","example":"Litecard"},"header":{"type":"string","description":"Text that appears within your pass before expanding","example":"Your membership Pass"},"subHeader":{"type":"string","description":"The Label for the header section","example":"Welcome!"}}}},"required":["default"]},"UIConfigResponse":{"type":"object","description":"Business UI Config for welcome page","properties":{"uiConfig":{"$ref":"#/components/schemas/UIConfig"}},"required":["uiConfig"]},"UpdateIntegrationConfig":{"allOf":[{"$ref":"#/components/schemas/IntegrationAuthProperties"},{"type":"object","properties":{"syncContact":{"type":"boolean","description":"Whether to sync contact information","example":true},"mergeFieldMapping":{"type":"object","additionalProperties":{"type":"string"},"description":"Mapping of merge fields (local -> provider)"},"contactFieldMapping":{"type":"object","additionalProperties":{"type":"string"},"description":"Mapping of contact fields (local -> provider)"},"enabled":{"type":"boolean","description":"Whether the integration is enabled"}}}]},"UpdateTemplateV1":{"type":"object","allOf":[{"type":"object","properties":{"id":{"type":"string","description":"Template ID","example":"V1StGXR8_Z5jdHi6B-myT"},"status":{"type":"string","description":"Template Status","enum":["ACTIVE","INACTIVE","DELETED"]},"updateExistingCards":{"type":"boolean","description":"If true, will get all active cards and update them to match"}}},{"$ref":"#/components/schemas/BaseTemplateV1"}],"required":["id","name","description","businessName","businessId","appleWalletSettings","googleWalletSettings","colours","images","barcode"]},"VoucherCountV1":{"type":"object","description":"Voucher code counts for a specific field key within a template","properties":{"fieldKey":{"type":"string","description":"The dataField key this count belongs to, or 'default' for single-set templates","example":"offerCode"},"totalCount":{"type":"number","description":"Total number of voucher codes uploaded","example":500},"usedCount":{"type":"number","description":"Number of voucher codes that have been used","example":120},"remainingCount":{"type":"number","description":"Remaining available voucher codes (totalCount - usedCount)","example":380}},"required":["fieldKey","totalCount","usedCount","remainingCount"]},"VoucherUploadGroupV1":{"type":"object","description":"Schema for a voucher upload job group","properties":{"groupId":{"type":"string","example":"JOB#template-1"},"code":{"type":"string","example":"abc123"},"status":{"type":"string","example":"WAITING","enum":["WAITING","IN_PROGRESS","COMPLETED","INVALID_UPLOAD","FAILED"]},"templateId":{"type":"string","example":"template-1"},"jobId":{"type":"string","example":"abc123"},"businessId":{"type":"string","example":"business-1"},"fieldKey":{"type":"string","example":"offer"},"type":{"type":"string","example":"JOB"},"payloadType":{"type":"string","example":"VOUCHER","enum":["VOUCHER","EMAIL","EMAIL_MEMBER"]},"createdAt":{"type":"string","example":"2024-01-01T00:00:00.000Z"},"totalCount":{"type":"number","example":100},"successCount":{"type":"number","example":95},"failedCount":{"type":"number","example":3},"invalidCount":{"type":"number","example":2},"duplicateCount":{"type":"number","example":1}},"required":["groupId","code","status","templateId","jobId","businessId"]},"Webhook":{"type":"object","allOf":[{"$ref":"#/components/schemas/WebhookRegistrationRequestBody"},{"type":"object","properties":{"webhookId":{"type":"string","description":"Id of webhook","example":"webhook-123"},"authConfig":{"$ref":"#/components/schemas/WebhookAuthConfigPublic"}}}]},"WebhookAuthConfig":{"type":"object","description":"The properties we need to use for Authentication","properties":{"securityHeader":{"type":"string","description":"The header to use in the request when entering the key","example":"X-API-KEY"},"apiKey":{"type":"string","description":"API Key to use to authenticate with the webhook","example":"abc123"},"basicUsername":{"type":"string","description":"Username to use to authenticate with the webhook","example":"username"},"basicPassword":{"type":"string","description":"Password to use to authenticate with the webhook","example":"password"},"tokenUserName":{"type":"string","description":"Username to use to authenticate with the webhook","example":"username"},"tokenPassword":{"type":"string","description":"Password to use to authenticate with the webhook","example":"password"},"tokenEndpoint":{"type":"string","description":"Endpoint to use to authenticate with the webhook","example":"https://example.com/oauth"},"httpUserName":{"type":"string","description":"HTTP Username to use to authenticate with the webhook","example":"username"},"httpPassword":{"type":"string","description":"HTTP Password to use to authenticate with the webhook","example":"password"}}},"WebhookAuthConfigPublic":{"type":"object","description":"The properties we need to use for Authentication (public, without sensitive keys)","properties":{"securityHeader":{"type":"string","description":"The header to use in the request when entering the key","example":"X-API-KEY"},"tokenEndpoint":{"type":"string","description":"Endpoint to use to authenticate with the webhook","example":"https://example.com/oauth"}}},"WebhookRegistrationRequestBody":{"type":"object","properties":{"webhookUrl":{"type":"string","description":"The endpoint for Litecard to send the download data","example":"https://example.com/webhook"},"method":{"type":"string","description":"Method to use","enum":["POST"],"example":"POST"},"authType":{"type":"string","enum":["API_KEY","BASIC","TOKEN","NONE"],"description":"The type of Auth to use for the webhook"},"authConfig":{"$ref":"#/components/schemas/WebhookAuthConfig"},"events":{"type":"array","description":"Types of events the webhook supports","items":{"enum":["CARD_DOWNLOAD","CARD_REMOVE","REGISTER_WEBHOOK","CARD_CREATE","CARD_UPDATE"],"example":"CARD_DOWNLOAD"}},"provider":{"type":"string","description":"To determine the schema of payloads for the events"}},"required":["webhookUrl","method","events","authType"]},"createPassTemplateRequestBody":{"type":"object","properties":{"templatePayload":{"$ref":"#/components/schemas/CreateTemplateV1"},"cardPayload":{"$ref":"#/components/schemas/BaseCardPayload"},"options":{"$ref":"#/components/schemas/SignUpOptions"}},"additionalProperties":false,"required":["templatePayload","cardPayload"]},"createPassTemplateResponseBody":{"type":"object","properties":{"cardDetails":{"type":"object","properties":{"cardId":{"type":"string","description":"Id of created card","example":"abc123"},"cardOwnerId":{"type":"string","description":"Id of created card owner","example":"efg345"},"downloadId":{"type":"string","description":"Id used for hosted litecard landing page e.g. https://app.dev.litecard.io/welcome/?id=5c_Wc9h-WCng0oxe8nHNn","example":"5c_Wc9h-WCng0oxe8nHNn"},"appleLink":{"type":"string","description":"URL apple wallet card","example":"https://litecard-demo-pkpass.s3-ap-southeast-2.amazonaws.com/coldbrew.pkpass"},"googleLink":{"type":"string","description":"URL google wallet card","example":"https://pay.google.com/gp/v/save/eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJsaXRlY2FyZC10ZXN0QGNsZXZlci1hYmJleS0zMDg1MDcuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJhdWQiOiJnb29nbGUiLCJ0eXAiOiJzYXZldG9hbmRyb2lkcGF5IiwiaWF0IjoxNjIwMTE0NDkxLCJwYXlsb2FkIjp7ImxveWFsdHlPYmplY3RzIjpbeyJpZCI6IjMzODgwMDAwMDAwMTA2MDYyNDEuTE9ZQUxUWV9PQkpFQ1RfNTRkYmMwNTUtOWRlMy00YWZjLTg0YmUtZDhiNTZjN2U5Mzc5IiwiY2xhc3NJZCI6IjMzODgwMDAwMDAwMTA2MDYyNDEuTE9ZQUxUWV9DTEFTU185OTliOTVlYi00ZDVjLTQzZDEtOGFhOC05Zjg1ZjI0YzlmODQiLCJzdGF0ZSI6IkFDVElWRSIsImFjY291bnROYW1lIjoiSmFzb24iLCJhY2NvdW50SWQiOiIxMjMxMjMiLCJiYXJjb2RlIjp7ImFsdGVybmF0ZVRleHQiOiIxMjMxMjMiLCJ2YWx1ZSI6IjEyMzEyMyIsInR5cGUiOiJDT0RFXzEyOCJ9LCJsb2NhdGlvbnMiOlt7ImxhdGl0dWRlIjoiLTM3LjgwNjIzMTU2ODQyODgxIiwibG9uZ2l0dWRlIjoiMTQ0Ljk4OTkwMjQwODE0ODcifV0sInZhbGlkVGltZUludGVydmFsIjp7InN0YXJ0Ijp7ImRhdGUiOiIyMDIxLTA0LTIwVDAwOjAwOjAwLjAwKzEwOjAwIn0sImVuZCI6eyJkYXRlIjoiMjAyNS0wNC0yMFQyMzo1OTowMC4wMCsxMDowMCJ9fSwibGlua3NNb2R1bGVEYXRhIjp7InVyaXMiOlt7InVyaSI6InRlbDo2NTA1NTU1NTU1IiwiZGVzY3JpcHRpb24iOiJNb2JpbGUgTnVtYmVyIn0seyJ1cmkiOiJtYWlsdG86am9obmRvZUBsaXRlY2FyZC5jb20uYXUiLCJkZXNjcmlwdGlvbiI6IkVtYWlsIn1dfX1dfSwib3JpZ2lucyI6WyJodHRwOi8vbG9jYWxob3N0OjgwODAiXX0.bR5nSNqMPH6KUwiaqMP-E-nlyjzllOR9-rxUCVgPhqvra_qZ54kc3ZHX64LyViABgSbLIqFEG_EsfA9FCVunAs3ikr1yB5Tk3WiwQ13zt-rH7443_XTI078mtzESl930AL5mVhyrteTMfrhHHV0rrzChXDPgqBjPzsaqs4oGIeW7bVu7S1SC_M8EC-pxTUwqkvvv17xpBVBY_BKzDaK1uEykqdQp2XFHjjRT_esBc6xbiMTDGz11sp395v0RO-9jpp4z-L5igi7prFDgm7ZWBcbSZSKMBckp1lzctLIZ3jidJ9pg-lwgaZyyksmWWnDkVFKE0CWAQV3wFg6M2PXXyA"},"paymentRequired":{"type":"boolean","description":"Require payment after form submission"}}},"success":{"type":"boolean","description":"Returns whether the request was successful","example":true},"templateId":{"type":"string","description":"Identifier for the template used to create the card","example":"test_business"},"formId":{"type":"string","description":"Id for field input form","example":"V1StGXR8_Z5jdHi6B-myT"}}},"getBacklinksResponse":{"type":"object","description":"Download Urls for welcome page","properties":{"backlink":{"type":"string","description":"URL belonging to the backlinkId","example":"https://example.com"}},"required":["backlink"]}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}}}