{"openapi":"3.0.0","paths":{"/transactions":{"post":{"operationId":"TransactionController_createTransaction","summary":"Upsert transaction","description":"Creates or updates a transaction record for additional purchases or activities made by a customer who has an existing chargeback case. This helps provide additional context for dispute resolution.","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Transaction data to be created or updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostTransactionDto"}}}},"responses":{"201":{"description":"Returns success if the transaction data was stored successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateResponseDTO"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Transactions"],"security":[{"bearer":[]}]}},"/chargebacks":{"get":{"operationId":"ChargebackController_findAll","summary":"Get chargebacks by search criteria","description":"Retrieving a array of chargebacks matching the given criteria","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","example":"10","description":"The number of items to return between 10 to 100","schema":{"default":10,"type":"number"}},{"name":"page","required":false,"in":"query","example":"1","description":"The offset of the first item to return","schema":{"default":1,"type":"number"}},{"name":"startDate","required":false,"in":"query","example":"2023-01-01T00:00:00Z","description":"Start date (of the posting date) for date range filtering (ISO 8601 in UTC)","schema":{"format":"date-time","type":"string"}},{"name":"endDate","required":false,"in":"query","example":"2023-01-31T23:59:59Z","description":"End date (of the posting date) for date range filtering (ISO 8601 in UTC)","schema":{"format":"date-time","type":"string"}},{"name":"chargebackId","required":false,"in":"query","example":"QRZ54SXB4K6TF232","description":"A unique chargeback Identifier set by the PSP","schema":{"type":"string"}},{"name":"psp","required":false,"in":"query","example":"stripe","description":"The name of the PSP in which the transaction was processed","schema":{"enum":["tabapay","nmi","stripe","paypal","amex","braintree","shopify_payments","amazon_pay","adyen","other","cardpointe","checkout","omnipay","acquiring","chase","nuvei","authorizenet","mollie","firstdata","fiserv","elavon","bluesnap","vantiv","dlocal","payu","worldpay_mai","worldpay_iq","payroc","citi","merlink_drs","credorax","dalenys","worldpay_cb911","worldpay_accertify","discover","elavon_payment_insider","elavon_connect","shift4","payplug","global_payments","square","ebanx","zen","payments_hub","ems_data","maverick","corvia","payroc_canada","tap","sabadell","kushki","worldpay","klarna","paysafe","airwallex","mangopay","ecommpay","iyzico","lighthouse","moka","worldpay_wdp","justt_sandbox"],"type":"string"}},{"name":"pspStatus","required":false,"in":"query","example":"under_review","description":"The status of the chargeback in the PSP system","schema":{"enum":["needs_response","under_review","won","lost","not_applicable","evidence_not_submitted_by_psp","split","unknown"],"type":"string"}},{"name":"status","required":false,"in":"query","example":"building_evidence","description":"The status of the chargeback in Justt system","schema":{"enum":["waiting_for_data","building_evidence","pending_psp_results","not_represented"],"type":"string"}},{"name":"minEnrichmentScore","required":false,"in":"query","example":0.75,"description":"Minimum enrichment score to filter by (0-1)","schema":{"type":"number"}},{"name":"maxEnrichmentScore","required":false,"in":"query","example":0.95,"description":"Maximum enrichment score to filter by (0-1)","schema":{"type":"number"}},{"name":"pspStatusChangeStartDate","required":false,"in":"query","example":"2023-01-01T00:00:00Z","description":"Start date for PSP status change date filtering (ISO 8601 in UTC)","schema":{"format":"date-time","type":"string"}},{"name":"pspStatusChangeEndDate","required":false,"in":"query","example":"2023-01-31T23:59:59Z","description":"End date for PSP status change date filtering (ISO 8601 in UTC)","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"description":"Returns the chargebacks data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetChargebacksResponseDto"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Chargebacks"],"security":[{"bearer":[]}]}},"/chargebacks/{id}":{"get":{"operationId":"ChargebackItemController_getChargeback","summary":"Get chargeback","description":"Retrieving a single chargeback by id","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c","description":"A unique chargeback Identifier set by Justt","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns the chargeback data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetChargebackResponseDto"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Chargebacks"],"security":[{"bearer":[]}]},"patch":{"operationId":"ChargebackItemController_updateChargeback","summary":"Update chargeback","description":"To see your full request body parameters names please check you data boost page at the hub https://app.justt.ai/datapoints-list","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c","description":"A unique chargeback Identifier (UUID) set by Justt","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"dynamic body param according to your solution at https://app.justt.ai/datapoints-list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"}}}},"responses":{"201":{"description":"Returns success if the chargeback data was updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateResponseDTO"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Chargebacks"],"security":[{"bearer":[]}]}},"/chargebacks/{id}/should-fight":{"patch":{"operationId":"ChargebackItemController_markShouldFight","summary":"Should Justt fight for a given chargeback","description":"By default, Justt will represent or not represent chargebacks as agreed in your contract. Use this endpoint to override this for a specific chargeback","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c","description":"A unique chargeback Identifier (UUID) set by Justt","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShouldFightDto"}}}},"responses":{"201":{"description":"Returns success if the chargeback was marked to fight/not fight successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateResponseDTO"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Chargebacks"],"security":[{"bearer":[]}]}},"/chargebacks/{id}/accept":{"post":{"operationId":"ChargebackItemController_acceptChargeback","summary":"Accept chargeback","description":"Accepts a chargeback, indicating you will not dispute it. This action acknowledges the validity of the customer's claim and allows the funds to be returned to them. The chargeback must have an open status and your payment processor must support acceptance. Once accepted, the chargeback cannot be reversed.","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c","description":"A unique chargeback Identifier (UUID) set by Justt","schema":{"type":"string"}}],"responses":{"200":{"description":"Chargeback accepted successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateResponseDTO"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Chargebacks"],"security":[{"bearer":[]}]},"get":{"operationId":"ChargebackItemController_getAcceptChargebackStatus","summary":"Get the status of an accept chargeback","description":"Returns the current status of an accept chargeback for a chargeback. Accept chargeback is an asynchronous process, so this endpoint allows you to check the real-time state of the accept (e.g., in progress, completed, failed).","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c","description":"A unique chargeback Identifier (UUID) set by Justt","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns Accept chargeback status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptChargebackStatusDto"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Chargebacks"],"security":[{"bearer":[]}]}},"/chargebacks/{id}/evidence/submit":{"post":{"operationId":"EvidenceController_submitEvidence","summary":"Request to submit evidence for a chargeback","description":"Submits a request to attach evidence to a chargeback. The evidence will be processed asynchronously; the request will return immediately with a submission ID, and the evidence will be submitted in the background, the process will take up to 24 hours to complete, depending on the payment processor.","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c","description":"A unique chargeback Identifier (UUID) set by Justt","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitEvidenceDto"}}}},"responses":{"201":{"description":"Returns success if the evidence submitted request accepted successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateResponseDTO"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Evidence"],"security":[{"bearer":[]}]}},"/chargebacks/{id}/evidence/submit/{submitEvidenceId}":{"get":{"operationId":"EvidenceController_getEvidenceSubmissionStatus","summary":"Get the status of a evidence submission","description":"Returns the current status of an evidence submission for a chargeback. Evidence submission is an asynchronous process, so this endpoint allows you to check the real-time state of the submission (e.g., in progress, completed, failed).","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}},{"name":"submitEvidenceId","required":true,"in":"path","example":"63e3830ed8cbb72dce2164b1","description":"The submit evidence ID","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c","description":"A unique chargeback Identifier (UUID) set by Justt","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns Submit evidence status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvidenceSubmissionStatusDto"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Evidence"],"security":[{"bearer":[]}]}},"/files":{"post":{"operationId":"FilesController_create","summary":"Upload a file","description":"Upload a file to the Justt system. Supported file types include documents, images, and other evidence files. For more details, visit https://developers.justt.ai/docs/file-upload-guide","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateFileDto"}}}},"responses":{"201":{"description":"File uploaded successfully - returns the new file ID and checksum","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFileResponseDto"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Files"],"security":[{"bearer":[]}]}},"/data-subjects/removal":{"post":{"operationId":"DataSubjectsController_requestDataSubjectRemoval","summary":"Request data subject removal","description":"Request to remove personal data from the Justt system in compliance with data protection regulations (GDPR, CCPA). This endpoint initiates the data deletion process for a specified customer.","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Data subject removal request containing customer identifier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSubjectRemovalRequestDto"}}}},"responses":{"201":{"description":"Data subject removal request processed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestApiResponseDTO"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Data Subjects"],"security":[{"bearer":[]}]}},"/merchants":{"get":{"operationId":"MerchantsController_getMerchants","summary":"Get merchants","description":"Retrieve a list of merchants with optional filtering and pagination","parameters":[{"name":"limit","required":false,"in":"query","example":"10","description":"The number of items to return between 10 to 100","schema":{"default":10,"type":"number"}},{"name":"page","required":false,"in":"query","example":"1","description":"The offset of the first item to return","schema":{"default":1,"type":"number"}}],"responses":{"200":{"description":"List of merchants retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMerchantsResponseDto"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Merchants"],"security":[{"bearer":[]}]},"delete":{"operationId":"MerchantsController_deactivateMerchant","summary":"Deactivate merchant","description":"Deactivate a merchant (note: merchant is not removed, only deactivated)","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeactivateMerchantDto"}}}},"responses":{"200":{"description":"Merchant deactivated successfully"},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"Merchant not found","content":{"application/json":{"schema":{"example":{"message":"Merchant not found","statusCode":404}}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Merchants"],"security":[{"bearer":[]}]},"post":{"operationId":"MerchantsController_createMerchant","summary":"Create merchant","description":"Create a new merchant with business profile information","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMerchantDto"}}}},"responses":{"201":{"description":"Merchant created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMerchantResponseDto"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Merchants"],"security":[{"bearer":[]}]}},"/merchants/{merchantUuid}":{"get":{"operationId":"MerchantsController_getMerchant","summary":"Get merchant by ID","description":"Retrieve a single merchant by its UUID","parameters":[{"name":"merchantUuid","required":true,"in":"path","example":"04318fb0-e4ff-4712-972e-4db99b3fb23d","description":"A unique merchant Identifier (UUID) set by Justt","schema":{"type":"string"}}],"responses":{"200":{"description":"Merchant retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MerchantResponseDto"}}}},"400":{"description":"Invalid merchant UUID format"},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Merchants"],"security":[{"bearer":[]}]}},"/integrations":{"get":{"operationId":"IntegrationsController_getIntegrations","summary":"Get integrations","description":"Retrieve a list of integrations with optional filtering and pagination","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","example":"10","description":"The number of items to return between 10 to 100","schema":{"default":10,"type":"number"}},{"name":"page","required":false,"in":"query","example":"1","description":"The offset of the first item to return","schema":{"default":1,"type":"number"}}],"responses":{"200":{"description":"List of integrations retrieved successfully","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationResponseDto"}}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Integrations"],"security":[{"bearer":[]}]},"post":{"operationId":"IntegrationsController_createIntegration","summary":"Create integration","description":"Create a new payment integration","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIntegrationDto"}}}},"responses":{"201":{"description":"Integration created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIntegrationResponseDto"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Integrations"],"security":[{"bearer":[]}]}},"/integrations/{id}":{"get":{"operationId":"IntegrationsController_getIntegration","summary":"Get integration by ID","description":"Retrieve a single integration by its ID","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","description":"Integration ID","schema":{"type":"string"}}],"responses":{"200":{"description":"Integration retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationResponseDto"}}}},"400":{"description":"Invalid integration ID format"},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Integrations"],"security":[{"bearer":[]}]},"delete":{"operationId":"IntegrationsController_deactivateIntegration","summary":"Deactivate integration","description":"Deactivate an integration (note: integration is not removed, only deactivated)","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}},{"name":"id","required":true,"in":"path","description":"Integration ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeactivateIntegrationDto"}}}},"responses":{"200":{"description":"Integration deactivated successfully"},"400":{"description":"Invalid input provided or invalid UUID format"},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Integrations"],"security":[{"bearer":[]}]}},"/pre-chargeback-alerts/alerts/outcome":{"post":{"operationId":"PreChargebackAlertsController_createOutcome","summary":"Create alert outcome","description":"Create and record the outcome of a pre-chargeback alert (e.g., refunded, resolved, accepted). Pre-chargeback alerts are early warnings that allow merchants to take action before a chargeback is filed.","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Alert outcome data including alert ID, provider name, and outcome details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOutcomeDto"}}}},"responses":{"201":{"description":"Returns success if the alert outcome was created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOutcomeResponseDto"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Pre-chargeback Alerts"],"security":[{"bearer":[]}]}},"/sandbox/raw-data":{"post":{"operationId":"SandboxController_uploadRawData","summary":"Upload raw data in sandbox environment","description":"This endpoint allows you to upload raw transaction/chargeback data in the sandbox environment for testing purposes. The data will be processed asynchronously and stored in the system.","parameters":[{"name":"reference-account-id","in":"header","description":"If your account encompasses multiple merchants, you should use this header to specify the account you are working on (https://developers.justt.ai/docs/reference-accounts)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Raw data payload containing transaction information from the PSP","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RawDataRequestDto"}}}},"responses":{"201":{"description":"The raw data has been successfully processed and stored in the sandbox environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateResponseDTO"}}}},"400":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"404":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}},"500":{"description":"In the message you can find explanation of what went wrong, please provide the error ID for our support for future investigation if needed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseDTO"}}}}},"tags":["Sandbox"],"security":[{"bearer":[]}]}}},"info":{"title":"Rest api","description":"Justt official REST api, you can find our docs here: https://justt.readme.io/","version":"1.0.0","contact":{}},"tags":[{"name":"rest-api","description":""}],"servers":[{"url":"https://api.justt.ai/v1"}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"ErrorResponseDTO":{"type":"object","properties":{"status":{"type":"number","example":500,"description":"Error status of the response"},"message":{"type":"string","example":"Internal Server Error","description":"Description of the error that occurred"},"errorId":{"type":"string","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c","description":"A unique identifier you can provide to our support for a better troubleshooting process"}},"required":["status","message"]},"PostTransactionDto":{"type":"object","properties":{"transactionId":{"type":"string","example":"QRZ54SXB4K6TF232","description":"A unique transaction Identifier set by the PSP"},"transactionCardLastFourDigits":{"type":"string","example":"5450","description":"The last 4 digits of the card used for this transaction"},"transactionCardAppleLast4Digits":{"type":"string","example":"3847","description":"The last four digit of the card when using apple pay"},"transactionCardScheme":{"type":"string","example":"Mastercard","description":"The name of the card scheme"},"transactionCardBin":{"type":"string","example":"458059","description":"Bank Identification Number - a 6 or 8 digits identifier unique to each issuing bank"},"transactionCustomerDisplayedTransactionDescription":{"type":"string","example":"Sugarcube New York","description":"The name of the merchant as displayed to the buyer on their bank/credit card statement"},"transactionCardFingerprint":{"type":"string","example":"Xt5EWLLDS7FJjR1c","description":"Unique identifier for a particular card number"},"transactionCreatedDate":{"type":"string","example":"2022-03-15T09:39:24.514Z","description":"The timestamp the transaction was processed"},"transactionStatus":{"type":"string","example":"COMPLETE","description":"The status of the transaction"},"transactionEarlyFraudWarningFraudType":{"type":"string","example":"card_never_received","description":"A description of the fraud that is reported by the issuer"},"transactionVerificationCustomerPicture":{"type":"string","example":"Image.com/imagy image284972395","description":"A link to a picture of the customer"},"transactionArn":{"type":"string","example":"856378586","description":"A unique number assigned to a credit card transaction by the merchant's bank as it moves through the PSP and the card scheme to the cardholder bank"},"transactionOrderIpAddress":{"type":"string","example":"173.66.27.204","description":"The IP address of the customer at the time of purchase (checkout)"},"transactionOrderDeviceId":{"type":"string","example":"m7Cmrf++0cW4P6XfF7m/rA","description":"A unique identifier assigned to a device. Usually a string of alphanumeric characters"},"transactionOrderUserAgent":{"type":"string","example":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36","description":"The browser or application identifier string that indicates what device and software were used by the cardholder for checkout"},"transactionOrderEmail":{"type":"string","example":"john@justt.ai","description":"The customer's email address"},"transactionShippingToAddressLine1":{"type":"string","example":"1111 S Figueroa St","description":"First line of the shipping address"},"transactionShippingToAddressLine2":{"type":"string","example":"Suite 22","description":"Second line of the shipping address"},"transactionShippingToState":{"type":"string","example":"CA","description":"The two–letter state abbreviation of the shipping address"},"transactionShippingToZipCode":{"type":"string","example":"90015","description":"The Zip code of the shipping address"},"transactionBillingAddressCountry":{"type":"string","example":"United States","description":"The country of the billing address"},"transactionShippingToFullShippingAddress":{"type":"string","example":"Menahem Begin 154, 17 Flour, Acrocharge, Tel-Aviv, 51272, MD, United States","description":"Any of following combined into one string: Address line 1, Address line 2, Shipping - City, Shipping - Zip, Shipping - State, Shipping - Country Name"},"transactionOrderSteamId":{"type":"string","example":"8376938475934759","description":"A unique account identifier for the cardholder's account in the merchants system"},"transactionOrderPhone":{"type":"string","example":"19495551234","description":"The customer's phone number"},"transactionShippingPhone":{"type":"string","example":"(201) 456-1626","description":"The phone number of the person the item was sent to according to the shipping detail the customer entered during the checkout"},"transactionShippingEmail":{"type":"string","example":"contact@justt.ai","description":"The email address of the person the item was sent to according to the shipping details the customer entered during the checkout"},"transactionOrderItemsProductName":{"type":"string","example":"Concealer Palette","description":"The name of the product or service that was purchased"},"transactionOrderItemsProductDescription":{"type":"string","example":"A professional concealer palette. shade #light","description":"A description of the product or service that was purchased"}},"required":["transactionId"]},"CreateResponseDTO":{"type":"object","properties":{"status":{"type":"string","enum":[100,101,102,103,200,201,202,203,204,205,206,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,424,428,429,500,501,502,503,504,505],"example":201,"description":"The status of the response"},"message":{"type":"string","example":"success","description":"The message of the response"},"id":{"type":"string","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c","description":"The id of the created/updated resource"}},"required":["status","message","id"]},"HttpStatus":{"type":"number","description":"The status of the response","enum":[100,101,102,103,200,201,202,203,204,205,206,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,424,428,429,500,501,502,503,504,505]},"ChargebackDto":{"type":"object","properties":{"id":{"type":"string","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c","description":"A unique chargeback Identifier set by Justt"},"chargebackId":{"type":"string","example":"QRZ54SXB4K6TF232","description":"A unique chargeback Identifier set by the PSP"},"referenceAccountId":{"type":"string","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c","description":"The merchant account identifier reference"},"integrationId":{"type":"string","example":"stripe_integration_123","description":"The integration ID which is the source of the chargeback"},"psp":{"type":"string","enum":["tabapay","nmi","stripe","paypal","amex","braintree","shopify_payments","amazon_pay","adyen","other","cardpointe","checkout","omnipay","acquiring","chase","nuvei","authorizenet","mollie","firstdata","fiserv","elavon","bluesnap","vantiv","dlocal","payu","worldpay_mai","worldpay_iq","payroc","citi","merlink_drs","credorax","dalenys","worldpay_cb911","worldpay_accertify","discover","elavon_payment_insider","elavon_connect","shift4","payplug","global_payments","square","ebanx","zen","payments_hub","ems_data","maverick","corvia","payroc_canada","tap","sabadell","kushki","worldpay","klarna","paysafe","airwallex","mangopay","ecommpay","iyzico","lighthouse","moka","worldpay_wdp","justt_sandbox"],"example":"stripe","description":"The name of the PSP in which the transaction was processed"},"currency":{"type":"string","example":"USD","description":"The currency of the amount"},"amount":{"type":"number","example":100.17,"description":"The amount that is being charged back by the issuing bank"},"postingDate":{"format":"date-time","type":"string","description":"The date the chargeback was posted","example":"2022-03-15T09:39:24.514Z"},"transactionCreatedDate":{"format":"date-time","type":"string","description":"The date the transaction was processed","example":"2022-03-15T09:39:24.514Z"},"dueDate":{"format":"date-time","type":"string","example":"2022-03-15T09:39:24.514Z","description":"The date the chargeback is due"},"pspStatusChangeDate":{"format":"date-time","type":"string","example":"2022-03-15T09:39:24.514Z","description":"The date when the chargeback PSP status was last changed"},"pspStatus":{"type":"string","enum":["needs_response","under_review","won","lost","not_applicable","evidence_not_submitted_by_psp","split","unknown"],"example":"under_review","description":"The status of the chargeback in the PSP system"},"status":{"type":"string","enum":["waiting_for_data","building_evidence","pending_psp_results","not_represented"],"example":"building_evidence","description":"The status of the chargeback in Justt system"},"lifecycleStage":{"type":"string","enum":["alert","inquiry","claim","chargeback","second_chargeback","third_chargeback","other"],"example":"chargeback","description":"The stage of the chargebacks lifecycle"},"transactionId":{"type":"string","example":"65SD89F08236587G4","description":"The transaction ID set by the PSP"},"arn":{"type":"string","example":"65SD89F08236587G4","description":"The ARN set by the PSP"},"externalTransactionIdentifier":{"type":"string","example":"65SD89F08236587G41111","description":"The Transaction Identifier"},"merchantReferenceName":{"type":"string","example":"65SD89F08236587G41111","description":"The Merchant identifier in the PSP"},"reasonCode":{"type":"string","example":"10.4","description":"The reason code of chargeback, set by the card scheme"},"reason":{"type":"string","example":"fraud","description":"The reason of chargeback"},"cardScheme":{"type":"string","example":"AMEX","description":"The card scheme of the cardholder"},"enrichmentRatio":{"type":"number","example":0.85,"description":"The enrichment ratio of the chargeback metadata"},"winProbability":{"type":"number","example":80,"description":"The win probability percent of Justt for this chargeback, Reach out to the Justt team To learn more"},"roiRecommendation":{"type":"string","example":"Fight","description":"The ROI based recommendation of Justt for this chargeback, Reach out to the Justt team To learn more","enum":["Fight","Accept"]},"bin":{"type":"string","example":"411111","description":"The Bank Identification Number (BIN) of the card"},"billingCountry":{"type":"string","example":"US","description":"The billing country of the cardholder"},"isEnriched":{"type":"boolean","example":true,"description":"Indicates whether the chargeback data has been enriched"},"paymentMethod":{"type":"string","example":"credit_card","description":"The payment method used for the transaction"},"cardLastFourDigits":{"type":"string","example":"1234","description":"The last four digits of the card used for the transaction"}},"required":["id","chargebackId","referenceAccountId"]},"GetChargebacksResponseDto":{"type":"object","properties":{"status":{"example":201,"$ref":"#/components/schemas/HttpStatus"},"message":{"type":"string","example":"success","description":"The message of the response"},"hasMore":{"type":"boolean","example":"true","description":"An indicator if there are more items to return"},"data":{"description":"The requested chargebacks data","type":"array","items":{"$ref":"#/components/schemas/ChargebackDto"}}},"required":["status","message","hasMore","data"]},"GetChargebackResponseDto":{"type":"object","properties":{"status":{"example":201,"$ref":"#/components/schemas/HttpStatus"},"message":{"type":"string","example":"success","description":"The message of the response"},"data":{"description":"The requested chargeback data","allOf":[{"$ref":"#/components/schemas/ChargebackDto"}]}},"required":["status","message","data"]},"ShouldFightDto":{"type":"object","properties":{"shouldFight":{"type":"boolean","description":"Should Justt fight for the given chargeback"}},"required":["shouldFight"]},"Object":{"type":"object"},"AcceptChargebackStatusDto":{"type":"object","properties":{"id":{"type":"string","example":"cbk_9f1e2d3c4b5a","description":"The chargeback identifier"},"referenceAccountId":{"type":"string","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c","description":"The merchant account identifier reference"},"status":{"type":"string","enum":["created","inProgress","failed","succeeded"],"example":"inProgress"},"acceptedAt":{"type":"string","format":"date-time","example":"2025-01-15T12:34:56.789Z"},"error":{"type":"string","example":"Network timeout"}},"required":["id","referenceAccountId","status","acceptedAt"]},"SubmitEvidenceDto":{"type":"object","properties":{"fileId":{"type":"string","example":"file_1234567890"}},"required":["fileId"]},"EvidenceSubmissionStatusDto":{"type":"object","properties":{"submitEvidenceId":{"type":"string","example":"sub_1234567890"},"fileId":{"type":"string","example":"file_1234567890"},"id":{"type":"string","example":"cbk_9f1e2d3c4b5a","description":"The chargeback identifier"},"referenceAccountId":{"type":"string","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c"},"status":{"type":"string","enum":["created","inProgress","failed","succeeded"],"example":"inProgress"},"submittedAt":{"type":"string","format":"date-time","example":"2025-01-15T12:34:56.789Z"},"error":{"type":"string","example":"Network timeout"}},"required":["submitEvidenceId","fileId","id","referenceAccountId","status","submittedAt"]},"CreateFileResponseDto":{"type":"object","properties":{"status":{"type":"string","enum":[100,101,102,103,200,201,202,203,204,205,206,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,424,428,429,500,501,502,503,504,505],"example":201,"description":"The status of the response"},"message":{"type":"string","example":"success","description":"The message of the response"},"id":{"type":"string","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c","description":"The id of the created/updated resource"},"metadata":{"type":"string","description":"Metadata as it has been provided"},"checksum":{"type":"string","description":"An md5 hash checksum of the provided file content"}},"required":["status","message","id","checksum"]},"CreateFileDto":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"The file to upload"},"metadata":{"type":"object","example":"{\"key\" : \"value\"}","description":"A key value pair for meta data on the file"},"purpose":{"type":"string","example":"evidence_image","enum":["evidence_file","evidence_image"],"description":"The purpose of the uploaded file, to see the full list please visit https://developers.justt.ai/docs/file-upload-guide#purpose"}},"required":["file","purpose"]},"DataSubjectRemovalRequestDto":{"type":"object","properties":{"email":{"type":"string","description":"Email address of the data subject","example":"john.doe@example.com"},"firstName":{"type":"string","description":"First name of the data subject","example":"John"},"lastName":{"type":"string","description":"Last name of the data subject","example":"Doe"}},"required":["email","firstName","lastName"]},"RestApiResponseDTO":{"type":"object","properties":{"status":{"example":201,"$ref":"#/components/schemas/HttpStatus"},"message":{"type":"string","example":"success","description":"The message of the response"}},"required":["status","message"]},"MerchantOverallStatus":{"type":"string","description":"Current status of the merchant","enum":["SetupIncomplete","Active","ScheduledForActivation","Inactive","IntegrationError","ReadyAwaitingGoLiveDate","ReadyScheduledGoLiveDate","AllIntegrationDown","AllIntegrationValidate","PartiallyActiveByError","PartiallyActiveByValidation"]},"MerchantResponseDto":{"type":"object","properties":{"merchantName":{"type":"string","description":"The name of the merchant","example":"Acme Corporation"},"referenceId":{"type":"string","description":"External reference ID for the merchant","example":"MERCHANT_001"},"status":{"example":"Active","$ref":"#/components/schemas/MerchantOverallStatus"},"merchantUuid":{"type":"string","description":"UUID of the merchant","example":"550e8400-e29b-41d4-a716-446655440000","format":"uuid"}},"required":["merchantName","referenceId","status","merchantUuid"]},"GetMerchantsResponseDto":{"type":"object","properties":{"status":{"example":201,"$ref":"#/components/schemas/HttpStatus"},"message":{"type":"string","example":"success","description":"The message of the response"},"hasMore":{"type":"boolean","example":"true","description":"An indicator if there are more items to return"},"data":{"description":"The requested merchants data","type":"array","items":{"$ref":"#/components/schemas/MerchantResponseDto"}}},"required":["status","message","hasMore","data"]},"DeactivationType":{"type":"string","description":"Type of deactivation","enum":["postingDate","dueDate"]},"DeactivateMerchantDto":{"type":"object","properties":{"deactivationType":{"example":"postingDate","$ref":"#/components/schemas/DeactivationType"},"deactivationDate":{"format":"date-time","type":"string","description":"Date when the deactivation should take effect","example":"2024-01-01T00:00:00.000Z"}},"required":["deactivationType","deactivationDate"]},"CreateMerchantDto":{"type":"object","properties":{"merchantName":{"type":"string","description":"The name of the merchant","example":"Example Store Name"},"websiteUrl":{"type":"string","description":"The website URL of the merchant","example":"https://example.com/"},"email":{"type":"string","description":"Email address of the merchant contact","example":"contact@example.com"},"firstName":{"type":"string","description":"First name of the merchant contact","example":"John"},"lastName":{"type":"string","description":"Last name of the merchant contact","example":"Doe"},"referenceId":{"type":"string","description":"External reference ID for the merchant","example":"EXAMPLE_001"},"mcc":{"type":"string","description":"Merchant Category Code (MCC)","example":"5411"},"mccDescription":{"type":"string","description":"Description of the Merchant Category Code","example":"Grocery Stores, Supermarkets"}},"required":["merchantName","websiteUrl","email","firstName","lastName"]},"CreateMerchantResponseDto":{"type":"object","properties":{"merchantUuid":{"type":"string","description":"UUID of the created merchant","example":"550e8400-e29b-41d4-a716-446655440000","format":"uuid"}},"required":["merchantUuid"]},"SupportedPSP":{"type":"string","description":"PSP source type. Each PSP supports different connection types.","enum":["stripe","braintree","paypal","adyen","justt_sandbox"]},"MerchantIntegrationStatusEnum":{"type":"string","description":"Current status of the integration","enum":["PENDING","SUCCESSFUL","FAILED","INACTIVE"]},"IntegrationResponseDto":{"type":"object","properties":{"integrationId":{"type":"string","description":"Integration ID","example":"446655440000"},"source":{"example":"stripe","$ref":"#/components/schemas/SupportedPSP"},"status":{"example":"SUCCESSFUL","$ref":"#/components/schemas/MerchantIntegrationStatusEnum"},"goLiveDate":{"format":"date-time","type":"string","description":"Go live date of the integration","example":"2024-01-01T00:00:00.000Z"}},"required":["integrationId","source","status"]},"IntegrationConnectionTypeEnum":{"type":"string","description":"Secret type for the PSP integration. Each secret type has specific authentication requirements:\n\n**Available Secret Types:**\n\n**APIKEY_ONLY**: Single API key authentication\n   Required fields: apiKey\n   Example:\n   ```json\n   {\n  \"apiKey\": \"APIKEY280PRO22\"\n}\n   ```\n\n**PUBLIC_SECRET_KEY**: Public and secret key pair authentication\n   Required fields: secretKey Optional: publicKey\n   Example:\n   ```json\n   {\n  \"secretKey\": \"SECRET_KEY_HERE\",\n  \"publicKey\": \"PUBLIC_KEY_HERE\"\n}\n   ```\n\n**BASIC_AUTH**: Basic authentication with client credentials\n   Required fields: clientId, clientSecret\n   Example:\n   ```json\n   {\n  \"clientId\": \"your_client_id\",\n  \"clientSecret\": \"your_client_secret\"\n}\n   ```\n\n**USERNAME_PASSWORD**: Username and password authentication\n   Required fields: username, password\n   Example:\n   ```json\n   {\n  \"username\": \"your_username\",\n  \"password\": \"your_password\"\n}\n   ```\n\n**HMAC**: HMAC signature based authentication\n   Required fields: hmac, apiKey Optional: merchantCode, accountCode\n   Example:\n   ```json\n   {\n  \"hmac\": \"HMAC92749798124\",\n  \"apiKey\": \"APIKEY280PRO22\",\n  \"merchantCode\": \"MERCHANT_CODE\",\n  \"accountCode\": \"ACCOUNT_CODE\"\n}\n   ```\n\n**APIKEY**: API key authentication with additional fields\n   Required fields: apiKey Optional: storeUrl, shopName\n   Example:\n   ```json\n   {\n  \"apiKey\": \"shpca_your_api_key\",\n  \"storeUrl\": \"https://your-store.myshopify.com\",\n  \"shopName\": \"your-store\"\n}\n   ```","enum":["APIKEY_ONLY","PUBLIC_SECRET_KEY","BASIC_AUTH","USERNAME_PASSWORD","HMAC","APIKEY"]},"CreateIntegrationDto":{"type":"object","properties":{"externalIdentifier":{"type":"string","description":"External identifier for the integration","example":"INT_001","minLength":1,"maxLength":255},"integrationName":{"type":"string","description":"Name of the integration","example":"My PSP Integration"},"source":{"example":"stripe","$ref":"#/components/schemas/SupportedPSP"},"secretType":{"example":"APIKEY_ONLY","$ref":"#/components/schemas/IntegrationConnectionTypeEnum"},"secretPayload":{"type":"object","description":"Secret payload containing PSP-specific configuration. Required fields depend on the selected secret type.","example":{"apiKey":"your-api-key","secretKey":"your-secret-key"}},"merchantAccountCodes":{"description":"Array of merchant account codes associated with this integration","example":["ACCT_001","ACCT_002","ACCT_003"],"type":"array","items":{"type":"string"}}},"required":["externalIdentifier","integrationName","source","secretType","secretPayload"]},"CreateIntegrationResponseDto":{"type":"object","properties":{"integrationId":{"type":"string","description":"Integration ID","example":"446655440000"}},"required":["integrationId"]},"DeactivateIntegrationDto":{"type":"object","properties":{"integrationId":{"type":"string","description":"Integration ID to deactivate","example":"446655440000"},"deactivationType":{"example":"postingDate","$ref":"#/components/schemas/DeactivationType"},"deactivationDate":{"format":"date-time","type":"string","description":"Date when the deactivation should take effect","example":"2024-01-01T00:00:00.000Z"}},"required":["integrationId","deactivationType","deactivationDate"]},"CreateOutcomeDto":{"type":"object","properties":{"providerName":{"type":"string","description":"The provider name of the alert","enum":["Verifi RDR","Verifi CDRN","Ethoca"],"example":"Ethoca"},"alertId":{"type":"string","description":"A unique alert Identifier (UUID) set by Justt","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c"},"refunded":{"type":"string","description":"Whether the transaction was refunded, not refunded, or not settled","enum":["refunded","not refunded","not settled"],"example":"not refunded"},"outcome":{"type":"string","description":"The outcome for the alert","enum":["resolved","previously_refunded","unresolved_dispute","other","stopped","partially_stopped","previously_cancelled","missed","notfound","account_suspended","in_progress","shipper_contacted","100","101","102","951","130","900","901","902","940","950","952","953","954","955","956","957"],"example":"resolved"},"comments":{"type":"string","description":"Additional comments to be provided with the outcome","maxLength":500,"example":"Customer was contacted and issue was resolved"}},"required":["providerName","alertId"]},"CreateOutcomeResponseDto":{"type":"object","properties":{"status":{"type":"number","description":"The status of the response","example":201},"message":{"type":"string","description":"The message of the response","example":"success"},"id":{"type":"string","description":"The id of the created outcome","example":"04318fb0-e4ff-4712-972e-4db99b3fb23c"}},"required":["status","message","id"]},"RawDataRequestDto":{"type":"object","properties":{"dataSource":{"type":"string","description":"Data source for example the PSP (Payment Service Provider) name","enum":["tabapay","nmi","stripe","paypal","amex","braintree","shopify_payments","amazon_pay","adyen","other","cardpointe","checkout","omnipay","acquiring","chase","nuvei","authorizenet","mollie","firstdata","fiserv","elavon","bluesnap","vantiv","dlocal","payu","worldpay_mai","worldpay_iq","payroc","citi","merlink_drs","credorax","dalenys","worldpay_cb911","worldpay_accertify","discover","elavon_payment_insider","elavon_connect","shift4","payplug","global_payments","square","ebanx","zen","payments_hub","ems_data","maverick","corvia","payroc_canada","tap","sabadell","kushki","worldpay","klarna","paysafe","airwallex","mangopay","ecommpay","iyzico","lighthouse","moka","worldpay_wdp","justt_sandbox"],"example":"stripe"},"dataType":{"type":"string","enum":["chargebacks","transactions","refunds","early_fraud_warnings","card_checks","payment_actions","issuer_notes"],"description":"Type of data to process","example":"chargebacks"},"integrationId":{"type":"string","description":"The id will be provide by Justt","example":"6624da56a16c7bad2a2b682a","title":"Unique identifier for the integration"},"requestTimeStamp":{"type":"string","description":"Timestamp of the request in ISO 8601 format"},"rawData":{"type":"object","description":"Raw data in key-value format"},"dataSourceVersion":{"type":"string","description":"Version of the API used to fetch the data","example":"v1"}},"required":["dataSource","dataType","integrationId","requestTimeStamp","rawData","dataSourceVersion"]}}}}