openapi: 3.0.0 info: title: CrediLinq Authentication Loans API description: 'CrediLinq embedded finance API: B2B PayLater and GMV Financing for platforms and marketplaces. Covers Auth0 token generation, merchant onboarding and eligibility, customer and director KYC, credit line and loan (drawdown) management, payments and reconciliation, reporting, and demographic reference data.' version: '1.0' contact: name: CrediLinq Support email: support@credilinq.ai url: https://docs.credilinq.ai/ servers: - url: https://sandbox-api.credilinq.ai description: Sandbox - url: https://stage-api.credilinq.ai description: Staging - url: https://api.credilinq.ai description: Production security: - access-token: [] tags: - name: Loans paths: /v1/loan/calculateloanschedule: post: operationId: DrawdownController_calculateRepaymentScheduleBNPL summary: Preview Loan description: '' parameters: - name: accept-language in: header description: 'Language of the response, supported languages: en-us, in' schema: type: string default: en-us requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CalculateLoanScheduleV1Dto' responses: '200': description: Preview Your Loan Details content: application/json: schema: $ref: '#/components/schemas/GetCalculateLoanResponse' '400': description: Invalid Request content: application/json: schema: $ref: '#/components/schemas/BadRequestDrawdownResponse' '401': description: Invalid credentials content: application/json: schema: $ref: '#/components/schemas/UnauthorizedResponse' '403': description: Forbidden resource content: application/json: schema: $ref: '#/components/schemas/ForbiddenResponse' '404': description: Requested Data Not Found content: application/json: schema: $ref: '#/components/schemas/CustomerNotFoundResponse' '500': description: Internal Server Error, Some problem is there, please try after sometime content: application/json: schema: $ref: '#/components/schemas/InternalErrorResponse' tags: - Loans security: - access-token: [] /v1/loan: post: operationId: DrawdownController_createDrawdownBNPL summary: Create Loan description: '' parameters: - name: accept-language in: header description: 'Language of the response, supported languages: en-us, in' schema: type: string default: en-us - name: idempotency-key in: header description: Idempotency Key for retries schema: type: string default: '' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateLoanV1Dto' responses: '200': description: Loan created successfully content: application/json: schema: $ref: '#/components/schemas/CreateDrawdownResponse' '400': description: Invalid Request content: application/json: schema: $ref: '#/components/schemas/BadRequestDrawdownResponse' '401': description: Invalid credentials content: application/json: schema: $ref: '#/components/schemas/UnauthorizedResponse' '403': description: Forbidden resource content: application/json: schema: $ref: '#/components/schemas/ForbiddenResponse' '404': description: Requested Data Not Found content: application/json: schema: $ref: '#/components/schemas/CustomerNotFoundResponse' '500': description: Internal Server Error, Some problem is there, please try after sometime content: application/json: schema: $ref: '#/components/schemas/InternalErrorResponse' tags: - Loans security: - access-token: [] /v1/loan/disburse: post: operationId: DrawdownController_disburseDrawdownBNPL summary: Disburse loan description: '' parameters: - name: accept-language in: header description: 'Language of the response, supported languages: en-us, in' schema: type: string default: en-us requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DisburseLoanDto' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DisburseDrawdownResponse' '400': description: Invalid Request content: application/json: schema: $ref: '#/components/schemas/BadRequestDrawdownResponse' '401': description: Invalid credentials content: application/json: schema: $ref: '#/components/schemas/UnauthorizedResponse' '403': description: Forbidden resource content: application/json: schema: $ref: '#/components/schemas/ForbiddenResponse' '404': description: Requested Data Not Found content: application/json: schema: $ref: '#/components/schemas/DrawdownNotFoundResponse' '500': description: Internal Server Error, Some problem is there, please try after sometime content: application/json: schema: $ref: '#/components/schemas/InternalErrorResponse' tags: - Loans security: - access-token: [] /v1/loan/summary/{loanId}: get: operationId: DrawdownController_getDrawdownBNPL summary: Loan Summary description: '' parameters: - name: accept-language in: header description: 'Language of the response, supported languages: en-us, in' schema: type: string default: en-us - name: loanId required: true in: path schema: type: string responses: '200': description: Loan summary details content: application/json: schema: $ref: '#/components/schemas/GetLoanSummaryResponse' '401': description: Invalid credentials content: application/json: schema: $ref: '#/components/schemas/UnauthorizedResponse' '403': description: Forbidden resource content: application/json: schema: $ref: '#/components/schemas/ForbiddenResponse' '404': description: Requested Data Not Found content: application/json: schema: $ref: '#/components/schemas/DrawdownNotFoundResponse' '500': description: Internal Server Error, Some problem is there, please try after sometime content: application/json: schema: $ref: '#/components/schemas/InternalErrorResponse' tags: - Loans security: - access-token: [] components: schemas: DisburseLoanDto: type: object properties: loanId: type: string default: '' example: c3eb1619-ff24-4773-97d8-b05264621e60 description: Loan Id metadata: type: string description: Metadata for loans. It can be used for reporting, reconciliation purpose. example: '' required: - loanId LoanResponse: type: object properties: loanId: type: string default: string description: Id of the created loan loanReferenceNo: type: string default: string description: Reference Number of the created loan for eg. BNPL*** customerReferenceNo: type: string default: '' description: Customer Reference number, for which loan is created loanTerm: type: number example: 30 description: Duration of the loan. Based on loan terms selected at the cusomer level, The customer for whom loan is being created should be enum: - 30 - 45 - 60 - 90 - 120 - 150 - 180 - 210 - 240 - 270 - 300 - 330 - 360 default: 30 loanType: type: string description: "Type of loan\n \n We support these two types,\n \n 1. ```BNPL``` - Buyer Financing\n \n 2. ```GMV``` - Seller Financing" example: BNPL loanStatus: type: string description: "Status of loan\n \n We support these three statuses,\n \n 1. ```pending-for-approval``` - Loan is pending for approval\n \n 2. ```waiting-for-disbursal``` - Loan is pending for disbursal,\n \n 3. ```active``` - Loan is active,\n \n 4. ```rejected``` - Loan is rejected for some reason,\n \n 5. ```closed``` - Loan is paid & closed" example: waiting-for-disbursal disbursalAmount: type: number description: Loan Amount default: 2000 totalDueAmount: type: number description: Total Loan Due Amount default: 2000 loanDueDate: type: string description: Loan Due Date in Local Format eg. 21 Aug 2023 default: 21 August 2023 example: 21 August 2023 loanDueDateUTC: type: string description: Loan Due Date in UTC Format eg. 2023-08-20T18:30:00.000Z default: '2023-08-20T18:30:00.000Z' example: '2023-08-20T18:30:00.000Z' dueDatePostGracePeriod: type: string description: Loan Due Date with grace period in Local Format eg. 24 Aug 2023 default: 24 August 2023 example: 24 August 2023 dueDatePostGracePeriodUTC: type: string description: Loan Due Date with grace period in UTC Format eg. 2023-08-23T18:30:00.000Z default: '2023-08-23T18:30:00.000Z' example: '2023-08-23T18:30:00.000Z' gracePeriodInDays: type: number description: Grace Period(In Days), After which loan goes into overdue. default: 3 example: 3 charges: type: number description: Total Monthly Charges(%) Applied on Loan Amount default: 1 chargesApplied: type: number description: Total Amount of Charges Applied on Loan Amount default: 50 customerApprovedCredit: type: number description: Customer Approved Credit Line default: 20000 customerAvailableCredit: type: number description: Customer Remaining Credit Line after loan default: 17500 remark: type: string description: Remark given while requesting for loan default: string metadata: type: string default: string description: Metadata for loans. It can be used for reporting, reconciliation purpose. createdAt: type: string default: '2025-01-08T05:12:17.405Z' description: Created Timestamp of the created loan in UTC Format eg. 2023-03-30T11:46:42.195Z updatedAt: type: string default: '2025-01-08T05:12:17.405Z' description: Updated Timestamp of the created loan in UTC Format eg. 2023-03-30T11:46:42.195Z currency: type: string default: SGD description: Currency Code required: - loanId - loanReferenceNo - customerReferenceNo - loanTerm - loanType - loanStatus - disbursalAmount - totalDueAmount - loanDueDate - loanDueDateUTC - dueDatePostGracePeriod - dueDatePostGracePeriodUTC - gracePeriodInDays - charges - chargesApplied - customerApprovedCredit - customerAvailableCredit - remark - metadata - createdAt - updatedAt - currency GetLoanSummaryResponse: type: object properties: statusCode: type: number default: 200 description: The HTTP status code of the error data: description: Response Data from the operation allOf: - $ref: '#/components/schemas/LoanSummaryResponse' message: type: string default: Success description: Human-readable message containing all available details about the operation success: type: boolean default: true description: A boolean indicating whether this was a success response or an error response required: - statusCode - data - message - success GetCalculateLoanResponse: type: object properties: statusCode: type: number default: 200 description: The HTTP status code of the error data: description: Response Data from the operation allOf: - $ref: '#/components/schemas/CalculateLoanResponse' message: type: string default: Success description: Human-readable message containing all available details about the operation success: type: boolean default: true description: A boolean indicating whether this was a success response or an error response required: - statusCode - data - message - success DisburseLoanStatusResponse: type: object properties: loanId: type: string default: string description: Id of the created loan loanReferenceNo: type: string default: string description: Reference Number of the created loan for eg. BNPL*** customerReferenceNo: type: string default: '' description: Customer Reference number, for which loan is created loanTerm: type: number example: 30 description: Duration of the loan. Based on loan terms selected at the cusomer level, The customer for whom loan is being created should be enum: - 30 - 45 - 60 - 90 - 120 - 150 - 180 - 210 - 240 - 270 - 300 - 330 - 360 default: 30 loanType: type: string description: "Type of loan\n \n We support these two types,\n \n 1. ```BNPL``` - Buyer Financing\n \n 2. ```GMV``` - Seller Financing" example: BNPL loanStatus: type: string description: "Status of loan\n \n We support these three statuses,\n \n 1. ```pending-for-approval``` - Loan is pending for approval\n \n 2. ```waiting-for-disbursal``` - Loan is pending for disbursal,\n \n 3. ```active``` - Loan is active,\n \n 4. ```rejected``` - Loan is rejected for some reason,\n \n 5. ```closed``` - Loan is paid & closed" example: active disbursalAmount: type: number description: Loan Amount default: 2000 totalDueAmount: type: number description: Total Loan Due Amount default: 2000 loanDueDate: type: string description: Loan Due Date in Local Format eg. 21 Aug 2023 default: 21 August 2023 example: 21 August 2023 loanDueDateUTC: type: string description: Loan Due Date in UTC Format eg. 2023-08-20T18:30:00.000Z default: '2023-08-20T18:30:00.000Z' example: '2023-08-20T18:30:00.000Z' dueDatePostGracePeriod: type: string description: Loan Due Date with grace period in Local Format eg. 24 Aug 2023 default: 24 August 2023 example: 24 August 2023 dueDatePostGracePeriodUTC: type: string description: Loan Due Date with grace period in UTC Format eg. 2023-08-23T18:30:00.000Z default: '2023-08-23T18:30:00.000Z' example: '2023-08-23T18:30:00.000Z' gracePeriodInDays: type: number description: Grace Period(In Days), After which loan goes into overdue. default: 3 example: 3 charges: type: number description: Total Monthly Charges(%) Applied on Loan Amount default: 1 chargesApplied: type: number description: Total Amount of Charges Applied on Loan Amount default: 50 customerApprovedCredit: type: number description: Customer Approved Credit Line default: 20000 customerAvailableCredit: type: number description: Customer Remaining Credit Line after loan default: 17500 remark: type: string description: Remark given while requesting for loan default: string metadata: type: string default: string description: Metadata for loans. It can be used for reporting, reconciliation purpose. createdAt: type: string default: '2025-01-08T05:12:17.405Z' description: Created Timestamp of the created loan in UTC Format eg. 2023-03-30T11:46:42.195Z updatedAt: type: string default: '2025-01-08T05:12:17.405Z' description: Updated Timestamp of the created loan in UTC Format eg. 2023-03-30T11:46:42.195Z currency: type: string default: SGD description: Currency Code required: - loanId - loanReferenceNo - customerReferenceNo - loanTerm - loanType - loanStatus - disbursalAmount - totalDueAmount - loanDueDate - loanDueDateUTC - dueDatePostGracePeriod - dueDatePostGracePeriodUTC - gracePeriodInDays - charges - chargesApplied - customerApprovedCredit - customerAvailableCredit - remark - metadata - createdAt - updatedAt - currency CalculateLoanScheduleV1Dto: type: object properties: customerReferenceNo: type: string default: '' example: c3eb1619-ff24-4773-97d8-b05264621e60 description: "Customer Reference number. Each customer has unique reference number. Enter reference number of the customer for whom loan should be created.\n - ``` /^S*$/ ```" loanAmount: type: number description: "Loan Amount.\n \n - Support decimal values as well." example: 50000 loanTerm: type: number example: 30 description: Duration of the loan. Based on loan terms selected at the cusomer level, The customer for whom loan is being created should be. enum: - 30 - 45 - 60 - 90 - 120 - 150 - 180 - 210 - 240 - 270 - 300 - 330 - 360 default: 30 loanType: type: string description: "\nType of loan.\n \n We support these two types,\n \n 1. ```BNPL``` - Buyer Financing\n \n 2. ```GMV``` - Seller Financing" enum: - BNPL - GMV - BNPL_Term - GMV_Term example: BNPL required: - customerReferenceNo - loanAmount - loanTerm - loanType LoanSummaryResponse: type: object properties: loanId: type: string default: string description: Id of the created loan loanStatus: type: string description: "Status of loan\n \n We support these three statuses,\n \n 1. ```pending-for-approval``` - Loan is pending for approval\n \n 2. ```waiting-for-disbursal``` - Loan is pending for disbursal,\n \n 3. ```active``` - Loan is active,\n \n 4. ```rejected``` - Loan is rejected for some reason,\n \n 5. ```closed``` - Loan is paid & closed" example: active loanReferenceNo: type: string default: BNPL180820235070 description: Loan Reference number loanType: type: string description: "Type of loan\n \n We support these 4 types,\n \n 1. ```BNPL``` - Buyer Financing\n \n 2. ```BNPL_Term``` - Buyer Financing Term Loan\n \n 3. ```GMV``` - Seller Financing\n \n 4. ```GMV_Term``` - Seller Financing Term Loan" example: BNPL customerReferenceNo: type: string default: '' description: Customer Reference number, for which loan is created loanTerm: type: number example: 30 description: Duration of the loan. Based on loan terms selected at the cusomer level, The customer for whom loan is being created should be enum: - 30 - 45 - 60 - 90 - 120 - 150 - 180 - 210 - 240 - 270 - 300 - 330 - 360 default: 30 loanAmount: type: number description: Loan Amount example: 3500 totalServiceFee: type: number description: Total Service fee applied on loan example: 99.17 totalServiceFeeDue: type: number description: Total Service fee Due for loan example: 99.17 expectedRepaymentAmount: type: number description: Total Expected Repayment Amount default: 3599.17 totalDueAmount: type: number description: Total Due amount that is remaining to repay default: 3599.17 loanDueDate: type: string description: Loan Due Date eg. 18 September 2023 default: 18 September 2023 example: 18 September 2023 dueDatePostGracePeriod: type: string description: Due date with Grace Period, eg. Loan Due date is 18 September 2023, and grace period is 3 days. so dueDatePostGracePeriod will be 21 September 2023 default: 18 September 2023 example: 21 September 2023 gracePeriodInDays: type: number description: Grace Period(In Days), After which loan goes into overdue. default: 3 example: 3 totalPenaltyDue: type: number description: Penalty outstanding that needs to repay default: 0 example: 0 currency: type: string default: SGD description: Currency Code requestedDate: type: string description: Loan Due Date eg. 18 Aug 2023 default: 18 Aug 2023 example: 18 Aug 2023 repaymentSchedule: description: Repayment schedule for loan type: array items: $ref: '#/components/schemas/RepaymentScheduleV2Response' payments: description: All payments done by customer for the loan type: array items: $ref: '#/components/schemas/LoanPayment' required: - loanId - loanStatus - loanReferenceNo - loanType - customerReferenceNo - loanTerm - loanAmount - totalServiceFee - totalServiceFeeDue - expectedRepaymentAmount - totalDueAmount - loanDueDate - dueDatePostGracePeriod - gracePeriodInDays - totalPenaltyDue - currency - requestedDate - repaymentSchedule - payments DrawdownNotFoundResponse: type: object properties: statusCode: type: number default: 404 description: The HTTP status code of the error error: type: string default: string description: Human-readable generic error message errorCode: type: string default: E_D_NOT_FOUND description: Computer-readable code for error handling message: type: string default: string description: Human-readable error message containing all available details about how the error occurred success: type: boolean default: false description: A boolean indicating whether this was a success response or an error response required: - statusCode - error - errorCode - message - success BadRequestDrawdownResponse: type: object properties: statusCode: type: number default: 400 error: default: '' oneOf: - type: string - type: array items: type: string errorCode: default: '' oneOf: - type: string - type: array items: type: string message: default: Error oneOf: - type: string - type: array items: type: string success: type: boolean default: false required: - statusCode - error - errorCode - message - success CalculateLoanResponse: type: object properties: customerReferenceNo: type: string default: '' description: Customer Reference number, for which loan is created loanTerm: type: number example: 30 description: Duration of the loan. Based on loan terms selected at the cusomer level, The customer for whom loan is being created should be enum: - 30 - 45 - 60 - 90 - 120 - 150 - 180 - 210 - 240 - 270 - 300 - 330 - 360 default: 30 totalDueAmount: type: number description: Total Loan Due Amount default: 2000 loanDueDate: type: string description: Total Loan Due Amount in UTC Format eg. 2023-03-30T11:46:42.195Z default: '2025-01-08T05:12:17.406Z' disbursalAmount: type: number description: Loan Amount default: 2000 chargesApplied: type: number description: Total Amount of Charges Applied on Loan Amount default: 50 totalRepaymentExpected: type: number description: Total Repayment Expected default: 2000 currency: type: string description: Currency Code default: SGD required: - customerReferenceNo - loanTerm - totalDueAmount - loanDueDate - disbursalAmount - chargesApplied - totalRepaymentExpected - currency ForbiddenResponse: type: object properties: statusCode: type: number default: 403 description: The HTTP status code of the error error: type: string default: string description: Human-readable generic error message errorCode: type: string default: E_FORBIDDEN description: Computer-readable code for error handling message: type: string default: string description: Human-readable error message containing all available details about how the error occurred success: type: boolean default: false description: A boolean indicating whether this was a success response or an error response required: - statusCode - error - errorCode - message - success InternalErrorResponse: type: object properties: statusCode: type: number default: 500 description: The HTTP status code of the error error: type: string default: string description: Human-readable generic error message errorCode: type: string default: E_INTERNAL_ERROR description: Computer-readable code for error handling message: type: string default: string description: Human-readable error message containing all available details about how the error occurred success: type: boolean default: false description: A boolean indicating whether this was a success response or an error response required: - statusCode - error - errorCode - message - success CreateDrawdownResponse: type: object properties: statusCode: type: number default: 201 description: The HTTP status code of the error data: description: Response Data from the operation allOf: - $ref: '#/components/schemas/LoanResponse' message: type: string default: Success description: Human-readable message containing all available details about the operation success: type: boolean default: true description: A boolean indicating whether this was a success response or an error response required: - statusCode - data - message - success LoanPayment: type: object properties: paymentId: type: string default: string description: Id of the payment paymentDate: type: string default: '2025-01-08T05:12:17.404Z' description: Date of the payment in UTC Format eg. 2023-03-30T11:46:42.195Z paymentAmount: type: number default: 1000 description: Payment Amount paymentMethod: type: string default: 1000 description: Payment Amount example: Bank Transfer/UEN Payment/QR Code Payment paymentReferenceNo: type: string default: string description: Payment reference number provided while making payment accountNumber: type: string default: string description: "Account Number varies based on payment types.\n \n\nSo for bank transfer payment( this field will contain ```bank account number``` & for UEN number payment this will contain ```UEN Number```" accountName: type: string default: string description: Account Name to which payment has been made. bankName: type: string default: string description: "Bank Name varies based on payment types.\n \n\nSo for bank transfer payment this field will be present, for rest of the types it will be empty" bankSwiftCode: type: string default: string description: "Bank Swift Code varies based on payment types.\n \n\nSo for bank transfer payment this field will be present, for rest of the types it will be empty" paymentStatus: type: number default: 2 description: "We have 3 types of payment status codes. \n \n For payment rejected: ```0``` \n \n For payment done, but verification pending: ```1```\n \n For payment done & verified: ```2```" loanId: type: string default: string description: Loan Id, for which payment has been made. customerReferenceNo: type: string default: string description: Customer Reference Number, for which payment has been made. metadata: type: string default: string description: Metadata for payments. It can be used for reporting, reconciliation purpose. createdAt: type: string default: '2025-01-08T05:12:17.405Z' description: Created Timestamp of the payment in UTC Format eg. 2023-03-30T11:46:42.195Z updatedAt: type: string default: '2025-01-08T05:12:17.405Z' description: Updated Timestamp of the payment in UTC Format eg. 2023-03-30T11:46:42.195Z currency: type: string default: SGD description: Currency Code required: - paymentId - paymentDate - paymentAmount - paymentMethod - paymentReferenceNo - accountNumber - accountName - bankName - bankSwiftCode - paymentStatus - loanId - customerReferenceNo - metadata - createdAt - updatedAt - currency DisburseDrawdownResponse: type: object properties: statusCode: type: number default: 200 description: The HTTP status code of the error data: description: Response Data from the operation allOf: - $ref: '#/components/schemas/DisburseLoanStatusResponse' message: type: string default: Success description: Human-readable message containing all available details about the operation success: type: boolean default: true description: A boolean indicating whether this was a success response or an error response required: - statusCode - data - message - success CreateLoanV1Dto: type: object properties: customerReferenceNo: type: string default: '' example: c3eb1619-ff24-4773-97d8-b05264621e60 description: "Customer Reference number. Each customer has unique reference number. Enter reference number of the customer for whom loan should be created.\n - ``` /^S*$/ ```" loanAmount: type: number description: "Loan Amount.\n \n - Support decimal values as well." example: 50000 loanType: type: string description: "\nType of loan.\n \n We support these two types,\n \n 1. ```BNPL``` - Buyer Financing\n \n 2. ```GMV``` - Seller Financing" enum: - BNPL - GMV - BNPL_Term - GMV_Term example: BNPL loanTerm: type: number example: 30 description: Duration of the loan. Based on loan terms selected at the cusomer level, The customer for whom loan is being created should be. enum: - 30 - 45 - 60 - 90 - 120 - 150 - 180 - 210 - 240 - 270 - 300 - 330 - 360 default: 30 remark: type: string description: Comments if any. example: Loan for xyz ltd, construction purpose metadata: type: string description: Metadata for loans. It can be used for reporting, reconciliation purpose. example: '' preApproved: type: boolean description: Flag to create pre-approved loan, Default value will be true. example: true required: - customerReferenceNo - loanAmount - loanType - loanTerm RepaymentScheduleV2Response: type: object properties: dueDate: type: string description: Loan Due Date eg. 18 September 2023 default: 18 September 2023 example: 18 September 2023 totalDueForPeriod: type: number description: Total due payment for current period example: 3599.17 penaltyDueForPeriod: type: number description: Total due penalty for current period example: 0 totalServiceFeeForPeriod: type: number description: Total Service fee for current period example: 99.17 totalServiceFeeDueForPeriod: type: number description: Total Service fee due for current period example: 99.17 principalDueForPeriod: type: number description: Total due principal for current period example: 3500 dueDatePostGracePeriod: type: string description: Due date with grace period eg. 21 September 2023 example: 21 September 2023 paid: type: boolean description: indicates that payment is completed or not example: false required: - dueDate - totalDueForPeriod - penaltyDueForPeriod - totalServiceFeeForPeriod - totalServiceFeeDueForPeriod - principalDueForPeriod - dueDatePostGracePeriod - paid CustomerNotFoundResponse: type: object properties: statusCode: type: number default: 404 description: The HTTP status code of the error error: type: string default: string description: Human-readable generic error message errorCode: type: string default: E_C_CUSTOMER_NOT_FOUND description: Computer-readable code for error handling message: type: string default: string description: Human-readable error message containing all available details about how the error occurred success: type: boolean default: false description: A boolean indicating whether this was a success response or an error response required: - statusCode - error - errorCode - message - success UnauthorizedResponse: type: object properties: statusCode: type: number default: 401 description: The HTTP status code of the error error: type: string default: string description: Human-readable generic error message errorCode: type: string default: E_UNAUTHORIZED description: Computer-readable code for error handling message: type: string default: string description: Human-readable error message containing all available details about how the error occurred success: type: boolean default: false description: A boolean indicating whether this was a success response or an error response required: - statusCode - error - errorCode - message - success securitySchemes: access-token: scheme: bearer bearerFormat: JWT type: http