From 464eec4dda6dad43802cd1efa9303b568f09b12c Mon Sep 17 00:00:00 2001 From: eddiechayes Date: Thu, 28 Mar 2024 15:12:35 -0700 Subject: [PATCH] add redkik --- .../from-custom-request_redkik.com.yaml | 1998 +++++++ sdks/db/category-cache.yaml | 1 + sdks/db/custom-request-last-fetched.yaml | 1 + sdks/db/custom-request-specs/redkik.com.yaml | 4512 ++++++++++++++++ .../fixed-specs-cache/redkik-fixed-spec.yaml | 4527 ++++++++++++++++ sdks/db/fixed-specs/redkik-fixed-spec.yaml | 4630 +++++++++++++++++ .../redkik.json | 3 + .../redkik/openapi.yaml | 4513 ++++++++++++++++ .../redkik.com.yaml | 19 + sdks/db/progress/redkik-progress.yaml | 304 ++ .../from-custom-request_redkik.com.json | 3183 +++++++++++ .../from-custom-request_redkik.com.json | 24 + sdks/publish.yaml | 13 + sdks/src/collect-from-custom-requests.ts | 5 + 14 files changed, 23733 insertions(+) create mode 100644 sdks/db/cached-method-objects/from-custom-request_redkik.com.yaml create mode 100644 sdks/db/custom-request-specs/redkik.com.yaml create mode 100644 sdks/db/fixed-specs-cache/redkik-fixed-spec.yaml create mode 100644 sdks/db/fixed-specs/redkik-fixed-spec.yaml create mode 100644 sdks/db/generate-repository-description-cache/redkik.json create mode 100644 sdks/db/intermediate-fixed-specs/redkik/openapi.yaml create mode 100644 sdks/db/processed-custom-request-cache/redkik.com.yaml create mode 100644 sdks/db/progress/redkik-progress.yaml create mode 100644 sdks/db/published/from-custom-request_redkik.com.json create mode 100644 sdks/db/spec-data/from-custom-request_redkik.com.json diff --git a/sdks/db/cached-method-objects/from-custom-request_redkik.com.yaml b/sdks/db/cached-method-objects/from-custom-request_redkik.com.yaml new file mode 100644 index 0000000000..e8ff4911f1 --- /dev/null +++ b/sdks/db/cached-method-objects/from-custom-request_redkik.com.yaml @@ -0,0 +1,1998 @@ +hash: a3d78f9134ae93baf383afbf0dbfa49f3fa90b2d6584b558b20f314996ab25fa +methodObjects: + - url: /api/v2/user/api-tokens + method: createUserApiToken + httpMethod: post + tag: ApiTokenController + typeScriptTag: apiTokenController + description: '' + parameters: + - name: name + schema: string + required: true + description: '' + example: NAME + - name: organizationId + schema: string + required: true + description: '' + example: ORGANIZATIONID + - name: roles + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/api-tokens/{id} + method: deleteById + httpMethod: delete + tag: ApiTokenController + typeScriptTag: apiTokenController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/audits + method: getAudits + httpMethod: get + tag: AuditController + typeScriptTag: auditController + description: >- + Fetches audits in batches set by perPage (default 20). Should be used + mainly from UI. + parameters: + - name: page + schema: number + required: false + description: Index of page + - name: perPage + schema: number + required: false + description: Page size + - name: globalFilter + schema: string + required: false + description: Global filter of filterable fields + - name: order + schema: object + required: false + description: Stringified TypeOrm order + example: + name: ASC + age: DESC + - name: where + schema: array + required: false + description: Stringified TypeOrm where query + example: + name: John Smith + age: 24 + - name: select + schema: object + required: false + description: Stringified TypeOrm select query + example: + name: true + age: true + responses: + - statusCode: '200' + description: '' + - statusCode: '206' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/audits + method: createUserAudits + httpMethod: post + tag: AuditController + typeScriptTag: auditController + description: '' + parameters: + - name: id + schema: number + required: false + description: '' + - name: userId + schema: string + required: false + description: '' + - name: entityId + schema: string + required: true + description: '' + example: ENTITYID + - name: entityType + schema: string + required: true + description: '' + example: ENTITYTYPE + - name: secondaryEntityId + schema: string + required: false + description: '' + - name: message + schema: string + required: true + description: '' + example: MESSAGE + - name: createdAt + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/oauth/authorize + method: authorizeOauthUser + httpMethod: get + tag: Authentications + typeScriptTag: authentications + description: '' + parameters: + - name: responseType + schema: string + required: true + description: '' + example: RESPONSE_TYPE + - name: clientId + schema: string + required: true + description: '' + example: CLIENT_ID + - name: redirectUri + schema: string + required: false + description: '' + - name: scope + schema: string + required: false + description: '' + - name: state + schema: string + required: false + description: '' + - name: codeChallenge + schema: string + required: false + description: '' + - name: codeChallengeMethod + schema: string + required: false + description: '' + - name: errorCode + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - url: /api/v2/user/oauth/forgotten + method: getForgottenOauth + httpMethod: get + tag: Authentications + typeScriptTag: authentications + description: '' + parameters: + - name: code + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - url: /api/v2/user/oauth/auth/login + method: postOauthLogin + httpMethod: post + tag: Authentications + typeScriptTag: authentications + description: '' + parameters: [] + responses: + - statusCode: '200' + description: Success + - url: /api/v2/user/oauth/auth/reset + method: resetOauthToken + httpMethod: post + tag: Authentications + typeScriptTag: authentications + description: '' + parameters: [] + responses: + - statusCode: '200' + description: Success + - url: /api/v2/user/oauth/token + method: createUserOauthToken + httpMethod: post + tag: Authentications + typeScriptTag: authentications + description: '' + parameters: + - name: grant_type + schema: string + required: true + description: '' + example: GRANT_TYPE + - name: client_id + schema: string + required: false + description: '' + - name: client_secret + schema: string + required: false + description: '' + - name: email + schema: string + required: false + description: '' + - name: password + schema: string + required: false + description: '' + - name: refresh_token + schema: string + required: false + description: '' + - name: code + schema: string + required: false + description: '' + - name: redirect_uri + schema: string + required: false + description: '' + - name: code_verifier + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - url: /api/v2/user/oauth/exchange + method: exchangeOauthToken + httpMethod: get + tag: Authentications + typeScriptTag: authentications + description: '' + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /api/v2/user/oauth/logout + method: performLogout + httpMethod: post + tag: Authentications + typeScriptTag: authentications + description: '' + parameters: [] + responses: + - statusCode: '200' + description: Success + - url: /api/v2/user/oauth/mfa + method: getMfaDetails + httpMethod: get + tag: Authentications + typeScriptTag: authentications + description: '' + parameters: + - name: code + schema: string + required: false + description: '' + - name: csrfToken + schema: string + required: false + description: '' + - name: state + schema: string + required: false + description: '' + - name: error + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: Success + - url: /api/v2/user/oauth/check-mfa-code + method: checkMfaCode + httpMethod: post + tag: Authentications + typeScriptTag: authentications + description: '' + parameters: + - name: mfaCode + schema: string + required: true + description: '' + example: MFACODE + - name: csrf_token + schema: string + required: true + description: '' + example: CSRF_TOKEN + - name: code + schema: string + required: true + description: '' + example: CODE + - name: state + schema: string + required: true + description: '' + example: STATE + responses: + - statusCode: '200' + description: '' + - url: /api/v2/user/organizations + method: getOrganizations + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: >- + Fetches organizations in batches set by perPage (default 20). Should be + used mainly from UI. + parameters: + - name: page + schema: number + required: false + description: Index of page + - name: perPage + schema: number + required: false + description: Page size + - name: globalFilter + schema: string + required: false + description: Global filter of filterable fields + - name: order + schema: object + required: false + description: Stringified TypeOrm order + example: + name: ASC + age: DESC + - name: where + schema: array + required: false + description: Stringified TypeOrm where query + example: + name: John Smith + age: 24 + - name: select + schema: object + required: false + description: Stringified TypeOrm select query + example: + name: true + age: true + responses: + - statusCode: '200' + description: '' + - statusCode: '206' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations + method: createUserOrganization + httpMethod: post + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: id + schema: string + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: NAME + - name: allowQuotation + schema: boolean + required: true + description: '' + example: true + - name: allowPayCard + schema: boolean + required: false + description: '' + - name: allowPayInvoice + schema: boolean + required: false + description: '' + - name: allowConfirmationPayCard + schema: boolean + required: false + description: '' + - name: allowConfirmationPayInvoice + schema: boolean + required: false + description: '' + - name: allowedImmediatePaymentTypes + schema: array + required: false + description: '' + - name: allowConsignee + schema: boolean + required: false + description: '' + - name: allowLetterOfCredit + schema: boolean + required: false + description: '' + - name: allowUserClaim + schema: boolean + required: false + description: '' + - name: type + schema: number + required: true + description: '' + example: 0 + - name: users + schema: array + required: false + description: '' + - name: parentId + schema: string + required: false + description: '' + - name: stripeAccountId + schema: string + required: false + description: '' + - name: externalReference + schema: string + required: false + description: '' + - name: referencePrefix + schema: string + required: false + description: '' + - name: publicUrl + schema: string + required: false + description: '' + - name: publicDateFormat + schema: string + required: false + description: '' + - name: publicLocale + schema: string + required: false + description: '' + - name: allowReferrals + schema: boolean + required: true + description: '' + example: true + - name: allowReferAccepted + schema: boolean + required: false + description: '' + - name: allowConfirm + schema: boolean + required: true + description: '' + example: true + - name: allowModifyBookingFee + schema: boolean + required: true + description: '' + example: true + - name: allowBeneficiary + schema: boolean + required: true + description: '' + example: true + - name: allowMultiCommodity + schema: boolean + required: true + description: '' + example: true + - name: allowClaims + schema: boolean + required: true + description: '' + example: true + - name: claimTemplateId + schema: string + required: false + description: '' + - name: lastInvoicedAt + schema: string + required: false + description: '' + - name: invoiceCustomerId + schema: string + required: false + description: '' + - name: billingAddress + schema: string + required: false + description: '' + - name: billingEmail + schema: string + required: false + description: '' + - name: requireNotification + schema: boolean + required: true + description: '' + example: true + - name: notificationMethod + schema: number + required: true + description: '' + example: 0 + - name: contactEmail + schema: string + required: false + description: '' + - name: hideCosts + schema: boolean + required: true + description: '' + example: true + - name: costBreakdown + schema: string + required: true + description: '' + example: COSTBREAKDOWN + - name: hideZeroValues + schema: boolean + required: false + description: '' + - name: requireConfirmation + schema: boolean + required: true + description: '' + example: true + - name: street + schema: string + required: false + description: '' + - name: city + schema: string + required: false + description: '' + - name: state + schema: string + required: false + description: '' + - name: postcode + schema: string + required: false + description: '' + - name: country + schema: string + required: false + description: '' + - name: formatted + schema: string + required: true + description: '' + example: FORMATTED + - name: taxRulesetId + schema: string + required: false + description: '' + - name: descendants + schema: array + required: false + description: '' + - name: allowedAddressTypes + schema: array + required: false + description: '' + - name: additionalFields + schema: array + required: false + description: '' + - name: enforceTrackingCode + schema: boolean + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/chart + method: getOrganizationChart + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: Fetches organization hierarchy chart + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '206' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/find + method: findUserOrganizations + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: skip + schema: number + required: false + description: '' + - name: take + schema: number + required: false + description: '' + - name: relations + schema: array + required: false + description: '' + - name: order + schema: object + required: false + description: '' + - name: where + schema: array + required: false + description: '' + - name: select + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/find/ids + method: findUserOrganizationIds + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: ids + schema: array + required: false + description: '' + - name: select + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/list + method: listUserOrganizations + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: skip + schema: number + required: false + description: '' + - name: take + schema: number + required: false + description: '' + - name: relations + schema: array + required: false + description: '' + - name: order + schema: object + required: false + description: '' + - name: where + schema: array + required: false + description: '' + - name: select + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/available-policies + method: listAvailablePolicies + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: >- + Returns a list of policies that can be assigned to organization of the + user + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id}/endorsements + method: getUserEndorsements + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + - name: page + schema: number + required: false + description: Index of page + - name: perPage + schema: number + required: false + description: Page size + - name: globalFilter + schema: string + required: false + description: Global filter of filterable fields + - name: order + schema: object + required: false + description: Stringified TypeOrm order + example: + name: ASC + age: DESC + - name: where + schema: array + required: false + description: Stringified TypeOrm where query + example: + name: John Smith + age: 24 + - name: select + schema: object + required: false + description: Stringified TypeOrm select query + example: + name: true + age: true + responses: + - statusCode: '200' + description: '' + - statusCode: '206' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id} + method: deleteOrganizationById + httpMethod: delete + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id} + method: getById + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id} + method: updateOrganizationById + httpMethod: patch + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + - name: id + schema: string + description: '' + - name: name + schema: string + description: '' + - name: allowQuotation + schema: boolean + description: '' + - name: allowPayCard + schema: boolean + description: '' + - name: allowPayInvoice + schema: boolean + description: '' + - name: allowConfirmationPayCard + schema: boolean + description: '' + - name: allowConfirmationPayInvoice + schema: boolean + description: '' + - name: allowedImmediatePaymentTypes + schema: array + description: '' + - name: allowConsignee + schema: boolean + description: '' + - name: allowLetterOfCredit + schema: boolean + description: '' + - name: allowUserClaim + schema: boolean + description: '' + - name: type + schema: number + description: '' + - name: users + schema: array + description: '' + - name: parentId + schema: string + description: '' + - name: stripeAccountId + schema: string + description: '' + - name: externalReference + schema: string + description: '' + - name: referencePrefix + schema: string + description: '' + - name: publicUrl + schema: string + description: '' + - name: publicDateFormat + schema: string + description: '' + - name: publicLocale + schema: string + description: '' + - name: allowReferrals + schema: boolean + description: '' + - name: allowReferAccepted + schema: boolean + description: '' + - name: allowConfirm + schema: boolean + description: '' + - name: allowModifyBookingFee + schema: boolean + description: '' + - name: allowBeneficiary + schema: boolean + description: '' + - name: allowMultiCommodity + schema: boolean + description: '' + - name: allowClaims + schema: boolean + description: '' + - name: claimTemplateId + schema: string + description: '' + - name: lastInvoicedAt + schema: string + description: '' + - name: invoiceCustomerId + schema: string + description: '' + - name: billingAddress + schema: string + description: '' + - name: billingEmail + schema: string + description: '' + - name: requireNotification + schema: boolean + description: '' + - name: notificationMethod + schema: number + description: '' + - name: contactEmail + schema: string + description: '' + - name: hideCosts + schema: boolean + description: '' + - name: costBreakdown + schema: string + description: '' + - name: hideZeroValues + schema: boolean + description: '' + - name: requireConfirmation + schema: boolean + description: '' + - name: street + schema: string + description: '' + - name: city + schema: string + description: '' + - name: state + schema: string + description: '' + - name: postcode + schema: string + description: '' + - name: country + schema: string + description: '' + - name: formatted + schema: string + description: '' + - name: taxRulesetId + schema: string + description: '' + - name: descendants + schema: array + description: '' + - name: allowedAddressTypes + schema: array + description: '' + - name: additionalFields + schema: array + description: '' + - name: enforceTrackingCode + schema: boolean + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id}/stripe-account + method: getStripeAccount + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: OK + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id}/closure-values + method: getClosureValues + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: OK + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id}/policies + method: getPolicies + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: Returns the assigned policies of a requested organization + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id}/details + method: getOrganizationDetails + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: Returns detailed information for an organization + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id}/api-tokens + method: getUserApiTokens + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + - name: page + schema: number + required: false + description: Index of page + - name: perPage + schema: number + required: false + description: Page size + - name: globalFilter + schema: string + required: false + description: Global filter of filterable fields + - name: order + schema: object + required: false + description: Stringified TypeOrm order + example: + name: ASC + age: DESC + - name: where + schema: array + required: false + description: Stringified TypeOrm where query + example: + name: John Smith + age: 24 + - name: select + schema: object + required: false + description: Stringified TypeOrm select query + example: + name: true + age: true + responses: + - statusCode: '200' + description: '' + - statusCode: '206' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id}/setup + method: getUserOrganizationSetup + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id}/descendantIds + method: getDescendantIds + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id}/name + method: getOrganizationNameById + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id}/insurers + method: listInsurerAssignedForOrganization + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: Returns list of insurers assigned for requested organization + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id}/insurers + method: updateInsurersList + httpMethod: post + tag: OrganizationController + typeScriptTag: organizationController + description: Update list of insurers assigned for organization + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + - name: insurerIds + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id}/assigned-policies + method: getAssignedPolicies + httpMethod: get + tag: OrganizationController + typeScriptTag: organizationController + description: Returns the assigned policies of a requested organization + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/{id}/assigned-policies + method: assignPolicies + httpMethod: post + tag: OrganizationController + typeScriptTag: organizationController + description: Assign policies for requested organization + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + - name: policies + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/organization-policies/{id} + method: getById + httpMethod: get + tag: OrganizationPolicyController + typeScriptTag: organizationPolicyController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/organizations/organization-policies/{policyId} + method: deletePolicyById + httpMethod: delete + tag: OrganizationPolicyController + typeScriptTag: organizationPolicyController + description: '' + parameters: + - name: policyId + schema: string + required: true + description: '' + example: POLICYID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/roles + method: getUserRoles + httpMethod: get + tag: RoleController + typeScriptTag: roleController + description: >- + Fetches roles in batches set by perPage (default 20). Should be used + mainly from UI. + parameters: + - name: page + schema: number + required: false + description: Index of page + - name: perPage + schema: number + required: false + description: Page size + - name: globalFilter + schema: string + required: false + description: Global filter of filterable fields + - name: order + schema: object + required: false + description: Stringified TypeOrm order + example: + name: ASC + age: DESC + - name: where + schema: array + required: false + description: Stringified TypeOrm where query + example: + name: John Smith + age: 24 + - name: select + schema: object + required: false + description: Stringified TypeOrm select query + example: + name: true + age: true + responses: + - statusCode: '200' + description: '' + - statusCode: '206' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/roles + method: createRole + httpMethod: post + tag: RoleController + typeScriptTag: roleController + description: '' + parameters: + - name: description + schema: string + required: true + description: '' + example: DESCRIPTION + - name: name + schema: string + required: true + description: '' + example: NAME + - name: organizationId + schema: string + required: false + description: '' + - name: mappings + schema: array + required: false + description: '' + - name: clientMappings + schema: array + required: false + description: '' + - name: abac + schema: array + required: true + description: '' + - name: data + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/roles/{id} + method: deleteUserRole + httpMethod: delete + tag: RoleController + typeScriptTag: roleController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/roles/{id} + method: getUserRolesById + httpMethod: get + tag: RoleController + typeScriptTag: roleController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/roles/{id} + method: updateUserRole + httpMethod: patch + tag: RoleController + typeScriptTag: roleController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + - name: description + schema: string + description: '' + - name: id + schema: string + description: '' + - name: name + schema: string + description: '' + - name: organizationId + schema: string + description: '' + - name: mappings + schema: array + description: '' + - name: clientMappings + schema: array + description: '' + - name: abac + schema: array + description: '' + - name: data + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/status + method: getUserStatus + httpMethod: get + tag: StatusController + typeScriptTag: statusController + description: '' + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users + method: getUsersList + httpMethod: get + tag: UserController + typeScriptTag: userController + description: >- + Fetches users in batches set by perPage (default 20). Should be used + mainly from UI. + parameters: + - name: page + schema: number + required: false + description: Index of page + - name: perPage + schema: number + required: false + description: Page size + - name: globalFilter + schema: string + required: false + description: Global filter of filterable fields + - name: order + schema: object + required: false + description: Stringified TypeOrm order + example: + name: ASC + age: DESC + - name: where + schema: array + required: false + description: Stringified TypeOrm where query + example: + name: John Smith + age: 24 + - name: select + schema: object + required: false + description: Stringified TypeOrm select query + example: + name: true + age: true + responses: + - statusCode: '200' + description: '' + - statusCode: '206' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users + method: createUser + httpMethod: post + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: id + schema: string + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: NAME + - name: email + schema: string + required: true + description: '' + example: EMAIL + - name: roles + schema: array + required: true + description: '' + - name: organization + schema: object + required: false + description: '' + - name: organizationId + schema: string + required: false + description: '' + - name: profile + schema: object + required: false + description: '' + - name: dateFormat + schema: string + required: true + description: '' + example: DATEFORMAT + - name: timezone + schema: string + required: true + description: '' + example: TIMEZONE + - name: locale + schema: string + required: true + description: '' + example: LOCALE + - name: createdAt + schema: string + required: false + description: '' + - name: deletedAt + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/find + method: findUsers + httpMethod: get + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: skip + schema: number + required: false + description: '' + - name: take + schema: number + required: false + description: '' + - name: relations + schema: array + required: false + description: '' + - name: order + schema: object + required: false + description: '' + - name: where + schema: array + required: false + description: '' + - name: select + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/generate-otp-secret + method: generateOtpSecret + httpMethod: get + tag: UserController + typeScriptTag: userController + description: '' + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/{id} + method: deleteUserById + httpMethod: delete + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/{id} + method: getById + httpMethod: get + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/{id} + method: updateUserById + httpMethod: patch + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + - name: id + schema: string + description: '' + - name: name + schema: string + description: '' + - name: email + schema: string + description: '' + - name: roles + schema: array + description: '' + - name: organization + schema: object + description: '' + - name: organizationId + schema: string + description: '' + - name: profile + schema: object + description: '' + - name: dateFormat + schema: string + description: '' + - name: timezone + schema: string + description: '' + - name: locale + schema: string + description: '' + - name: createdAt + schema: string + description: '' + - name: deletedAt + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/{id}/profile + method: getUserProfile + httpMethod: get + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '206' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/{id}/profile + method: updateUserProfile + httpMethod: patch + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + - name: id + schema: string + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: NAME + - name: email + schema: string + required: true + description: '' + example: EMAIL + - name: dateFormat + schema: string + required: true + description: '' + example: DATEFORMAT + - name: timezone + schema: string + required: true + description: '' + example: TIMEZONE + - name: password + schema: string + required: false + description: '' + - name: oldPassword + schema: string + required: false + description: '' + - name: mfaType + schema: string + required: false + description: '' + - name: phone + schema: string + required: false + description: '' + - name: mfaCode + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/setup-otp + method: setupOtp + httpMethod: post + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: mfaSecret + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/{id}/roles + method: getUserRolesById + httpMethod: get + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/password + method: resetPassword + httpMethod: post + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: oldpassword + schema: string + description: '' + - name: newpassword + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/reset-password + method: resetPassword + httpMethod: post + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: password + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/{id}/reset-password + method: resetUserPassword + httpMethod: post + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/generate-mfa-code + method: generateMfaCode + httpMethod: post + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: userId + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - url: /api/v2/user/users/reset-mfa-type + method: resetMfaType + httpMethod: post + tag: UserController + typeScriptTag: userController + description: '' + parameters: + - name: mfaCode + schema: string + required: true + description: '' + example: MFACODE + - name: userId + schema: string + required: true + description: '' + example: USERID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' +numberOfSchemas: 94 +apiDescription: "Redkik is a global InsurTech company with the mission to transform and improve the insurance industry for all parties within logistics and transportation. Redkik's innovative software eliminates the need for annual and complex insurance policies. Through Redkik's embedded integration with licensed insurance providers, existing platforms and online systems can offer their customers tailored and transactional insurance at the time of sale.\n\nStarting as a cargo insurance solution, the market's immediate response has since molded the flexible software to be used to solve additional inefficiencies for warehouse, gap, spike and cyber insurance while multiple other applications are currently being developed.\n\nThe team of Redkik\_has a big passion for innovation and technology,\_ together with great experience and deep knowledge from logistics and transportation, risk management, cargo insurance, machine learning, and software development.\n\nJoin Redkik's rapidly growing network of global partners and exceed your business goals by offering transactional insurance through Redkik's seamless API integration." diff --git a/sdks/db/category-cache.yaml b/sdks/db/category-cache.yaml index 0778bec20a..8d140c8ada 100644 --- a/sdks/db/category-cache.yaml +++ b/sdks/db/category-cache.yaml @@ -256,3 +256,4 @@ apis: Customer.io-Journeys Track: Marketing Automation Pappers-undefined: Legal Ducky-undefined: Science + Redkik-undefined: Finance diff --git a/sdks/db/custom-request-last-fetched.yaml b/sdks/db/custom-request-last-fetched.yaml index 179e8c3105..8c868deac2 100644 --- a/sdks/db/custom-request-last-fetched.yaml +++ b/sdks/db/custom-request-last-fetched.yaml @@ -236,3 +236,4 @@ lastUpdated: customer.io_DatePipelines: 2024-03-28T21:20:10.133Z pappers.fr: 2024-03-28T21:34:52.135Z ducky.eco: 2024-03-28T21:41:41.857Z + redkik.com: 2024-03-28T22:02:47.218Z diff --git a/sdks/db/custom-request-specs/redkik.com.yaml b/sdks/db/custom-request-specs/redkik.com.yaml new file mode 100644 index 0000000000..f49105bd05 --- /dev/null +++ b/sdks/db/custom-request-specs/redkik.com.yaml @@ -0,0 +1,4512 @@ +openapi: 3.0.3 +info: + version: 2.0.0 + title: userservice +components: + securitySchemes: + bearerAuth: + type: http + scheme: bearer + bearerFormat: JWT + schemas: + ApiToken: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + format: isNotBlank + secret: + type: string + nullable: true + required: + - id + - name + - organizationId + - roles + Unauthorized: + type: object + properties: + name: + type: string + description: The error name + minLength: 1 + example: UNAUTHORIZED + default: UNAUTHORIZED + message: + type: string + description: An error message + minLength: 1 + status: + type: number + description: The status code of the exception + example: 401 + default: 401 + errors: + type: array + items: + $ref: '#/components/schemas/GenericError' + description: A list of related errors + stack: + type: string + description: The stack trace (only in development mode) + required: + - name + - message + - status + GenericError: + type: object + properties: + name: + type: string + description: The error name + minLength: 1 + message: + type: string + description: An error message + minLength: 1 + additionalProperties: true + required: + - name + - message + Forbidden: + type: object + properties: + name: + type: string + description: The error name + minLength: 1 + example: FORBIDDEN + default: FORBIDDEN + message: + type: string + description: An error message + minLength: 1 + status: + type: number + description: The status code of the exception + example: 403 + default: 403 + errors: + type: array + items: + $ref: '#/components/schemas/GenericError' + description: A list of related errors + stack: + type: string + description: The stack trace (only in development mode) + required: + - name + - message + - status + ApiTokenCreation: + type: object + properties: + name: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + format: isNotBlank + required: + - name + - organizationId + - roles + Audit: + type: object + properties: + id: + type: number + userId: + type: string + format: uuid + nullable: true + entityId: + type: string + format: isNotBlank + description: The ID of the entity this audit is attached to + minLength: 1 + entityType: + type: string + enum: + - BOOKING + - RISK + - CLAUSE + - REFERRAL + - CUSTOMER + - OFFER + - POLICY + - ENDORSEMENT + - ORGANIZATION + - USER + - EMAIL_TEMPLATE + format: isNotBlank + description: The type of entity this audit is attached to + minLength: 1 + secondaryEntityId: + type: string + format: uuid + description: >- + A secondary ID of the entity this audit is attached to, for example + policy revision + nullable: true + message: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + required: + - entityId + - entityType + - message + WhereFilter: + type: object + AuditCreation: + type: object + properties: + id: + type: number + userId: + type: string + format: uuid + nullable: true + entityId: + type: string + format: isNotBlank + description: The ID of the entity this audit is attached to + minLength: 1 + entityType: + type: string + enum: + - BOOKING + - RISK + - CLAUSE + - REFERRAL + - CUSTOMER + - OFFER + - POLICY + - ENDORSEMENT + - ORGANIZATION + - USER + - EMAIL_TEMPLATE + format: isNotBlank + description: The type of entity this audit is attached to + minLength: 1 + secondaryEntityId: + type: string + format: uuid + description: >- + A secondary ID of the entity this audit is attached to, for example + policy revision + nullable: true + message: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + required: + - entityId + - entityType + - message + RenderDataResponse: + type: object + properties: + react: + type: string + format: isNotBlank + minLength: 1 + title: + type: string + format: isNotBlank + minLength: 1 + style: + type: string + format: isNotBlank + minLength: 1 + required: + - react + - title + - style + OAuthTokenResponse: + type: object + properties: + token_type: + type: string + format: isNotBlank + minLength: 1 + expires_in: + type: number + access_token: + type: string + format: isNotBlank + minLength: 1 + refresh_token: + type: string + scope: + type: string + required: + - token_type + - access_token + OAuthTokenRequest: + type: object + properties: + grant_type: + type: string + format: isNotBlank + minLength: 1 + client_id: + type: string + client_secret: + type: string + email: + type: string + password: + type: string + refresh_token: + type: string + code: + type: string + redirect_uri: + type: string + code_verifier: + type: string + required: + - grant_type + AccessToken: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + ttl: + type: number + format: isNotBlank + created: + type: string + format: isNotBlank + minLength: 1 + user: + $ref: '#/components/schemas/UserTokenDto' + organizationId: + type: string + organization: + $ref: '#/components/schemas/OrganizationTokenDto' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + bearer: + type: string + scope: + type: array + items: + $ref: '#/components/schemas/AccessScope' + organizationDescendants: + type: array + organizationAncestors: + type: array + organizationInsured: + type: array + roles: + type: array + required: + - id + - ttl + - created + UserTokenDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + role: + type: number + timezone: + type: string + locale: + type: string + dateFormat: + type: string + required: + - id + - name + - email + OrganizationTokenDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + allowConfirm: + type: boolean + allowUserClaim: + type: boolean + allowQuotation: + type: boolean + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + policyId: + type: object + type: + type: number + format: isNotBlank + hideZeroValues: + type: boolean + nullable: true + required: + - id + - hideCosts + - costBreakdown + - name + - type + ABAC: + type: object + properties: + accessScopes: + type: array + items: + $ref: '#/components/schemas/AccessScope' + where: + type: object + restrictions: + type: object + required: + - accessScopes + AccessScope: + type: object + properties: + subject: + type: array + items: + format: isNotBlank + type: string + action: + type: array + items: + format: isNotBlank + type: string + required: + - subject + - action + MfaRequest: + type: object + properties: + mfaCode: + type: string + minLength: 1 + csrf_token: + type: string + minLength: 1 + code: + type: string + minLength: 1 + state: + type: string + minLength: 1 + required: + - mfaCode + - csrf_token + - code + - state + OrganizationDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + taxRulesetId: + type: string + publicUrl: + type: string + address: + type: string + allowPayInvoice: + type: boolean + allowPayCard: + type: boolean + parent: + type: object + required: + - id + - name + - allowQuotation + - type + OrganizationChartDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + children: + type: array + items: + $ref: '#/components/schemas/OrganizationChartDto' + required: + - id + - name + - children + OrganizationDtoSystem: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + policies: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyDto' + taxRulesetId: + type: string + publicUrl: + type: string + address: + type: string + allowPayInvoice: + type: boolean + allowPayCard: + type: boolean + parent: + type: object + required: + - id + - name + - allowQuotation + - type + OrganizationPolicyDto: + type: object + properties: + policyId: + type: string + minLength: 1 + alias: + type: string + id: + type: string + required: + - policyId + OrganizationNameDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + required: + - id + - name + AvailablePolicyDto: + type: object + properties: + policyId: + type: string + minLength: 1 + name: + type: string + minLength: 1 + required: + - policyId + - name + EndorsementDto: + type: object + properties: + id: + type: string + organizationId: + type: string + policyId: + type: string + reference: + type: string + OrganizationFormDto: + type: object + properties: + id: + type: string + format: isNotBlank + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowPayCard: + type: boolean + allowPayInvoice: + type: boolean + allowConfirmationPayCard: + type: boolean + allowConfirmationPayInvoice: + type: boolean + allowedImmediatePaymentTypes: + type: array + items: + type: string + allowConsignee: + type: boolean + allowLetterOfCredit: + type: boolean + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + users: + type: array + items: + $ref: '#/components/schemas/User' + parentId: + type: string + stripeAccountId: + type: string + externalReference: + type: string + referencePrefix: + type: string + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + allowConfirm: + type: boolean + format: isNotBlank + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + lastInvoicedAt: + type: string + invoiceCustomerId: + type: string + billingAddress: + type: string + billingEmail: + type: string + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + format: isNotBlank + contactEmail: + type: string + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + minLength: 1 + hideZeroValues: + type: boolean + requireConfirmation: + type: boolean + format: isNotBlank + street: + type: string + nullable: true + city: + type: string + nullable: true + state: + type: string + postcode: + type: string + nullable: true + country: + type: string + formatted: + type: string + format: isNotBlank + nullable: true + minLength: 1 + taxRulesetId: + type: string + descendants: + type: array + items: + type: string + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + required: + - name + - allowQuotation + - type + - allowReferrals + - allowConfirm + - allowModifyBookingFee + - allowBeneficiary + - allowMultiCommodity + - allowClaims + - requireNotification + - notificationMethod + - hideCosts + - costBreakdown + - requireConfirmation + - formatted + User: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + phone: + type: string + nullable: true + roles: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + organization: + $ref: '#/components/schemas/Organization' + organizationId: + type: string + format: isNotBlank + minLength: 1 + profile: + type: object + nullable: true + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + locale: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + deletedAt: + type: string + mfaType: + type: string + enum: + - OTP + - EMAIL + - SMS + required: + - name + - email + - roles + - organizationId + - dateFormat + - timezone + - locale + RoleMapping: + type: object + properties: + id: + type: string + format: uuid + userId: + type: string + roleId: + type: string + format: isNotBlank + minLength: 1 + role: + $ref: '#/components/schemas/Role' + user: + type: object + required: + - roleId + Role: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + minLength: 1 + description: + type: string + format: simple + nullable: true + minLength: 1 + organizationId: + type: string + format: uuid + nullable: true + mappings: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + clientMappings: + type: array + items: + $ref: '#/components/schemas/ClientRoleMapping' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + data: + type: object + nullable: true + required: + - name + - description + - abac + ClientRoleMapping: + type: object + properties: + id: + type: string + format: uuid + clientId: + type: string + roleId: + type: string + format: isNotBlank + minLength: 1 + role: + $ref: '#/components/schemas/Role' + client: + $ref: '#/components/schemas/OAuthClient' + required: + - roleId + OAuthClient: + type: object + properties: + id: + type: string + name: + type: string + format: isNotBlank + minLength: 1 + redirectUris: + type: object + nullable: true + allowedGrants: + type: array + items: + format: isNotBlank + organizationId: + type: object + roles: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientRoleMapping' + required: + - name + - redirectUris + - allowedGrants + - roles + Organization: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + minLength: 1 + allowedImmediatePaymentTypes: + type: array + items: + type: string + description: >- + A list of payment types that allow immediate booking creation when + usually they would be pending + allowPayInvoice: + type: boolean + description: Allow payment to be taken later by invoice + allowPayCard: + type: boolean + description: Allow payment to be taken by credit card + allowConfirmationPayInvoice: + type: boolean + description: Allow payment to be taken later by invoice on confirmation flow + allowConfirmationPayCard: + type: boolean + description: Allow payment to be taken by credit card on confirmation flow + allowConsignee: + type: boolean + description: Allow consignees to be added during quotation + allowUserClaim: + type: boolean + description: Allow users to access claim form + allowLetterOfCredit: + type: boolean + description: Allow letter of credit information to be added during quotation + parent: + $ref: '#/components/schemas/Organization' + addressId: + type: string + address: + type: object + policies: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicy' + externalReference: + type: string + format: isNotBlank + minLength: 1 + referencePrefix: + type: string + deprecated: true + stripeAccountId: + type: string + type: + type: number + format: isNotBlank + createdAt: + type: string + deletedAt: + type: string + invoiceCustomerId: + type: string + description: Invoice customer id + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + maximum: 1 + minimum: 0 + description: Notification method, 0 for nothing, 1 for email + format: isNotBlank + notificationEmail: + type: string + deprecated: true + billingAddress: + type: string + billingEmail: + type: string + allowConfirm: + type: boolean + format: isNotBlank + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + description: Allow referring of accepted offers + allowQuotation: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + description: UUID of email template used for sending claim by email + claimEmail: + type: string + deprecated: true + description: Email address of claim recipient, give in policy instead + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + taxRulesetId: + type: string + description: The ruleset of taxes applied to this organization + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + description: Hide the cost breakdown in the customer & TI views + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + minLength: 1 + hideZeroValues: + type: boolean + description: Hides zero values + requireConfirmation: + type: boolean + description: >- + Dictates should the end customer be directed to the confirmation + flow + format: isNotBlank + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + description: A list of address types shown in client/public portal + contactEmail: + type: string + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + required: + - name + - policies + - externalReference + - type + - requireNotification + - notificationMethod + - allowConfirm + - allowReferrals + - allowQuotation + - allowClaims + - allowModifyBookingFee + - allowBeneficiary + - allowMultiCommodity + - hideCosts + - costBreakdown + - requireConfirmation + - enforceTrackingCode + OrganizationPolicy: + type: object + properties: + id: + type: string + format: uuid + organizationId: + type: string + format: isNotBlank + minLength: 1 + policyId: + type: string + format: isNotBlank + minLength: 1 + alias: + type: string + format: isNotBlank + minLength: 1 + bookingFee: + type: number + minimum: 0 + format: isNotBlank + bookingFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + description: Booking Fee type, PERCENT or FLAT_FEE + format: isNotBlank + minLength: 1 + technologyFee: + type: number + minimum: 0 + format: isNotBlank + technologyFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + description: Technology Fee type, PERCENT or FLAT_FEE + format: isNotBlank + minLength: 1 + required: + - organizationId + - policyId + - alias + - bookingFee + - bookingFeeType + - technologyFee + - technologyFeeType + AdditionalFieldString: + type: object + properties: + id: + type: string + minLength: 1 + type: + type: string + enum: + - string + minLength: 1 + mandatory: + type: boolean + required: + - id + - type + - mandatory + AdditionalFieldEnum: + type: object + properties: + id: + type: string + minLength: 1 + type: + type: string + enum: + - enum + minLength: 1 + mandatory: + type: boolean + data: + $ref: '#/components/schemas/EnumDataType' + required: + - id + - type + - mandatory + - data + EnumDataType: + type: object + properties: + options: + type: array + items: + type: string + required: + - options + OrganizationFormDtoCreation: + type: object + properties: + id: + type: string + format: isNotBlank + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowPayCard: + type: boolean + allowPayInvoice: + type: boolean + allowConfirmationPayCard: + type: boolean + allowConfirmationPayInvoice: + type: boolean + allowedImmediatePaymentTypes: + type: array + items: + type: string + allowConsignee: + type: boolean + allowLetterOfCredit: + type: boolean + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + users: + type: array + items: + $ref: '#/components/schemas/User' + parentId: + type: string + stripeAccountId: + type: string + externalReference: + type: string + referencePrefix: + type: string + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + allowConfirm: + type: boolean + format: isNotBlank + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + lastInvoicedAt: + type: string + invoiceCustomerId: + type: string + billingAddress: + type: string + billingEmail: + type: string + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + format: isNotBlank + contactEmail: + type: string + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + minLength: 1 + hideZeroValues: + type: boolean + requireConfirmation: + type: boolean + format: isNotBlank + street: + type: string + nullable: true + city: + type: string + nullable: true + state: + type: string + postcode: + type: string + nullable: true + country: + type: string + formatted: + type: string + format: isNotBlank + nullable: true + minLength: 1 + taxRulesetId: + type: string + descendants: + type: array + items: + type: string + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + required: + - name + - allowQuotation + - type + - allowReferrals + - allowConfirm + - allowModifyBookingFee + - allowBeneficiary + - allowMultiCommodity + - allowClaims + - requireNotification + - notificationMethod + - hideCosts + - costBreakdown + - requireConfirmation + - formatted + OrganizationFormDtoUpdate: + type: object + properties: + id: + type: string + format: isNotBlank + name: + type: string + format: isNotBlank + allowQuotation: + type: boolean + format: isNotBlank + allowPayCard: + type: boolean + allowPayInvoice: + type: boolean + allowConfirmationPayCard: + type: boolean + allowConfirmationPayInvoice: + type: boolean + allowedImmediatePaymentTypes: + type: array + items: + type: string + allowConsignee: + type: boolean + allowLetterOfCredit: + type: boolean + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + users: + type: array + items: + $ref: '#/components/schemas/User' + parentId: + type: string + stripeAccountId: + type: string + externalReference: + type: string + referencePrefix: + type: string + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + allowConfirm: + type: boolean + format: isNotBlank + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + lastInvoicedAt: + type: string + invoiceCustomerId: + type: string + billingAddress: + type: string + billingEmail: + type: string + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + format: isNotBlank + contactEmail: + type: string + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + hideZeroValues: + type: boolean + requireConfirmation: + type: boolean + format: isNotBlank + street: + type: string + nullable: true + city: + type: string + nullable: true + state: + type: string + postcode: + type: string + nullable: true + country: + type: string + formatted: + type: string + format: isNotBlank + nullable: true + taxRulesetId: + type: string + descendants: + type: array + items: + type: string + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + PublicSetupResponse: + type: object + properties: + locale: + type: string + nullable: true + dateFormat: + type: string + nullable: true + allowQuotation: + type: boolean + OrganizationInsurersDto: + type: object + properties: + id: + type: string + minLength: 1 + name: + type: string + minLength: 1 + insurers: + type: array + items: + $ref: '#/components/schemas/OrganizationNameDto' + required: + - id + - name + - insurers + OrganizationPolicyFormDto: + type: object + properties: + policyId: + type: string + minLength: 1 + alias: + type: string + id: + type: string + bookingFee: + type: number + bookingFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + technologyFee: + type: number + technologyFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + required: + - policyId + RoleCreation: + type: object + properties: + name: + type: string + format: isNotBlank + minLength: 1 + description: + type: string + format: simple + nullable: true + minLength: 1 + organizationId: + type: string + format: uuid + nullable: true + mappings: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + clientMappings: + type: array + items: + $ref: '#/components/schemas/ClientRoleMapping' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + data: + type: object + nullable: true + required: + - name + - description + - abac + DeletedEntity: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + required: + - id + RoleUpdate: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + description: + type: string + format: simple + nullable: true + organizationId: + type: string + format: uuid + nullable: true + mappings: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + clientMappings: + type: array + items: + $ref: '#/components/schemas/ClientRoleMapping' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + data: + type: object + nullable: true + Status: + type: object + properties: + statusMsg: + type: string + minLength: 1 + required: + - statusMsg + UserDto: + type: object + properties: + id: + type: string + format: uuid + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + organization: + type: string + required: + - id + - name + UserCreationCreation: + type: object + properties: + id: + type: string + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + format: isNotBlank + organization: + $ref: '#/components/schemas/Organization' + organizationId: + type: string + profile: + type: object + nullable: true + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + locale: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + deletedAt: + type: string + required: + - name + - email + - roles + - dateFormat + - timezone + - locale + GenerateSecretResponse: + type: object + properties: + secret: + type: string + format: isNotBlank + minLength: 1 + required: + - secret + UserFormDto: + type: object + properties: + id: + type: string + format: uuid + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + organization: + type: string + organizationId: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + $ref: '#/components/schemas/RoleResponse' + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + locale: + type: string + format: isNotBlank + minLength: 1 + required: + - id + - name + - email + - organizationId + - roles + - dateFormat + - timezone + - locale + RoleResponse: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + required: + - id + - name + UserProfileUpdate: + type: object + properties: + id: + type: string + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + password: + type: string + oldPassword: + type: string + mfaType: + type: string + enum: + - OTP + - EMAIL + - SMS + phone: + type: string + mfaCode: + type: string + required: + - name + - email + - dateFormat + - timezone + UserUpdate: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + email: + type: string + format: isNotBlank + roles: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + organization: + $ref: '#/components/schemas/Organization' + organizationId: + type: string + format: isNotBlank + profile: + type: object + nullable: true + dateFormat: + type: string + format: isNotBlank + timezone: + type: string + format: isNotBlank + locale: + type: string + format: isNotBlank + createdAt: + type: string + deletedAt: + type: string + ChangePassword: + type: object + properties: + password: + type: string + MfaVerificationRequest: + type: object + properties: + mfaCode: + type: string + minLength: 1 + userId: + type: string + minLength: 1 + required: + - mfaCode + - userId +paths: + /api/v2/user/api-tokens: + post: + operationId: api-tokensCreateApiToken + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ApiToken' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/ApiTokenCreation' + tags: + - ApiTokenController + /api/v2/user/api-tokens/{id}: + delete: + operationId: api-tokensDeleteApiToken + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - ApiTokenController + /api/v2/user/audits: + get: + operationId: auditsFetch + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Audit' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Audit' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Fetches audits in batches set by perPage (default 20). Should be used + mainly from UI. + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - AuditController + post: + operationId: auditsCreate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Audit' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/AuditCreation' + tags: + - AuditController + /api/v2/user/oauth/authorize: + get: + operationId: oauthAuthorize + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RenderDataResponse' + '*/*': + schema: + type: object + description: Success + headers: + Cache-Control: + example: no-store + schema: + type: string + Pragma: + example: no-cache + schema: + type: string + parameters: + - in: query + required: true + name: response_type + schema: + type: string + format: isNotBlank + minLength: 1 + - in: query + required: true + name: client_id + schema: + type: string + format: isNotBlank + minLength: 1 + - in: query + required: false + name: redirect_uri + schema: + type: string + - in: query + required: false + name: scope + schema: + type: string + - in: query + required: false + name: state + schema: + type: string + - in: query + required: false + name: code_challenge + schema: + type: string + - in: query + required: false + name: code_challenge_method + schema: + type: string + - in: query + required: false + name: error_code + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/forgotten: + get: + operationId: oauthForgotten + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RenderDataResponse' + '*/*': + schema: + type: object + description: Success + headers: + Cache-Control: + example: no-store + schema: + type: string + Pragma: + example: no-cache + schema: + type: string + parameters: + - in: query + name: code + required: false + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/auth/login: + post: + operationId: oauthLogin + responses: + '200': + description: Success + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + type: object + tags: + - Authentications + /api/v2/user/oauth/auth/reset: + post: + operationId: oauthResetRequest + responses: + '200': + description: Success + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + type: object + tags: + - Authentications + /api/v2/user/oauth/token: + post: + operationId: oauthAccessTokenRequest + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthTokenResponse' + description: Success + headers: + Cache-Control: + example: no-store + schema: + type: string + Pragma: + example: no-cache + schema: + type: string + parameters: + - in: header + name: authorization + required: false + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthTokenRequest' + tags: + - Authentications + /api/v2/user/oauth/exchange: + get: + operationId: oauthExchange + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AccessToken' + description: Success + parameters: + - in: header + name: authorization + required: false + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/logout: + post: + operationId: oauthLogout + responses: + '200': + description: Success + parameters: + - in: header + name: authorization + required: false + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/mfa: + get: + operationId: oauthMfaForm + responses: + '200': + description: Success + parameters: + - in: query + name: code + required: false + schema: + type: string + - in: query + name: csrf_token + required: false + schema: + type: string + - in: query + name: state + required: false + schema: + type: string + - in: query + name: error + required: false + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/check-mfa-code: + post: + operationId: oauthCheckMfaCode + responses: + '200': + content: + '*/*': + schema: + type: object + description: Success + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/MfaRequest' + tags: + - Authentications + /api/v2/user/organizations: + get: + operationId: organizationsFetch + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/OrganizationDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/OrganizationDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Fetches organizations in batches set by perPage (default 20). Should be + used mainly from UI. + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - OrganizationController + post: + operationId: organizationsCreate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDtoCreation' + tags: + - OrganizationController + /api/v2/user/organizations/chart: + get: + operationId: organizationsFetchChart + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationChartDto' + description: Success + '206': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationChartDto' + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Fetches organization hierarchy chart + security: + - bearerAuth: [] + parameters: [] + tags: + - OrganizationController + /api/v2/user/organizations/find: + get: + operationId: organizationsFetchAll + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: skip + schema: + type: number + - in: query + required: false + name: take + schema: + type: number + - in: query + required: false + name: relations + schema: + type: array + items: + type: string + - in: query + required: false + name: order + schema: + type: object + - in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + - in: query + required: false + name: select + schema: + type: object + tags: + - OrganizationController + /api/v2/user/organizations/find/ids: + get: + operationId: organizationsFindByIds + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationDtoSystem' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: query + name: ids + required: false + schema: + type: array + items: + type: string + - required: false + in: query + name: select + schema: + type: object + tags: + - OrganizationController + /api/v2/user/organizations/list: + get: + operationId: organizationsListAll + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationNameDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: skip + schema: + type: number + - in: query + required: false + name: take + schema: + type: number + - in: query + required: false + name: relations + schema: + type: array + items: + type: string + - in: query + required: false + name: order + schema: + type: object + - in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + - in: query + required: false + name: select + schema: + type: object + tags: + - OrganizationController + /api/v2/user/organizations/available-policies: + get: + operationId: organizationsGetAvailablePolicies + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AvailablePolicyDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Returns a list of policies that can be assigned to organization of the + user + security: + - bearerAuth: [] + parameters: [] + tags: + - OrganizationController + /api/v2/user/organizations/{id}/endorsements: + get: + operationId: organizationsFetchEndorsements + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/EndorsementDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/EndorsementDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - OrganizationController + /api/v2/user/organizations/{id}: + get: + operationId: organizationsGet + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Organization' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + patch: + operationId: organizationsUpdate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDtoUpdate' + tags: + - OrganizationController + delete: + operationId: organizationsSoftDelete + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/stripe-account: + get: + operationId: organizationsGetStripeAccount + responses: + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/closure-values: + get: + operationId: organizationsGetValuesFromTree + responses: + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + type: array + items: + nullable: true + oneOf: + - type: integer + - type: number + - type: string + - type: boolean + - type: array + - type: object + tags: + - OrganizationController + /api/v2/user/organizations/{id}/policies: + get: + operationId: organizationsFetchOrganizationPolicies + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: [] + description: Returns the assigned policies of a requested organization + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/details: + get: + operationId: organizationsGetWithDetails + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Returns detailed information for an organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/api-tokens: + get: + operationId: organizationsFetchApiTokens + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ApiToken' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ApiToken' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - OrganizationController + /api/v2/user/organizations/{id}/setup: + get: + operationId: organizationsGetPublicSetup + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PublicSetupResponse' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/descendantIds: + get: + operationId: organizationsGetDescendantIds + responses: + '200': + content: + application/json: + schema: + type: array + items: + type: string + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/name: + get: + operationId: organizationsGetName + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationNameDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/insurers: + get: + operationId: organizationsFetchInsurers + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationNameDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Returns list of insurers assigned for requested organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + post: + operationId: organizationsUpdateInsurers + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationInsurersDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Update list of insurers assigned for organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + properties: + insurerIds: + type: array + items: + type: string + format: uuid + type: object + required: + - insurerIds + tags: + - OrganizationController + /api/v2/user/organizations/{id}/assigned-policies: + get: + operationId: organizationsFetchAssignedPolicies + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Returns the assigned policies of a requested organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + post: + operationId: organizationsAssignPolicies + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Assign policies for requested organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + properties: + policies: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyFormDto' + type: object + required: + - policies + tags: + - OrganizationController + /api/v2/user/organizations/organization-policies/{id}: + get: + operationId: organizationsGetOrganizationPolicy + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationPolicy' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationPolicyController + /api/v2/user/organizations/organization-policies/{policyId}: + delete: + operationId: organizationsRemovePolicy + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: policyId + required: true + schema: + type: string + tags: + - OrganizationPolicyController + /api/v2/user/roles: + get: + operationId: rolesFetch + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Role' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Role' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Fetches roles in batches set by perPage (default 20). Should be used + mainly from UI. + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - RoleController + post: + operationId: rolesCreate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/RoleCreation' + tags: + - RoleController + /api/v2/user/roles/{id}: + get: + operationId: rolesGet + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - RoleController + delete: + operationId: rolesDelete + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeletedEntity' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - RoleController + patch: + operationId: rolesUpdate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/RoleUpdate' + tags: + - RoleController + /api/v2/user/status: + get: + operationId: statusCheckUserServiceStatus + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: [] + parameters: [] + tags: + - StatusController + /api/v2/user/users: + get: + operationId: usersFetch + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/UserDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/UserDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Fetches users in batches set by perPage (default 20). Should be used + mainly from UI. + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - UserController + post: + operationId: usersCreate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreationCreation' + tags: + - UserController + /api/v2/user/users/find: + get: + operationId: usersFetchAll + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: skip + schema: + type: number + - in: query + required: false + name: take + schema: + type: number + - in: query + required: false + name: relations + schema: + type: array + items: + type: string + - in: query + required: false + name: order + schema: + type: object + - in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + - in: query + required: false + name: select + schema: + type: object + tags: + - UserController + /api/v2/user/users/generate-otp-secret: + get: + operationId: usersGenerateOtpSecret + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GenerateSecretResponse' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + tags: + - UserController + /api/v2/user/users/{id}: + get: + operationId: usersGetById + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + delete: + operationId: usersSoftDelete + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + patch: + operationId: usersUpdate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserUpdate' + tags: + - UserController + /api/v2/user/users/{id}/profile: + get: + operationId: usersProfile + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Success + '206': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + patch: + operationId: usersUpdateProfile + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileUpdate' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileUpdate' + tags: + - UserController + /api/v2/user/users/setup-otp: + post: + operationId: usersSetupOtp + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileUpdate' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + properties: + mfaSecret: + type: string + type: object + tags: + - UserController + /api/v2/user/users/{id}/roles: + get: + operationId: usersGetRoles + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RoleResponse' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + /api/v2/user/users/password: + post: + operationId: usersChangePassword + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + properties: + oldpassword: + type: string + newpassword: + type: string + type: object + tags: + - UserController + /api/v2/user/users/reset-password: + post: + operationId: usersResetPassword + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/ChangePassword' + tags: + - UserController + /api/v2/user/users/{id}/reset-password: + post: + operationId: usersResetPasswordById + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + /api/v2/user/users/generate-mfa-code: + post: + operationId: usersGenerateMfaCode + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + properties: + userId: + type: string + type: object + tags: + - UserController + /api/v2/user/users/reset-mfa-type: + post: + operationId: usersResetMfaType + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/MfaVerificationRequest' + tags: + - UserController +tags: + - name: ApiTokenController + - name: AuditController + - name: Authentications + - name: OrganizationController + - name: OrganizationPolicyController + - name: RoleController + - name: StatusController + - name: UserController +servers: + - url: https://sales.app.redkik.com/api/v2/ diff --git a/sdks/db/fixed-specs-cache/redkik-fixed-spec.yaml b/sdks/db/fixed-specs-cache/redkik-fixed-spec.yaml new file mode 100644 index 0000000000..839377c21d --- /dev/null +++ b/sdks/db/fixed-specs-cache/redkik-fixed-spec.yaml @@ -0,0 +1,4527 @@ +publishJson: + company: Redkik + serviceName: false + sdkName: redkik-{language}-sdk + clientName: Redkik + metaDescription: "Redkik is a global InsurTech company with the mission to transform and improve the insurance industry for all parties within logistics and transportation. Redkik's innovative software eliminates the need for annual and complex insurance policies. Through Redkik's embedded integration with licensed insurance providers, existing platforms and online systems can offer their customers tailored and transactional insurance at the time of sale.\n\nStarting as a cargo insurance solution, the market's immediate response has since molded the flexible software to be used to solve additional inefficiencies for warehouse, gap, spike and cyber insurance while multiple other applications are currently being developed.\n\nThe team of Redkik\_has a big passion for innovation and technology,\_ together with great experience and deep knowledge from logistics and transportation, risk management, cargo insurance, machine learning, and software development.\n\nJoin Redkik's rapidly growing network of global partners and exceed your business goals by offering transactional insurance through Redkik's seamless API integration." + apiStatusUrls: inherit + homepage: redkik.com/ + developerDocumentation: sales.app.redkik.com/api/v2/apidoc/?urls.primaryName=UserService + categories: + - risk_management + - insurance + - cargo +rawSpecString: | + openapi: 3.0.3 + info: + version: 2.0.0 + title: userservice + components: + securitySchemes: + bearerAuth: + type: http + scheme: bearer + bearerFormat: JWT + schemas: + ApiToken: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + format: isNotBlank + secret: + type: string + nullable: true + required: + - id + - name + - organizationId + - roles + Unauthorized: + type: object + properties: + name: + type: string + description: The error name + minLength: 1 + example: UNAUTHORIZED + default: UNAUTHORIZED + message: + type: string + description: An error message + minLength: 1 + status: + type: number + description: The status code of the exception + example: 401 + default: 401 + errors: + type: array + items: + $ref: '#/components/schemas/GenericError' + description: A list of related errors + stack: + type: string + description: The stack trace (only in development mode) + required: + - name + - message + - status + GenericError: + type: object + properties: + name: + type: string + description: The error name + minLength: 1 + message: + type: string + description: An error message + minLength: 1 + additionalProperties: true + required: + - name + - message + Forbidden: + type: object + properties: + name: + type: string + description: The error name + minLength: 1 + example: FORBIDDEN + default: FORBIDDEN + message: + type: string + description: An error message + minLength: 1 + status: + type: number + description: The status code of the exception + example: 403 + default: 403 + errors: + type: array + items: + $ref: '#/components/schemas/GenericError' + description: A list of related errors + stack: + type: string + description: The stack trace (only in development mode) + required: + - name + - message + - status + ApiTokenCreation: + type: object + properties: + name: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + format: isNotBlank + required: + - name + - organizationId + - roles + Audit: + type: object + properties: + id: + type: number + userId: + type: string + format: uuid + nullable: true + entityId: + type: string + format: isNotBlank + description: The ID of the entity this audit is attached to + minLength: 1 + entityType: + type: string + enum: + - BOOKING + - RISK + - CLAUSE + - REFERRAL + - CUSTOMER + - OFFER + - POLICY + - ENDORSEMENT + - ORGANIZATION + - USER + - EMAIL_TEMPLATE + format: isNotBlank + description: The type of entity this audit is attached to + minLength: 1 + secondaryEntityId: + type: string + format: uuid + description: >- + A secondary ID of the entity this audit is attached to, for example + policy revision + nullable: true + message: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + required: + - entityId + - entityType + - message + WhereFilter: + type: object + AuditCreation: + type: object + properties: + id: + type: number + userId: + type: string + format: uuid + nullable: true + entityId: + type: string + format: isNotBlank + description: The ID of the entity this audit is attached to + minLength: 1 + entityType: + type: string + enum: + - BOOKING + - RISK + - CLAUSE + - REFERRAL + - CUSTOMER + - OFFER + - POLICY + - ENDORSEMENT + - ORGANIZATION + - USER + - EMAIL_TEMPLATE + format: isNotBlank + description: The type of entity this audit is attached to + minLength: 1 + secondaryEntityId: + type: string + format: uuid + description: >- + A secondary ID of the entity this audit is attached to, for example + policy revision + nullable: true + message: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + required: + - entityId + - entityType + - message + RenderDataResponse: + type: object + properties: + react: + type: string + format: isNotBlank + minLength: 1 + title: + type: string + format: isNotBlank + minLength: 1 + style: + type: string + format: isNotBlank + minLength: 1 + required: + - react + - title + - style + OAuthTokenResponse: + type: object + properties: + token_type: + type: string + format: isNotBlank + minLength: 1 + expires_in: + type: number + access_token: + type: string + format: isNotBlank + minLength: 1 + refresh_token: + type: string + scope: + type: string + required: + - token_type + - access_token + OAuthTokenRequest: + type: object + properties: + grant_type: + type: string + format: isNotBlank + minLength: 1 + client_id: + type: string + client_secret: + type: string + email: + type: string + password: + type: string + refresh_token: + type: string + code: + type: string + redirect_uri: + type: string + code_verifier: + type: string + required: + - grant_type + AccessToken: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + ttl: + type: number + format: isNotBlank + created: + type: string + format: isNotBlank + minLength: 1 + user: + $ref: '#/components/schemas/UserTokenDto' + organizationId: + type: string + organization: + $ref: '#/components/schemas/OrganizationTokenDto' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + bearer: + type: string + scope: + type: array + items: + $ref: '#/components/schemas/AccessScope' + organizationDescendants: + type: array + organizationAncestors: + type: array + organizationInsured: + type: array + roles: + type: array + required: + - id + - ttl + - created + UserTokenDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + role: + type: number + timezone: + type: string + locale: + type: string + dateFormat: + type: string + required: + - id + - name + - email + OrganizationTokenDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + allowConfirm: + type: boolean + allowUserClaim: + type: boolean + allowQuotation: + type: boolean + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + policyId: + type: object + type: + type: number + format: isNotBlank + hideZeroValues: + type: boolean + nullable: true + required: + - id + - hideCosts + - costBreakdown + - name + - type + ABAC: + type: object + properties: + accessScopes: + type: array + items: + $ref: '#/components/schemas/AccessScope' + where: + type: object + restrictions: + type: object + required: + - accessScopes + AccessScope: + type: object + properties: + subject: + type: array + items: + format: isNotBlank + type: string + action: + type: array + items: + format: isNotBlank + type: string + required: + - subject + - action + MfaRequest: + type: object + properties: + mfaCode: + type: string + minLength: 1 + csrf_token: + type: string + minLength: 1 + code: + type: string + minLength: 1 + state: + type: string + minLength: 1 + required: + - mfaCode + - csrf_token + - code + - state + OrganizationDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + taxRulesetId: + type: string + publicUrl: + type: string + address: + type: string + allowPayInvoice: + type: boolean + allowPayCard: + type: boolean + parent: + type: object + required: + - id + - name + - allowQuotation + - type + OrganizationChartDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + children: + type: array + items: + $ref: '#/components/schemas/OrganizationChartDto' + required: + - id + - name + - children + OrganizationDtoSystem: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + policies: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyDto' + taxRulesetId: + type: string + publicUrl: + type: string + address: + type: string + allowPayInvoice: + type: boolean + allowPayCard: + type: boolean + parent: + type: object + required: + - id + - name + - allowQuotation + - type + OrganizationPolicyDto: + type: object + properties: + policyId: + type: string + minLength: 1 + alias: + type: string + id: + type: string + required: + - policyId + OrganizationNameDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + required: + - id + - name + AvailablePolicyDto: + type: object + properties: + policyId: + type: string + minLength: 1 + name: + type: string + minLength: 1 + required: + - policyId + - name + EndorsementDto: + type: object + properties: + id: + type: string + organizationId: + type: string + policyId: + type: string + reference: + type: string + OrganizationFormDto: + type: object + properties: + id: + type: string + format: isNotBlank + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowPayCard: + type: boolean + allowPayInvoice: + type: boolean + allowConfirmationPayCard: + type: boolean + allowConfirmationPayInvoice: + type: boolean + allowedImmediatePaymentTypes: + type: array + items: + type: string + allowConsignee: + type: boolean + allowLetterOfCredit: + type: boolean + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + users: + type: array + items: + $ref: '#/components/schemas/User' + parentId: + type: string + stripeAccountId: + type: string + externalReference: + type: string + referencePrefix: + type: string + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + allowConfirm: + type: boolean + format: isNotBlank + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + lastInvoicedAt: + type: string + invoiceCustomerId: + type: string + billingAddress: + type: string + billingEmail: + type: string + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + format: isNotBlank + contactEmail: + type: string + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + minLength: 1 + hideZeroValues: + type: boolean + requireConfirmation: + type: boolean + format: isNotBlank + street: + type: string + nullable: true + city: + type: string + nullable: true + state: + type: string + postcode: + type: string + nullable: true + country: + type: string + formatted: + type: string + format: isNotBlank + nullable: true + minLength: 1 + taxRulesetId: + type: string + descendants: + type: array + items: + type: string + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + required: + - name + - allowQuotation + - type + - allowReferrals + - allowConfirm + - allowModifyBookingFee + - allowBeneficiary + - allowMultiCommodity + - allowClaims + - requireNotification + - notificationMethod + - hideCosts + - costBreakdown + - requireConfirmation + - formatted + User: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + phone: + type: string + nullable: true + roles: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + organization: + $ref: '#/components/schemas/Organization' + organizationId: + type: string + format: isNotBlank + minLength: 1 + profile: + type: object + nullable: true + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + locale: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + deletedAt: + type: string + mfaType: + type: string + enum: + - OTP + - EMAIL + - SMS + required: + - name + - email + - roles + - organizationId + - dateFormat + - timezone + - locale + RoleMapping: + type: object + properties: + id: + type: string + format: uuid + userId: + type: string + roleId: + type: string + format: isNotBlank + minLength: 1 + role: + $ref: '#/components/schemas/Role' + user: + type: object + required: + - roleId + Role: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + minLength: 1 + description: + type: string + format: simple + nullable: true + minLength: 1 + organizationId: + type: string + format: uuid + nullable: true + mappings: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + clientMappings: + type: array + items: + $ref: '#/components/schemas/ClientRoleMapping' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + data: + type: object + nullable: true + required: + - name + - description + - abac + ClientRoleMapping: + type: object + properties: + id: + type: string + format: uuid + clientId: + type: string + roleId: + type: string + format: isNotBlank + minLength: 1 + role: + $ref: '#/components/schemas/Role' + client: + $ref: '#/components/schemas/OAuthClient' + required: + - roleId + OAuthClient: + type: object + properties: + id: + type: string + name: + type: string + format: isNotBlank + minLength: 1 + redirectUris: + type: object + nullable: true + allowedGrants: + type: array + items: + format: isNotBlank + organizationId: + type: object + roles: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientRoleMapping' + required: + - name + - redirectUris + - allowedGrants + - roles + Organization: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + minLength: 1 + allowedImmediatePaymentTypes: + type: array + items: + type: string + description: >- + A list of payment types that allow immediate booking creation when + usually they would be pending + allowPayInvoice: + type: boolean + description: Allow payment to be taken later by invoice + allowPayCard: + type: boolean + description: Allow payment to be taken by credit card + allowConfirmationPayInvoice: + type: boolean + description: Allow payment to be taken later by invoice on confirmation flow + allowConfirmationPayCard: + type: boolean + description: Allow payment to be taken by credit card on confirmation flow + allowConsignee: + type: boolean + description: Allow consignees to be added during quotation + allowUserClaim: + type: boolean + description: Allow users to access claim form + allowLetterOfCredit: + type: boolean + description: Allow letter of credit information to be added during quotation + parent: + $ref: '#/components/schemas/Organization' + addressId: + type: string + address: + type: object + policies: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicy' + externalReference: + type: string + format: isNotBlank + minLength: 1 + referencePrefix: + type: string + deprecated: true + stripeAccountId: + type: string + type: + type: number + format: isNotBlank + createdAt: + type: string + deletedAt: + type: string + invoiceCustomerId: + type: string + description: Invoice customer id + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + maximum: 1 + minimum: 0 + description: Notification method, 0 for nothing, 1 for email + format: isNotBlank + notificationEmail: + type: string + deprecated: true + billingAddress: + type: string + billingEmail: + type: string + allowConfirm: + type: boolean + format: isNotBlank + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + description: Allow referring of accepted offers + allowQuotation: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + description: UUID of email template used for sending claim by email + claimEmail: + type: string + deprecated: true + description: Email address of claim recipient, give in policy instead + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + taxRulesetId: + type: string + description: The ruleset of taxes applied to this organization + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + description: Hide the cost breakdown in the customer & TI views + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + minLength: 1 + hideZeroValues: + type: boolean + description: Hides zero values + requireConfirmation: + type: boolean + description: >- + Dictates should the end customer be directed to the confirmation + flow + format: isNotBlank + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + description: A list of address types shown in client/public portal + contactEmail: + type: string + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + required: + - name + - policies + - externalReference + - type + - requireNotification + - notificationMethod + - allowConfirm + - allowReferrals + - allowQuotation + - allowClaims + - allowModifyBookingFee + - allowBeneficiary + - allowMultiCommodity + - hideCosts + - costBreakdown + - requireConfirmation + - enforceTrackingCode + OrganizationPolicy: + type: object + properties: + id: + type: string + format: uuid + organizationId: + type: string + format: isNotBlank + minLength: 1 + policyId: + type: string + format: isNotBlank + minLength: 1 + alias: + type: string + format: isNotBlank + minLength: 1 + bookingFee: + type: number + minimum: 0 + format: isNotBlank + bookingFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + description: Booking Fee type, PERCENT or FLAT_FEE + format: isNotBlank + minLength: 1 + technologyFee: + type: number + minimum: 0 + format: isNotBlank + technologyFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + description: Technology Fee type, PERCENT or FLAT_FEE + format: isNotBlank + minLength: 1 + required: + - organizationId + - policyId + - alias + - bookingFee + - bookingFeeType + - technologyFee + - technologyFeeType + AdditionalFieldString: + type: object + properties: + id: + type: string + minLength: 1 + type: + type: string + enum: + - string + minLength: 1 + mandatory: + type: boolean + required: + - id + - type + - mandatory + AdditionalFieldEnum: + type: object + properties: + id: + type: string + minLength: 1 + type: + type: string + enum: + - enum + minLength: 1 + mandatory: + type: boolean + data: + $ref: '#/components/schemas/EnumDataType' + required: + - id + - type + - mandatory + - data + EnumDataType: + type: object + properties: + options: + type: array + items: + type: string + required: + - options + OrganizationFormDtoCreation: + type: object + properties: + id: + type: string + format: isNotBlank + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowPayCard: + type: boolean + allowPayInvoice: + type: boolean + allowConfirmationPayCard: + type: boolean + allowConfirmationPayInvoice: + type: boolean + allowedImmediatePaymentTypes: + type: array + items: + type: string + allowConsignee: + type: boolean + allowLetterOfCredit: + type: boolean + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + users: + type: array + items: + $ref: '#/components/schemas/User' + parentId: + type: string + stripeAccountId: + type: string + externalReference: + type: string + referencePrefix: + type: string + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + allowConfirm: + type: boolean + format: isNotBlank + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + lastInvoicedAt: + type: string + invoiceCustomerId: + type: string + billingAddress: + type: string + billingEmail: + type: string + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + format: isNotBlank + contactEmail: + type: string + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + minLength: 1 + hideZeroValues: + type: boolean + requireConfirmation: + type: boolean + format: isNotBlank + street: + type: string + nullable: true + city: + type: string + nullable: true + state: + type: string + postcode: + type: string + nullable: true + country: + type: string + formatted: + type: string + format: isNotBlank + nullable: true + minLength: 1 + taxRulesetId: + type: string + descendants: + type: array + items: + type: string + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + required: + - name + - allowQuotation + - type + - allowReferrals + - allowConfirm + - allowModifyBookingFee + - allowBeneficiary + - allowMultiCommodity + - allowClaims + - requireNotification + - notificationMethod + - hideCosts + - costBreakdown + - requireConfirmation + - formatted + OrganizationFormDtoUpdate: + type: object + properties: + id: + type: string + format: isNotBlank + name: + type: string + format: isNotBlank + allowQuotation: + type: boolean + format: isNotBlank + allowPayCard: + type: boolean + allowPayInvoice: + type: boolean + allowConfirmationPayCard: + type: boolean + allowConfirmationPayInvoice: + type: boolean + allowedImmediatePaymentTypes: + type: array + items: + type: string + allowConsignee: + type: boolean + allowLetterOfCredit: + type: boolean + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + users: + type: array + items: + $ref: '#/components/schemas/User' + parentId: + type: string + stripeAccountId: + type: string + externalReference: + type: string + referencePrefix: + type: string + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + allowConfirm: + type: boolean + format: isNotBlank + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + lastInvoicedAt: + type: string + invoiceCustomerId: + type: string + billingAddress: + type: string + billingEmail: + type: string + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + format: isNotBlank + contactEmail: + type: string + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + hideZeroValues: + type: boolean + requireConfirmation: + type: boolean + format: isNotBlank + street: + type: string + nullable: true + city: + type: string + nullable: true + state: + type: string + postcode: + type: string + nullable: true + country: + type: string + formatted: + type: string + format: isNotBlank + nullable: true + taxRulesetId: + type: string + descendants: + type: array + items: + type: string + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + PublicSetupResponse: + type: object + properties: + locale: + type: string + nullable: true + dateFormat: + type: string + nullable: true + allowQuotation: + type: boolean + OrganizationInsurersDto: + type: object + properties: + id: + type: string + minLength: 1 + name: + type: string + minLength: 1 + insurers: + type: array + items: + $ref: '#/components/schemas/OrganizationNameDto' + required: + - id + - name + - insurers + OrganizationPolicyFormDto: + type: object + properties: + policyId: + type: string + minLength: 1 + alias: + type: string + id: + type: string + bookingFee: + type: number + bookingFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + technologyFee: + type: number + technologyFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + required: + - policyId + RoleCreation: + type: object + properties: + name: + type: string + format: isNotBlank + minLength: 1 + description: + type: string + format: simple + nullable: true + minLength: 1 + organizationId: + type: string + format: uuid + nullable: true + mappings: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + clientMappings: + type: array + items: + $ref: '#/components/schemas/ClientRoleMapping' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + data: + type: object + nullable: true + required: + - name + - description + - abac + DeletedEntity: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + required: + - id + RoleUpdate: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + description: + type: string + format: simple + nullable: true + organizationId: + type: string + format: uuid + nullable: true + mappings: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + clientMappings: + type: array + items: + $ref: '#/components/schemas/ClientRoleMapping' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + data: + type: object + nullable: true + Status: + type: object + properties: + statusMsg: + type: string + minLength: 1 + required: + - statusMsg + UserDto: + type: object + properties: + id: + type: string + format: uuid + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + organization: + type: string + required: + - id + - name + UserCreationCreation: + type: object + properties: + id: + type: string + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + format: isNotBlank + organization: + $ref: '#/components/schemas/Organization' + organizationId: + type: string + profile: + type: object + nullable: true + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + locale: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + deletedAt: + type: string + required: + - name + - email + - roles + - dateFormat + - timezone + - locale + GenerateSecretResponse: + type: object + properties: + secret: + type: string + format: isNotBlank + minLength: 1 + required: + - secret + UserFormDto: + type: object + properties: + id: + type: string + format: uuid + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + organization: + type: string + organizationId: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + $ref: '#/components/schemas/RoleResponse' + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + locale: + type: string + format: isNotBlank + minLength: 1 + required: + - id + - name + - email + - organizationId + - roles + - dateFormat + - timezone + - locale + RoleResponse: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + required: + - id + - name + UserProfileUpdate: + type: object + properties: + id: + type: string + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + password: + type: string + oldPassword: + type: string + mfaType: + type: string + enum: + - OTP + - EMAIL + - SMS + phone: + type: string + mfaCode: + type: string + required: + - name + - email + - dateFormat + - timezone + UserUpdate: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + email: + type: string + format: isNotBlank + roles: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + organization: + $ref: '#/components/schemas/Organization' + organizationId: + type: string + format: isNotBlank + profile: + type: object + nullable: true + dateFormat: + type: string + format: isNotBlank + timezone: + type: string + format: isNotBlank + locale: + type: string + format: isNotBlank + createdAt: + type: string + deletedAt: + type: string + ChangePassword: + type: object + properties: + password: + type: string + MfaVerificationRequest: + type: object + properties: + mfaCode: + type: string + minLength: 1 + userId: + type: string + minLength: 1 + required: + - mfaCode + - userId + paths: + /api/v2/user/api-tokens: + post: + operationId: api-tokensCreateApiToken + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ApiToken' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/ApiTokenCreation' + tags: + - ApiTokenController + /api/v2/user/api-tokens/{id}: + delete: + operationId: api-tokensDeleteApiToken + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - ApiTokenController + /api/v2/user/audits: + get: + operationId: auditsFetch + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Audit' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Audit' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Fetches audits in batches set by perPage (default 20). Should be used + mainly from UI. + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - AuditController + post: + operationId: auditsCreate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Audit' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/AuditCreation' + tags: + - AuditController + /api/v2/user/oauth/authorize: + get: + operationId: oauthAuthorize + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RenderDataResponse' + '*/*': + schema: + type: object + description: Success + headers: + Cache-Control: + example: no-store + schema: + type: string + Pragma: + example: no-cache + schema: + type: string + parameters: + - in: query + required: true + name: response_type + schema: + type: string + format: isNotBlank + minLength: 1 + - in: query + required: true + name: client_id + schema: + type: string + format: isNotBlank + minLength: 1 + - in: query + required: false + name: redirect_uri + schema: + type: string + - in: query + required: false + name: scope + schema: + type: string + - in: query + required: false + name: state + schema: + type: string + - in: query + required: false + name: code_challenge + schema: + type: string + - in: query + required: false + name: code_challenge_method + schema: + type: string + - in: query + required: false + name: error_code + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/forgotten: + get: + operationId: oauthForgotten + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RenderDataResponse' + '*/*': + schema: + type: object + description: Success + headers: + Cache-Control: + example: no-store + schema: + type: string + Pragma: + example: no-cache + schema: + type: string + parameters: + - in: query + name: code + required: false + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/auth/login: + post: + operationId: oauthLogin + responses: + '200': + description: Success + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + type: object + tags: + - Authentications + /api/v2/user/oauth/auth/reset: + post: + operationId: oauthResetRequest + responses: + '200': + description: Success + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + type: object + tags: + - Authentications + /api/v2/user/oauth/token: + post: + operationId: oauthAccessTokenRequest + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthTokenResponse' + description: Success + headers: + Cache-Control: + example: no-store + schema: + type: string + Pragma: + example: no-cache + schema: + type: string + parameters: + - in: header + name: authorization + required: false + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthTokenRequest' + tags: + - Authentications + /api/v2/user/oauth/exchange: + get: + operationId: oauthExchange + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AccessToken' + description: Success + parameters: + - in: header + name: authorization + required: false + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/logout: + post: + operationId: oauthLogout + responses: + '200': + description: Success + parameters: + - in: header + name: authorization + required: false + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/mfa: + get: + operationId: oauthMfaForm + responses: + '200': + description: Success + parameters: + - in: query + name: code + required: false + schema: + type: string + - in: query + name: csrf_token + required: false + schema: + type: string + - in: query + name: state + required: false + schema: + type: string + - in: query + name: error + required: false + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/check-mfa-code: + post: + operationId: oauthCheckMfaCode + responses: + '200': + content: + '*/*': + schema: + type: object + description: Success + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/MfaRequest' + tags: + - Authentications + /api/v2/user/organizations: + get: + operationId: organizationsFetch + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/OrganizationDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/OrganizationDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Fetches organizations in batches set by perPage (default 20). Should be + used mainly from UI. + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - OrganizationController + post: + operationId: organizationsCreate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDtoCreation' + tags: + - OrganizationController + /api/v2/user/organizations/chart: + get: + operationId: organizationsFetchChart + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationChartDto' + description: Success + '206': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationChartDto' + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Fetches organization hierarchy chart + security: + - bearerAuth: [] + parameters: [] + tags: + - OrganizationController + /api/v2/user/organizations/find: + get: + operationId: organizationsFetchAll + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: skip + schema: + type: number + - in: query + required: false + name: take + schema: + type: number + - in: query + required: false + name: relations + schema: + type: array + items: + type: string + - in: query + required: false + name: order + schema: + type: object + - in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + - in: query + required: false + name: select + schema: + type: object + tags: + - OrganizationController + /api/v2/user/organizations/find/ids: + get: + operationId: organizationsFindByIds + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationDtoSystem' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: query + name: ids + required: false + schema: + type: array + items: + type: string + - required: false + in: query + name: select + schema: + type: object + tags: + - OrganizationController + /api/v2/user/organizations/list: + get: + operationId: organizationsListAll + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationNameDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: skip + schema: + type: number + - in: query + required: false + name: take + schema: + type: number + - in: query + required: false + name: relations + schema: + type: array + items: + type: string + - in: query + required: false + name: order + schema: + type: object + - in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + - in: query + required: false + name: select + schema: + type: object + tags: + - OrganizationController + /api/v2/user/organizations/available-policies: + get: + operationId: organizationsGetAvailablePolicies + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AvailablePolicyDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Returns a list of policies that can be assigned to organization of the + user + security: + - bearerAuth: [] + parameters: [] + tags: + - OrganizationController + /api/v2/user/organizations/{id}/endorsements: + get: + operationId: organizationsFetchEndorsements + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/EndorsementDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/EndorsementDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - OrganizationController + /api/v2/user/organizations/{id}: + get: + operationId: organizationsGet + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Organization' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + patch: + operationId: organizationsUpdate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDtoUpdate' + tags: + - OrganizationController + delete: + operationId: organizationsSoftDelete + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/stripe-account: + get: + operationId: organizationsGetStripeAccount + responses: + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/closure-values: + get: + operationId: organizationsGetValuesFromTree + responses: + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + type: array + items: + nullable: true + oneOf: + - type: integer + - type: number + - type: string + - type: boolean + - type: array + - type: object + tags: + - OrganizationController + /api/v2/user/organizations/{id}/policies: + get: + operationId: organizationsFetchOrganizationPolicies + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: [] + description: Returns the assigned policies of a requested organization + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/details: + get: + operationId: organizationsGetWithDetails + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Returns detailed information for an organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/api-tokens: + get: + operationId: organizationsFetchApiTokens + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ApiToken' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ApiToken' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - OrganizationController + /api/v2/user/organizations/{id}/setup: + get: + operationId: organizationsGetPublicSetup + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PublicSetupResponse' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/descendantIds: + get: + operationId: organizationsGetDescendantIds + responses: + '200': + content: + application/json: + schema: + type: array + items: + type: string + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/name: + get: + operationId: organizationsGetName + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationNameDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/insurers: + get: + operationId: organizationsFetchInsurers + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationNameDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Returns list of insurers assigned for requested organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + post: + operationId: organizationsUpdateInsurers + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationInsurersDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Update list of insurers assigned for organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + properties: + insurerIds: + type: array + items: + type: string + format: uuid + type: object + required: + - insurerIds + tags: + - OrganizationController + /api/v2/user/organizations/{id}/assigned-policies: + get: + operationId: organizationsFetchAssignedPolicies + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Returns the assigned policies of a requested organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + post: + operationId: organizationsAssignPolicies + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Assign policies for requested organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + properties: + policies: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyFormDto' + type: object + required: + - policies + tags: + - OrganizationController + /api/v2/user/organizations/organization-policies/{id}: + get: + operationId: organizationsGetOrganizationPolicy + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationPolicy' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationPolicyController + /api/v2/user/organizations/organization-policies/{policyId}: + delete: + operationId: organizationsRemovePolicy + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: policyId + required: true + schema: + type: string + tags: + - OrganizationPolicyController + /api/v2/user/roles: + get: + operationId: rolesFetch + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Role' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Role' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Fetches roles in batches set by perPage (default 20). Should be used + mainly from UI. + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - RoleController + post: + operationId: rolesCreate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/RoleCreation' + tags: + - RoleController + /api/v2/user/roles/{id}: + get: + operationId: rolesGet + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - RoleController + delete: + operationId: rolesDelete + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeletedEntity' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - RoleController + patch: + operationId: rolesUpdate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/RoleUpdate' + tags: + - RoleController + /api/v2/user/status: + get: + operationId: statusCheckUserServiceStatus + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: [] + parameters: [] + tags: + - StatusController + /api/v2/user/users: + get: + operationId: usersFetch + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/UserDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/UserDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Fetches users in batches set by perPage (default 20). Should be used + mainly from UI. + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - UserController + post: + operationId: usersCreate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreationCreation' + tags: + - UserController + /api/v2/user/users/find: + get: + operationId: usersFetchAll + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: skip + schema: + type: number + - in: query + required: false + name: take + schema: + type: number + - in: query + required: false + name: relations + schema: + type: array + items: + type: string + - in: query + required: false + name: order + schema: + type: object + - in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + - in: query + required: false + name: select + schema: + type: object + tags: + - UserController + /api/v2/user/users/generate-otp-secret: + get: + operationId: usersGenerateOtpSecret + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GenerateSecretResponse' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + tags: + - UserController + /api/v2/user/users/{id}: + get: + operationId: usersGetById + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + delete: + operationId: usersSoftDelete + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + patch: + operationId: usersUpdate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserUpdate' + tags: + - UserController + /api/v2/user/users/{id}/profile: + get: + operationId: usersProfile + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Success + '206': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + patch: + operationId: usersUpdateProfile + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileUpdate' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileUpdate' + tags: + - UserController + /api/v2/user/users/setup-otp: + post: + operationId: usersSetupOtp + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileUpdate' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + properties: + mfaSecret: + type: string + type: object + tags: + - UserController + /api/v2/user/users/{id}/roles: + get: + operationId: usersGetRoles + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RoleResponse' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + /api/v2/user/users/password: + post: + operationId: usersChangePassword + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + properties: + oldpassword: + type: string + newpassword: + type: string + type: object + tags: + - UserController + /api/v2/user/users/reset-password: + post: + operationId: usersResetPassword + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/ChangePassword' + tags: + - UserController + /api/v2/user/users/{id}/reset-password: + post: + operationId: usersResetPasswordById + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + /api/v2/user/users/generate-mfa-code: + post: + operationId: usersGenerateMfaCode + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + properties: + userId: + type: string + type: object + tags: + - UserController + /api/v2/user/users/reset-mfa-type: + post: + operationId: usersResetMfaType + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/MfaVerificationRequest' + tags: + - UserController + tags: + - name: ApiTokenController + - name: AuditController + - name: Authentications + - name: OrganizationController + - name: OrganizationPolicyController + - name: RoleController + - name: StatusController + - name: UserController + servers: + - url: https://sales.app.redkik.com/api/v2/ +konfigCliVersion: 1.38.34 diff --git a/sdks/db/fixed-specs/redkik-fixed-spec.yaml b/sdks/db/fixed-specs/redkik-fixed-spec.yaml new file mode 100644 index 0000000000..f6af873ca2 --- /dev/null +++ b/sdks/db/fixed-specs/redkik-fixed-spec.yaml @@ -0,0 +1,4630 @@ +openapi: 3.0.3 +info: + title: userservice + description: "Redkik is a global InsurTech company with the mission to transform and improve the insurance industry for all parties within logistics and transportation. Redkik's innovative software eliminates the need for annual and complex insurance policies. Through Redkik's embedded integration with licensed insurance providers, existing platforms and online systems can offer their customers tailored and transactional insurance at the time of sale.\n\nStarting as a cargo insurance solution, the market's immediate response has since molded the flexible software to be used to solve additional inefficiencies for warehouse, gap, spike and cyber insurance while multiple other applications are currently being developed.\n\nThe team of Redkik\_has a big passion for innovation and technology,\_ together with great experience and deep knowledge from logistics and transportation, risk management, cargo insurance, machine learning, and software development.\n\nJoin Redkik's rapidly growing network of global partners and exceed your business goals by offering transactional insurance through Redkik's seamless API integration." + version: 2.0.0 + x-konfig-ignore: + object-with-no-properties: true +servers: + - url: https://sales.app.redkik.com/api/v2 +tags: + - name: OrganizationController + - name: UserController + - name: Authentications + - name: RoleController + - name: ApiTokenController + - name: AuditController + - name: OrganizationPolicyController + - name: StatusController +paths: + /api/v2/user/api-tokens: + post: + tags: + - ApiTokenController + operationId: ApiTokenController_createUserApiToken + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/ApiTokenCreation' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ApiToken' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/api-tokens/{id}: + delete: + tags: + - ApiTokenController + operationId: ApiTokenController_deleteById + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + '*/*': + schema: + $ref: '#/components/schemas/ApiTokenControllerDeleteByIdResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/audits: + get: + tags: + - AuditController + operationId: AuditController_getAudits + security: + - bearerAuth: [] + description: >- + Fetches audits in batches set by perPage (default 20). Should be used + mainly from UI. + parameters: + - description: Index of page + in: query + required: false + name: page + schema: + type: number + - description: Page size + in: query + required: false + name: perPage + schema: + type: number + - description: Global filter of filterable fields + in: query + required: false + name: globalFilter + schema: + type: string + - description: Stringified TypeOrm order + in: query + required: false + name: order + schema: + type: object + example: + name: ASC + age: DESC + - description: Stringified TypeOrm where query + in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - description: Stringified TypeOrm select query + in: query + required: false + name: select + schema: + type: object + example: + name: true + age: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/AuditControllerGetAuditsResponse' + '206': + description: Partial Content + content: + application/json: + schema: + $ref: '#/components/schemas/AuditControllerGetAudits206Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + post: + tags: + - AuditController + operationId: AuditController_createUserAudits + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/AuditCreation' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Audit' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/oauth/authorize: + get: + tags: + - Authentications + operationId: Authentications_authorizeOauthUser + parameters: + - in: query + required: true + name: response_type + schema: + type: string + format: isNotBlank + minLength: 1 + - in: query + required: true + name: client_id + schema: + type: string + format: isNotBlank + minLength: 1 + - in: query + required: false + name: redirect_uri + schema: + type: string + - in: query + required: false + name: scope + schema: + type: string + - in: query + required: false + name: state + schema: + type: string + - in: query + required: false + name: code_challenge + schema: + type: string + - in: query + required: false + name: code_challenge_method + schema: + type: string + - in: query + required: false + name: error_code + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/RenderDataResponse' + '*/*': + schema: + $ref: '#/components/schemas/AuthenticationsAuthorizeOauthUserResponse' + headers: + Cache-Control: + example: no-store + schema: + type: string + Pragma: + example: no-cache + schema: + type: string + /api/v2/user/oauth/forgotten: + get: + tags: + - Authentications + operationId: Authentications_getForgottenOauth + parameters: + - in: query + name: code + required: false + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/RenderDataResponse' + '*/*': + schema: + $ref: '#/components/schemas/AuthenticationsGetForgottenOauthResponse' + headers: + Cache-Control: + example: no-store + schema: + type: string + Pragma: + example: no-cache + schema: + type: string + /api/v2/user/oauth/auth/login: + post: + tags: + - Authentications + operationId: Authentications_postOauthLogin + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationsPostOauthLoginRequest' + responses: + '200': + description: Success + /api/v2/user/oauth/auth/reset: + post: + tags: + - Authentications + operationId: Authentications_resetOauthToken + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationsResetOauthTokenRequest' + responses: + '200': + description: Success + /api/v2/user/oauth/token: + post: + tags: + - Authentications + operationId: Authentications_createUserOauthToken + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthTokenRequest' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthTokenResponse' + headers: + Cache-Control: + example: no-store + schema: + type: string + Pragma: + example: no-cache + schema: + type: string + /api/v2/user/oauth/exchange: + get: + tags: + - Authentications + operationId: Authentications_exchangeOauthToken + security: + - bearerAuth: [] + parameters: [] + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/AccessToken' + /api/v2/user/oauth/logout: + post: + tags: + - Authentications + operationId: Authentications_performLogout + security: + - bearerAuth: [] + parameters: [] + responses: + '200': + description: Success + /api/v2/user/oauth/mfa: + get: + tags: + - Authentications + operationId: Authentications_getMfaDetails + parameters: + - in: query + name: code + required: false + schema: + type: string + - in: query + name: csrf_token + required: false + schema: + type: string + - in: query + name: state + required: false + schema: + type: string + - in: query + name: error + required: false + schema: + type: string + responses: + '200': + description: Success + /api/v2/user/oauth/check-mfa-code: + post: + tags: + - Authentications + operationId: Authentications_checkMfaCode + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/MfaRequest' + responses: + '200': + description: Success + content: + '*/*': + schema: + $ref: '#/components/schemas/AuthenticationsCheckMfaCodeResponse' + /api/v2/user/organizations: + get: + tags: + - OrganizationController + operationId: OrganizationController_getOrganizations + security: + - bearerAuth: [] + description: >- + Fetches organizations in batches set by perPage (default 20). Should be + used mainly from UI. + parameters: + - description: Index of page + in: query + required: false + name: page + schema: + type: number + - description: Page size + in: query + required: false + name: perPage + schema: + type: number + - description: Global filter of filterable fields + in: query + required: false + name: globalFilter + schema: + type: string + - description: Stringified TypeOrm order + in: query + required: false + name: order + schema: + type: object + example: + name: ASC + age: DESC + - description: Stringified TypeOrm where query + in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - description: Stringified TypeOrm select query + in: query + required: false + name: select + schema: + type: object + example: + name: true + age: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerGetOrganizationsResponse + '206': + description: Partial Content + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerGetOrganizations206Response + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + post: + tags: + - OrganizationController + operationId: OrganizationController_createUserOrganization + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDtoCreation' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDto' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/chart: + get: + tags: + - OrganizationController + operationId: OrganizationController_getOrganizationChart + security: + - bearerAuth: [] + description: Fetches organization hierarchy chart + parameters: [] + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationChartDto' + '206': + description: Partial Content + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationChartDto' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/find: + get: + tags: + - OrganizationController + operationId: OrganizationController_findUserOrganizations + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: skip + schema: + type: number + - in: query + required: false + name: take + schema: + type: number + - in: query + required: false + name: relations + schema: + type: array + items: + type: string + - in: query + required: false + name: order + schema: + type: object + - in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + - in: query + required: false + name: select + schema: + type: object + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerFindUserOrganizationsResponse + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/find/ids: + get: + tags: + - OrganizationController + operationId: OrganizationController_findUserOrganizationIds + security: + - bearerAuth: [] + parameters: + - in: query + name: ids + required: false + schema: + type: array + items: + type: string + - required: false + in: query + name: select + schema: + type: object + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerFindUserOrganizationIdsResponse + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/list: + get: + tags: + - OrganizationController + operationId: OrganizationController_listUserOrganizations + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: skip + schema: + type: number + - in: query + required: false + name: take + schema: + type: number + - in: query + required: false + name: relations + schema: + type: array + items: + type: string + - in: query + required: false + name: order + schema: + type: object + - in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + - in: query + required: false + name: select + schema: + type: object + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerListUserOrganizationsResponse + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/available-policies: + get: + tags: + - OrganizationController + operationId: OrganizationController_listAvailablePolicies + security: + - bearerAuth: [] + description: >- + Returns a list of policies that can be assigned to organization of the + user + parameters: [] + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerListAvailablePoliciesResponse + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/{id}/endorsements: + get: + tags: + - OrganizationController + operationId: OrganizationController_getUserEndorsements + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + - description: Index of page + in: query + required: false + name: page + schema: + type: number + - description: Page size + in: query + required: false + name: perPage + schema: + type: number + - description: Global filter of filterable fields + in: query + required: false + name: globalFilter + schema: + type: string + - description: Stringified TypeOrm order + in: query + required: false + name: order + schema: + type: object + example: + name: ASC + age: DESC + - description: Stringified TypeOrm where query + in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - description: Stringified TypeOrm select query + in: query + required: false + name: select + schema: + type: object + example: + name: true + age: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerGetUserEndorsementsResponse + '206': + description: Partial Content + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerGetUserEndorsements206Response + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/{id}: + get: + tags: + - OrganizationController + operationId: OrganizationController_getById + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Organization' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + patch: + tags: + - OrganizationController + operationId: OrganizationController_updateOrganizationById + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDtoUpdate' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDto' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + delete: + tags: + - OrganizationController + operationId: OrganizationController_deleteOrganizationById + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + '*/*': + schema: + $ref: >- + #/components/schemas/OrganizationControllerDeleteOrganizationByIdResponse + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/{id}/stripe-account: + get: + tags: + - OrganizationController + operationId: OrganizationController_getStripeAccount + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: OK + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/{id}/closure-values: + get: + tags: + - OrganizationController + operationId: OrganizationController_getClosureValues + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerGetClosureValuesRequest + responses: + '200': + description: OK + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/{id}/policies: + get: + tags: + - OrganizationController + operationId: OrganizationController_getPolicies + security: [] + description: Returns the assigned policies of a requested organization + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationControllerGetPoliciesResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/{id}/details: + get: + tags: + - OrganizationController + operationId: OrganizationController_getOrganizationDetails + security: + - bearerAuth: [] + description: Returns detailed information for an organization + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDto' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/{id}/api-tokens: + get: + tags: + - OrganizationController + operationId: OrganizationController_getUserApiTokens + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + - description: Index of page + in: query + required: false + name: page + schema: + type: number + - description: Page size + in: query + required: false + name: perPage + schema: + type: number + - description: Global filter of filterable fields + in: query + required: false + name: globalFilter + schema: + type: string + - description: Stringified TypeOrm order + in: query + required: false + name: order + schema: + type: object + example: + name: ASC + age: DESC + - description: Stringified TypeOrm where query + in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - description: Stringified TypeOrm select query + in: query + required: false + name: select + schema: + type: object + example: + name: true + age: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerGetUserApiTokensResponse + '206': + description: Partial Content + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerGetUserApiTokens206Response + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/{id}/setup: + get: + tags: + - OrganizationController + operationId: OrganizationController_getUserOrganizationSetup + security: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PublicSetupResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/{id}/descendantIds: + get: + tags: + - OrganizationController + operationId: OrganizationController_getDescendantIds + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerGetDescendantIdsResponse + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/{id}/name: + get: + tags: + - OrganizationController + operationId: OrganizationController_getOrganizationNameById + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationNameDto' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/{id}/insurers: + get: + tags: + - OrganizationController + operationId: OrganizationController_listInsurerAssignedForOrganization + security: + - bearerAuth: [] + description: Returns list of insurers assigned for requested organization + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerListInsurerAssignedForOrganizationResponse + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + post: + tags: + - OrganizationController + operationId: OrganizationController_updateInsurersList + security: + - bearerAuth: [] + description: Update list of insurers assigned for organization + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerUpdateInsurersListRequest + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationInsurersDto' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/{id}/assigned-policies: + get: + tags: + - OrganizationController + operationId: OrganizationController_getAssignedPolicies + security: + - bearerAuth: [] + description: Returns the assigned policies of a requested organization + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerGetAssignedPoliciesResponse + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + post: + tags: + - OrganizationController + operationId: OrganizationController_assignPolicies + security: + - bearerAuth: [] + description: Assign policies for requested organization + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationControllerAssignPoliciesRequest' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganizationControllerAssignPoliciesResponse + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/organization-policies/{id}: + get: + tags: + - OrganizationPolicyController + operationId: OrganizationPolicyController_getById + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationPolicy' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/organizations/organization-policies/{policyId}: + delete: + tags: + - OrganizationPolicyController + operationId: OrganizationPolicyController_deletePolicyById + security: + - bearerAuth: [] + parameters: + - in: path + name: policyId + required: true + schema: + type: string + responses: + '200': + description: Success + content: + '*/*': + schema: + $ref: >- + #/components/schemas/OrganizationPolicyControllerDeletePolicyByIdResponse + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/roles: + get: + tags: + - RoleController + operationId: RoleController_getUserRoles + security: + - bearerAuth: [] + description: >- + Fetches roles in batches set by perPage (default 20). Should be used + mainly from UI. + parameters: + - description: Index of page + in: query + required: false + name: page + schema: + type: number + - description: Page size + in: query + required: false + name: perPage + schema: + type: number + - description: Global filter of filterable fields + in: query + required: false + name: globalFilter + schema: + type: string + - description: Stringified TypeOrm order + in: query + required: false + name: order + schema: + type: object + example: + name: ASC + age: DESC + - description: Stringified TypeOrm where query + in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - description: Stringified TypeOrm select query + in: query + required: false + name: select + schema: + type: object + example: + name: true + age: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/RoleControllerGetUserRolesResponse' + '206': + description: Partial Content + content: + application/json: + schema: + $ref: '#/components/schemas/RoleControllerGetUserRoles206Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + post: + tags: + - RoleController + operationId: RoleController_createRole + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/RoleCreation' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/roles/{id}: + get: + tags: + - RoleController + operationId: RoleController_getUserRolesById + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + delete: + tags: + - RoleController + operationId: RoleController_deleteUserRole + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/DeletedEntity' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + patch: + tags: + - RoleController + operationId: RoleController_updateUserRole + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/RoleUpdate' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/status: + get: + tags: + - StatusController + operationId: StatusController_getUserStatus + security: [] + parameters: [] + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/users: + get: + tags: + - UserController + operationId: UserController_getUsersList + security: + - bearerAuth: [] + description: >- + Fetches users in batches set by perPage (default 20). Should be used + mainly from UI. + parameters: + - description: Index of page + in: query + required: false + name: page + schema: + type: number + - description: Page size + in: query + required: false + name: perPage + schema: + type: number + - description: Global filter of filterable fields + in: query + required: false + name: globalFilter + schema: + type: string + - description: Stringified TypeOrm order + in: query + required: false + name: order + schema: + type: object + example: + name: ASC + age: DESC + - description: Stringified TypeOrm where query + in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - description: Stringified TypeOrm select query + in: query + required: false + name: select + schema: + type: object + example: + name: true + age: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UserControllerGetUsersListResponse' + '206': + description: Partial Content + content: + application/json: + schema: + $ref: '#/components/schemas/UserControllerGetUsersList206Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + post: + tags: + - UserController + operationId: UserController_createUser + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreationCreation' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UserDto' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/users/find: + get: + tags: + - UserController + operationId: UserController_findUsers + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: skip + schema: + type: number + - in: query + required: false + name: take + schema: + type: number + - in: query + required: false + name: relations + schema: + type: array + items: + type: string + - in: query + required: false + name: order + schema: + type: object + - in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + - in: query + required: false + name: select + schema: + type: object + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UserControllerFindUsersResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/users/generate-otp-secret: + get: + tags: + - UserController + operationId: UserController_generateOtpSecret + security: + - bearerAuth: [] + parameters: [] + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/GenerateSecretResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/users/{id}: + get: + tags: + - UserController + operationId: UserController_getById + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UserFormDto' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + delete: + tags: + - UserController + operationId: UserController_deleteUserById + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + '*/*': + schema: + $ref: '#/components/schemas/UserControllerDeleteUserByIdResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + patch: + tags: + - UserController + operationId: UserController_updateUserById + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserUpdate' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UserDto' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/users/{id}/profile: + get: + tags: + - UserController + operationId: UserController_getUserProfile + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/User' + '206': + description: Partial Content + content: + application/json: + schema: + $ref: '#/components/schemas/User' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + patch: + tags: + - UserController + operationId: UserController_updateUserProfile + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileUpdate' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileUpdate' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/users/setup-otp: + post: + tags: + - UserController + operationId: UserController_setupOtp + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserControllerSetupOtpRequest' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileUpdate' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/users/{id}/roles: + get: + tags: + - UserController + operationId: UserController_getUserRolesById + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UserControllerGetUserRolesByIdResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/users/password: + post: + tags: + - UserController + operationId: UserController_resetPassword + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserControllerResetPasswordRequest' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/User' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/users/reset-password: + post: + tags: + - UserController + operationId: UserController_resetPassword + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/ChangePassword' + responses: + '200': + description: Success + content: + '*/*': + schema: + $ref: '#/components/schemas/UserControllerResetPasswordResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/users/{id}/reset-password: + post: + tags: + - UserController + operationId: UserController_resetUserPassword + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: Success + content: + '*/*': + schema: + $ref: '#/components/schemas/UserControllerResetUserPasswordResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/users/generate-mfa-code: + post: + tags: + - UserController + operationId: UserController_generateMfaCode + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserControllerGenerateMfaCodeRequest' + responses: + '200': + description: Success + content: + '*/*': + schema: + $ref: '#/components/schemas/UserControllerGenerateMfaCodeResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + /api/v2/user/users/reset-mfa-type: + post: + tags: + - UserController + operationId: UserController_resetMfaType + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/MfaVerificationRequest' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/User' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' +components: + securitySchemes: + bearerAuth: + type: http + scheme: bearer + bearerFormat: JWT + schemas: + ApiToken: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + format: isNotBlank + secret: + type: string + nullable: true + required: + - id + - name + - organizationId + - roles + Unauthorized: + type: object + properties: + name: + description: The error name + type: string + minLength: 1 + example: UNAUTHORIZED + default: UNAUTHORIZED + message: + description: An error message + type: string + minLength: 1 + status: + description: The status code of the exception + type: number + example: 401 + default: 401 + errors: + description: A list of related errors + type: array + items: + $ref: '#/components/schemas/GenericError' + stack: + description: The stack trace (only in development mode) + type: string + required: + - name + - message + - status + GenericError: + type: object + properties: + name: + description: The error name + type: string + minLength: 1 + message: + description: An error message + type: string + minLength: 1 + additionalProperties: true + required: + - name + - message + Forbidden: + type: object + properties: + name: + description: The error name + type: string + minLength: 1 + example: FORBIDDEN + default: FORBIDDEN + message: + description: An error message + type: string + minLength: 1 + status: + description: The status code of the exception + type: number + example: 403 + default: 403 + errors: + description: A list of related errors + type: array + items: + $ref: '#/components/schemas/GenericError' + stack: + description: The stack trace (only in development mode) + type: string + required: + - name + - message + - status + ApiTokenCreation: + type: object + properties: + name: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + format: isNotBlank + required: + - name + - organizationId + - roles + Audit: + type: object + properties: + id: + type: number + userId: + type: string + format: uuid + nullable: true + entityId: + description: The ID of the entity this audit is attached to + type: string + format: isNotBlank + minLength: 1 + entityType: + description: The type of entity this audit is attached to + type: string + enum: + - BOOKING + - RISK + - CLAUSE + - REFERRAL + - CUSTOMER + - OFFER + - POLICY + - ENDORSEMENT + - ORGANIZATION + - USER + - EMAIL_TEMPLATE + format: isNotBlank + minLength: 1 + secondaryEntityId: + description: >- + A secondary ID of the entity this audit is attached to, for example + policy revision + type: string + format: uuid + nullable: true + message: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + required: + - entityId + - entityType + - message + WhereFilter: + type: object + AuditCreation: + type: object + properties: + id: + type: number + userId: + type: string + format: uuid + nullable: true + entityId: + description: The ID of the entity this audit is attached to + type: string + format: isNotBlank + minLength: 1 + entityType: + description: The type of entity this audit is attached to + type: string + enum: + - BOOKING + - RISK + - CLAUSE + - REFERRAL + - CUSTOMER + - OFFER + - POLICY + - ENDORSEMENT + - ORGANIZATION + - USER + - EMAIL_TEMPLATE + format: isNotBlank + minLength: 1 + secondaryEntityId: + description: >- + A secondary ID of the entity this audit is attached to, for example + policy revision + type: string + format: uuid + nullable: true + message: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + required: + - entityId + - entityType + - message + RenderDataResponse: + type: object + properties: + title: + type: string + format: isNotBlank + minLength: 1 + react: + type: string + format: isNotBlank + minLength: 1 + style: + type: string + format: isNotBlank + minLength: 1 + required: + - react + - title + - style + OAuthTokenResponse: + type: object + properties: + token_type: + type: string + format: isNotBlank + minLength: 1 + expires_in: + type: number + access_token: + type: string + format: isNotBlank + minLength: 1 + refresh_token: + type: string + scope: + type: string + required: + - token_type + - access_token + OAuthTokenRequest: + type: object + properties: + grant_type: + type: string + format: isNotBlank + minLength: 1 + client_id: + type: string + client_secret: + type: string + email: + type: string + password: + type: string + refresh_token: + type: string + code: + type: string + redirect_uri: + type: string + code_verifier: + type: string + required: + - grant_type + AccessToken: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + ttl: + type: number + format: isNotBlank + created: + type: string + format: isNotBlank + minLength: 1 + user: + $ref: '#/components/schemas/UserTokenDto' + organizationId: + type: string + organization: + $ref: '#/components/schemas/OrganizationTokenDto' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + bearer: + type: string + scope: + type: array + items: + $ref: '#/components/schemas/AccessScope' + organizationDescendants: + type: array + items: + description: >- + WARNING: Missing items property in array schema. Missing items + property has been filled with this AnyType schema. + organizationAncestors: + type: array + items: + description: >- + WARNING: Missing items property in array schema. Missing items + property has been filled with this AnyType schema. + organizationInsured: + type: array + items: + description: >- + WARNING: Missing items property in array schema. Missing items + property has been filled with this AnyType schema. + roles: + type: array + items: + description: >- + WARNING: Missing items property in array schema. Missing items + property has been filled with this AnyType schema. + required: + - id + - ttl + - created + UserTokenDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + role: + type: number + timezone: + type: string + locale: + type: string + dateFormat: + type: string + required: + - id + - name + - email + OrganizationTokenDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + allowConfirm: + type: boolean + allowUserClaim: + type: boolean + allowQuotation: + type: boolean + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + policyId: + type: object + type: + type: number + format: isNotBlank + hideZeroValues: + type: boolean + nullable: true + required: + - id + - hideCosts + - costBreakdown + - name + - type + ABAC: + type: object + properties: + accessScopes: + type: array + items: + $ref: '#/components/schemas/AccessScope' + where: + type: object + restrictions: + type: object + required: + - accessScopes + AccessScope: + type: object + properties: + subject: + type: array + items: + format: isNotBlank + type: string + action: + type: array + items: + format: isNotBlank + type: string + required: + - subject + - action + MfaRequest: + type: object + properties: + mfaCode: + type: string + minLength: 1 + csrf_token: + type: string + minLength: 1 + code: + type: string + minLength: 1 + state: + type: string + minLength: 1 + required: + - mfaCode + - csrf_token + - code + - state + OrganizationDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + taxRulesetId: + type: string + publicUrl: + type: string + address: + type: string + allowPayInvoice: + type: boolean + allowPayCard: + type: boolean + parent: + type: object + required: + - id + - name + - allowQuotation + - type + OrganizationChartDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + children: + type: array + items: + $ref: '#/components/schemas/OrganizationChartDto' + required: + - id + - name + - children + OrganizationDtoSystem: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + policies: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyDto' + taxRulesetId: + type: string + publicUrl: + type: string + address: + type: string + allowPayInvoice: + type: boolean + allowPayCard: + type: boolean + parent: + type: object + required: + - id + - name + - allowQuotation + - type + OrganizationPolicyDto: + type: object + properties: + policyId: + type: string + minLength: 1 + alias: + type: string + id: + type: string + required: + - policyId + OrganizationNameDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + required: + - id + - name + AvailablePolicyDto: + type: object + properties: + policyId: + type: string + minLength: 1 + name: + type: string + minLength: 1 + required: + - policyId + - name + EndorsementDto: + type: object + properties: + id: + type: string + organizationId: + type: string + policyId: + type: string + reference: + type: string + OrganizationFormDto: + type: object + properties: + id: + type: string + format: isNotBlank + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowPayCard: + type: boolean + allowPayInvoice: + type: boolean + allowConfirmationPayCard: + type: boolean + allowConfirmationPayInvoice: + type: boolean + allowedImmediatePaymentTypes: + type: array + items: + type: string + allowConsignee: + type: boolean + allowLetterOfCredit: + type: boolean + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + users: + type: array + items: + $ref: '#/components/schemas/User' + parentId: + type: string + stripeAccountId: + type: string + externalReference: + type: string + referencePrefix: + type: string + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + allowConfirm: + type: boolean + format: isNotBlank + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + lastInvoicedAt: + type: string + invoiceCustomerId: + type: string + billingAddress: + type: string + billingEmail: + type: string + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + format: isNotBlank + contactEmail: + type: string + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + minLength: 1 + hideZeroValues: + type: boolean + requireConfirmation: + type: boolean + format: isNotBlank + street: + type: string + nullable: true + city: + type: string + nullable: true + state: + type: string + postcode: + type: string + nullable: true + country: + type: string + formatted: + type: string + format: isNotBlank + nullable: true + minLength: 1 + taxRulesetId: + type: string + descendants: + type: array + items: + type: string + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + required: + - name + - allowQuotation + - type + - allowReferrals + - allowConfirm + - allowModifyBookingFee + - allowBeneficiary + - allowMultiCommodity + - allowClaims + - requireNotification + - notificationMethod + - hideCosts + - costBreakdown + - requireConfirmation + - formatted + User: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + phone: + type: string + nullable: true + roles: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + organization: + $ref: '#/components/schemas/Organization' + organizationId: + type: string + format: isNotBlank + minLength: 1 + profile: + type: object + nullable: true + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + locale: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + deletedAt: + type: string + mfaType: + type: string + enum: + - OTP + - EMAIL + - SMS + required: + - name + - email + - roles + - organizationId + - dateFormat + - timezone + - locale + RoleMapping: + type: object + properties: + id: + type: string + format: uuid + userId: + type: string + roleId: + type: string + format: isNotBlank + minLength: 1 + role: + $ref: '#/components/schemas/Role' + user: + type: object + required: + - roleId + Role: + type: object + properties: + description: + type: string + format: simple + nullable: true + minLength: 1 + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + format: uuid + nullable: true + mappings: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + clientMappings: + type: array + items: + $ref: '#/components/schemas/ClientRoleMapping' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + data: + type: object + nullable: true + required: + - name + - description + - abac + ClientRoleMapping: + type: object + properties: + id: + type: string + format: uuid + clientId: + type: string + roleId: + type: string + format: isNotBlank + minLength: 1 + role: + $ref: '#/components/schemas/Role' + client: + $ref: '#/components/schemas/OAuthClient' + required: + - roleId + OAuthClient: + type: object + properties: + id: + type: string + name: + type: string + format: isNotBlank + minLength: 1 + redirectUris: + type: object + nullable: true + allowedGrants: + type: array + items: + format: isNotBlank + organizationId: + type: object + roles: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientRoleMapping' + required: + - name + - redirectUris + - allowedGrants + - roles + Organization: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + minLength: 1 + allowedImmediatePaymentTypes: + description: >- + A list of payment types that allow immediate booking creation when + usually they would be pending + type: array + items: + type: string + allowPayInvoice: + description: Allow payment to be taken later by invoice + type: boolean + allowPayCard: + description: Allow payment to be taken by credit card + type: boolean + allowConfirmationPayInvoice: + description: Allow payment to be taken later by invoice on confirmation flow + type: boolean + allowConfirmationPayCard: + description: Allow payment to be taken by credit card on confirmation flow + type: boolean + allowConsignee: + description: Allow consignees to be added during quotation + type: boolean + allowUserClaim: + description: Allow users to access claim form + type: boolean + allowLetterOfCredit: + description: Allow letter of credit information to be added during quotation + type: boolean + parent: + $ref: '#/components/schemas/Organization' + addressId: + type: string + address: + type: object + policies: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicy' + externalReference: + type: string + format: isNotBlank + minLength: 1 + referencePrefix: + type: string + deprecated: true + stripeAccountId: + type: string + type: + type: number + format: isNotBlank + createdAt: + type: string + deletedAt: + type: string + invoiceCustomerId: + description: Invoice customer id + type: string + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + description: Notification method, 0 for nothing, 1 for email + type: number + maximum: 1 + minimum: 0 + format: isNotBlank + notificationEmail: + type: string + deprecated: true + billingAddress: + type: string + billingEmail: + type: string + allowConfirm: + type: boolean + format: isNotBlank + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + description: Allow referring of accepted offers + type: boolean + allowQuotation: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + description: UUID of email template used for sending claim by email + type: string + claimEmail: + description: Email address of claim recipient, give in policy instead + type: string + deprecated: true + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + taxRulesetId: + description: The ruleset of taxes applied to this organization + type: string + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + description: Hide the cost breakdown in the customer & TI views + type: string + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + minLength: 1 + hideZeroValues: + description: Hides zero values + type: boolean + requireConfirmation: + description: >- + Dictates should the end customer be directed to the confirmation + flow + type: boolean + format: isNotBlank + allowedAddressTypes: + description: A list of address types shown in client/public portal + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + contactEmail: + type: string + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + required: + - name + - policies + - externalReference + - type + - requireNotification + - notificationMethod + - allowConfirm + - allowReferrals + - allowQuotation + - allowClaims + - allowModifyBookingFee + - allowBeneficiary + - allowMultiCommodity + - hideCosts + - costBreakdown + - requireConfirmation + - enforceTrackingCode + OrganizationPolicy: + type: object + properties: + id: + type: string + format: uuid + organizationId: + type: string + format: isNotBlank + minLength: 1 + policyId: + type: string + format: isNotBlank + minLength: 1 + alias: + type: string + format: isNotBlank + minLength: 1 + bookingFee: + type: number + minimum: 0 + format: isNotBlank + bookingFeeType: + description: Booking Fee type, PERCENT or FLAT_FEE + type: string + enum: + - PERCENT + - FLAT_FEE + format: isNotBlank + minLength: 1 + technologyFee: + type: number + minimum: 0 + format: isNotBlank + technologyFeeType: + description: Technology Fee type, PERCENT or FLAT_FEE + type: string + enum: + - PERCENT + - FLAT_FEE + format: isNotBlank + minLength: 1 + required: + - organizationId + - policyId + - alias + - bookingFee + - bookingFeeType + - technologyFee + - technologyFeeType + AdditionalFieldString: + type: object + properties: + id: + type: string + minLength: 1 + type: + type: string + enum: + - string + minLength: 1 + mandatory: + type: boolean + required: + - id + - type + - mandatory + AdditionalFieldEnum: + type: object + properties: + id: + type: string + minLength: 1 + type: + type: string + enum: + - enum + minLength: 1 + mandatory: + type: boolean + data: + $ref: '#/components/schemas/EnumDataType' + required: + - id + - type + - mandatory + - data + EnumDataType: + type: object + properties: + options: + type: array + items: + type: string + required: + - options + OrganizationFormDtoCreation: + type: object + properties: + id: + type: string + format: isNotBlank + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowPayCard: + type: boolean + allowPayInvoice: + type: boolean + allowConfirmationPayCard: + type: boolean + allowConfirmationPayInvoice: + type: boolean + allowedImmediatePaymentTypes: + type: array + items: + type: string + allowConsignee: + type: boolean + allowLetterOfCredit: + type: boolean + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + users: + type: array + items: + $ref: '#/components/schemas/User' + parentId: + type: string + stripeAccountId: + type: string + externalReference: + type: string + referencePrefix: + type: string + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + allowConfirm: + type: boolean + format: isNotBlank + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + lastInvoicedAt: + type: string + invoiceCustomerId: + type: string + billingAddress: + type: string + billingEmail: + type: string + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + format: isNotBlank + contactEmail: + type: string + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + minLength: 1 + hideZeroValues: + type: boolean + requireConfirmation: + type: boolean + format: isNotBlank + street: + type: string + nullable: true + city: + type: string + nullable: true + state: + type: string + postcode: + type: string + nullable: true + country: + type: string + formatted: + type: string + format: isNotBlank + nullable: true + minLength: 1 + taxRulesetId: + type: string + descendants: + type: array + items: + type: string + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + required: + - name + - allowQuotation + - type + - allowReferrals + - allowConfirm + - allowModifyBookingFee + - allowBeneficiary + - allowMultiCommodity + - allowClaims + - requireNotification + - notificationMethod + - hideCosts + - costBreakdown + - requireConfirmation + - formatted + OrganizationFormDtoUpdate: + type: object + properties: + id: + type: string + format: isNotBlank + name: + type: string + format: isNotBlank + allowQuotation: + type: boolean + format: isNotBlank + allowPayCard: + type: boolean + allowPayInvoice: + type: boolean + allowConfirmationPayCard: + type: boolean + allowConfirmationPayInvoice: + type: boolean + allowedImmediatePaymentTypes: + type: array + items: + type: string + allowConsignee: + type: boolean + allowLetterOfCredit: + type: boolean + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + users: + type: array + items: + $ref: '#/components/schemas/User' + parentId: + type: string + stripeAccountId: + type: string + externalReference: + type: string + referencePrefix: + type: string + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + allowConfirm: + type: boolean + format: isNotBlank + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + lastInvoicedAt: + type: string + invoiceCustomerId: + type: string + billingAddress: + type: string + billingEmail: + type: string + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + format: isNotBlank + contactEmail: + type: string + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + hideZeroValues: + type: boolean + requireConfirmation: + type: boolean + format: isNotBlank + street: + type: string + nullable: true + city: + type: string + nullable: true + state: + type: string + postcode: + type: string + nullable: true + country: + type: string + formatted: + type: string + format: isNotBlank + nullable: true + taxRulesetId: + type: string + descendants: + type: array + items: + type: string + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + PublicSetupResponse: + type: object + properties: + locale: + type: string + nullable: true + dateFormat: + type: string + nullable: true + allowQuotation: + type: boolean + OrganizationInsurersDto: + type: object + properties: + id: + type: string + minLength: 1 + name: + type: string + minLength: 1 + insurers: + type: array + items: + $ref: '#/components/schemas/OrganizationNameDto' + required: + - id + - name + - insurers + OrganizationPolicyFormDto: + type: object + properties: + policyId: + type: string + minLength: 1 + alias: + type: string + id: + type: string + bookingFee: + type: number + bookingFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + technologyFee: + type: number + technologyFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + required: + - policyId + RoleCreation: + type: object + properties: + description: + type: string + format: simple + nullable: true + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + format: uuid + nullable: true + mappings: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + clientMappings: + type: array + items: + $ref: '#/components/schemas/ClientRoleMapping' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + data: + type: object + nullable: true + required: + - name + - description + - abac + DeletedEntity: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + required: + - id + RoleUpdate: + type: object + properties: + description: + type: string + format: simple + nullable: true + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + organizationId: + type: string + format: uuid + nullable: true + mappings: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + clientMappings: + type: array + items: + $ref: '#/components/schemas/ClientRoleMapping' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + data: + type: object + nullable: true + Status: + type: object + properties: + statusMsg: + type: string + minLength: 1 + required: + - statusMsg + UserDto: + type: object + properties: + id: + type: string + format: uuid + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + organization: + type: string + required: + - id + - name + UserCreationCreation: + type: object + properties: + id: + type: string + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + format: isNotBlank + organization: + $ref: '#/components/schemas/Organization' + organizationId: + type: string + profile: + type: object + nullable: true + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + locale: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + deletedAt: + type: string + required: + - name + - email + - roles + - dateFormat + - timezone + - locale + GenerateSecretResponse: + type: object + properties: + secret: + type: string + format: isNotBlank + minLength: 1 + required: + - secret + UserFormDto: + type: object + properties: + id: + type: string + format: uuid + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + organization: + type: string + organizationId: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + $ref: '#/components/schemas/RoleResponse' + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + locale: + type: string + format: isNotBlank + minLength: 1 + required: + - id + - name + - email + - organizationId + - roles + - dateFormat + - timezone + - locale + RoleResponse: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + required: + - id + - name + UserProfileUpdate: + type: object + properties: + id: + type: string + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + password: + type: string + oldPassword: + type: string + mfaType: + type: string + enum: + - OTP + - EMAIL + - SMS + phone: + type: string + mfaCode: + type: string + required: + - name + - email + - dateFormat + - timezone + UserUpdate: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + email: + type: string + format: isNotBlank + roles: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + organization: + $ref: '#/components/schemas/Organization' + organizationId: + type: string + format: isNotBlank + profile: + type: object + nullable: true + dateFormat: + type: string + format: isNotBlank + timezone: + type: string + format: isNotBlank + locale: + type: string + format: isNotBlank + createdAt: + type: string + deletedAt: + type: string + ChangePassword: + type: object + properties: + password: + type: string + MfaVerificationRequest: + type: object + properties: + mfaCode: + type: string + minLength: 1 + userId: + type: string + minLength: 1 + required: + - mfaCode + - userId + AuthenticationsPostOauthLoginRequest: + type: object + AuthenticationsResetOauthTokenRequest: + type: object + OrganizationControllerGetClosureValuesRequest: + type: array + items: + nullable: true + oneOf: + - type: integer + - type: number + - type: string + - type: boolean + - type: array + items: + description: >- + WARNING: Missing items property in array schema. Missing items + property has been filled with this AnyType schema. + - type: object + OrganizationControllerUpdateInsurersListRequest: + properties: + insurerIds: + type: array + items: + type: string + format: uuid + type: object + required: + - insurerIds + OrganizationControllerAssignPoliciesRequest: + properties: + policies: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyFormDto' + type: object + required: + - policies + UserControllerSetupOtpRequest: + properties: + mfaSecret: + type: string + type: object + UserControllerResetPasswordRequest: + properties: + oldpassword: + type: string + newpassword: + type: string + type: object + UserControllerGenerateMfaCodeRequest: + properties: + userId: + type: string + type: object + ApiTokenControllerDeleteByIdResponse: + type: boolean + AuditControllerGetAuditsResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Audit' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + AuditControllerGetAudits206Response: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Audit' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + AuthenticationsAuthorizeOauthUserResponse: + type: object + AuthenticationsGetForgottenOauthResponse: + type: object + AuthenticationsCheckMfaCodeResponse: + type: object + OrganizationControllerGetOrganizationsResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/OrganizationDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + OrganizationControllerGetOrganizations206Response: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/OrganizationDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + OrganizationControllerFindUserOrganizationsResponse: + type: array + items: + $ref: '#/components/schemas/OrganizationDto' + OrganizationControllerFindUserOrganizationIdsResponse: + type: array + items: + $ref: '#/components/schemas/OrganizationDtoSystem' + OrganizationControllerListUserOrganizationsResponse: + type: array + items: + $ref: '#/components/schemas/OrganizationNameDto' + OrganizationControllerListAvailablePoliciesResponse: + type: array + items: + $ref: '#/components/schemas/AvailablePolicyDto' + OrganizationControllerGetUserEndorsementsResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/EndorsementDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + OrganizationControllerGetUserEndorsements206Response: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/EndorsementDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + OrganizationControllerDeleteOrganizationByIdResponse: + type: boolean + OrganizationControllerGetPoliciesResponse: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyDto' + OrganizationControllerGetUserApiTokensResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ApiToken' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + OrganizationControllerGetUserApiTokens206Response: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ApiToken' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + OrganizationControllerGetDescendantIdsResponse: + type: array + items: + type: string + OrganizationControllerListInsurerAssignedForOrganizationResponse: + type: array + items: + $ref: '#/components/schemas/OrganizationNameDto' + OrganizationControllerGetAssignedPoliciesResponse: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyFormDto' + OrganizationControllerAssignPoliciesResponse: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyDto' + OrganizationPolicyControllerDeletePolicyByIdResponse: + type: boolean + RoleControllerGetUserRolesResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Role' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + RoleControllerGetUserRoles206Response: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Role' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + UserControllerGetUsersListResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/UserDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + UserControllerGetUsersList206Response: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/UserDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + UserControllerFindUsersResponse: + type: array + items: + $ref: '#/components/schemas/UserDto' + UserControllerDeleteUserByIdResponse: + type: boolean + UserControllerGetUserRolesByIdResponse: + type: array + items: + $ref: '#/components/schemas/RoleResponse' + UserControllerResetPasswordResponse: + type: boolean + UserControllerResetUserPasswordResponse: + type: boolean + UserControllerGenerateMfaCodeResponse: + type: boolean diff --git a/sdks/db/generate-repository-description-cache/redkik.json b/sdks/db/generate-repository-description-cache/redkik.json new file mode 100644 index 0000000000..d521b1ebe6 --- /dev/null +++ b/sdks/db/generate-repository-description-cache/redkik.json @@ -0,0 +1,3 @@ +{ + "Redkik is a global InsurTech company with the mission to transform and improve the insurance industry for all parties within logistics and transportation. Redkik's innovative software eliminates the need for annual and complex insurance policies. Through Redkik's embedded integration with licensed insurance providers, existing platforms and online systems can offer their customers tailored and transactional insurance at the time of sale.\n\nStarting as a cargo insurance solution, the market's immediate response has since molded the flexible software to be used to solve additional inefficiencies for warehouse, gap, spike and cyber insurance while multiple other applications are currently being developed.\n\nThe team of Redkik has a big passion for innovation and technology,  together with great experience and deep knowledge from logistics and transportation, risk management, cargo insurance, machine learning, and software development.\n\nJoin Redkik's rapidly growing network of global partners and exceed your business goals by offering transactional insurance through Redkik's seamless API integration.": "Redkik revolutionizes insurance for logistics and transportation by offering tailored and seamless transactional policies through innovative software integrated with licensed providers. Join our global network for efficient insurance solutions. Redkik's {language} SDK generated by Konfig (https://konfigthis.com/)." +} \ No newline at end of file diff --git a/sdks/db/intermediate-fixed-specs/redkik/openapi.yaml b/sdks/db/intermediate-fixed-specs/redkik/openapi.yaml new file mode 100644 index 0000000000..d2ba02fff0 --- /dev/null +++ b/sdks/db/intermediate-fixed-specs/redkik/openapi.yaml @@ -0,0 +1,4513 @@ +openapi: 3.0.3 +info: + version: 2.0.0 + title: userservice + description: "Redkik is a global InsurTech company with the mission to transform and improve the insurance industry for all parties within logistics and transportation. Redkik's innovative software eliminates the need for annual and complex insurance policies. Through Redkik's embedded integration with licensed insurance providers, existing platforms and online systems can offer their customers tailored and transactional insurance at the time of sale.\n\nStarting as a cargo insurance solution, the market's immediate response has since molded the flexible software to be used to solve additional inefficiencies for warehouse, gap, spike and cyber insurance while multiple other applications are currently being developed.\n\nThe team of Redkik\_has a big passion for innovation and technology,\_ together with great experience and deep knowledge from logistics and transportation, risk management, cargo insurance, machine learning, and software development.\n\nJoin Redkik's rapidly growing network of global partners and exceed your business goals by offering transactional insurance through Redkik's seamless API integration." +components: + securitySchemes: + bearerAuth: + type: http + scheme: bearer + bearerFormat: JWT + schemas: + ApiToken: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + format: isNotBlank + secret: + type: string + nullable: true + required: + - id + - name + - organizationId + - roles + Unauthorized: + type: object + properties: + name: + type: string + description: The error name + minLength: 1 + example: UNAUTHORIZED + default: UNAUTHORIZED + message: + type: string + description: An error message + minLength: 1 + status: + type: number + description: The status code of the exception + example: 401 + default: 401 + errors: + type: array + items: + $ref: '#/components/schemas/GenericError' + description: A list of related errors + stack: + type: string + description: The stack trace (only in development mode) + required: + - name + - message + - status + GenericError: + type: object + properties: + name: + type: string + description: The error name + minLength: 1 + message: + type: string + description: An error message + minLength: 1 + additionalProperties: true + required: + - name + - message + Forbidden: + type: object + properties: + name: + type: string + description: The error name + minLength: 1 + example: FORBIDDEN + default: FORBIDDEN + message: + type: string + description: An error message + minLength: 1 + status: + type: number + description: The status code of the exception + example: 403 + default: 403 + errors: + type: array + items: + $ref: '#/components/schemas/GenericError' + description: A list of related errors + stack: + type: string + description: The stack trace (only in development mode) + required: + - name + - message + - status + ApiTokenCreation: + type: object + properties: + name: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + format: isNotBlank + required: + - name + - organizationId + - roles + Audit: + type: object + properties: + id: + type: number + userId: + type: string + format: uuid + nullable: true + entityId: + type: string + format: isNotBlank + description: The ID of the entity this audit is attached to + minLength: 1 + entityType: + type: string + enum: + - BOOKING + - RISK + - CLAUSE + - REFERRAL + - CUSTOMER + - OFFER + - POLICY + - ENDORSEMENT + - ORGANIZATION + - USER + - EMAIL_TEMPLATE + format: isNotBlank + description: The type of entity this audit is attached to + minLength: 1 + secondaryEntityId: + type: string + format: uuid + description: >- + A secondary ID of the entity this audit is attached to, for example + policy revision + nullable: true + message: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + required: + - entityId + - entityType + - message + WhereFilter: + type: object + AuditCreation: + type: object + properties: + id: + type: number + userId: + type: string + format: uuid + nullable: true + entityId: + type: string + format: isNotBlank + description: The ID of the entity this audit is attached to + minLength: 1 + entityType: + type: string + enum: + - BOOKING + - RISK + - CLAUSE + - REFERRAL + - CUSTOMER + - OFFER + - POLICY + - ENDORSEMENT + - ORGANIZATION + - USER + - EMAIL_TEMPLATE + format: isNotBlank + description: The type of entity this audit is attached to + minLength: 1 + secondaryEntityId: + type: string + format: uuid + description: >- + A secondary ID of the entity this audit is attached to, for example + policy revision + nullable: true + message: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + required: + - entityId + - entityType + - message + RenderDataResponse: + type: object + properties: + react: + type: string + format: isNotBlank + minLength: 1 + title: + type: string + format: isNotBlank + minLength: 1 + style: + type: string + format: isNotBlank + minLength: 1 + required: + - react + - title + - style + OAuthTokenResponse: + type: object + properties: + token_type: + type: string + format: isNotBlank + minLength: 1 + expires_in: + type: number + access_token: + type: string + format: isNotBlank + minLength: 1 + refresh_token: + type: string + scope: + type: string + required: + - token_type + - access_token + OAuthTokenRequest: + type: object + properties: + grant_type: + type: string + format: isNotBlank + minLength: 1 + client_id: + type: string + client_secret: + type: string + email: + type: string + password: + type: string + refresh_token: + type: string + code: + type: string + redirect_uri: + type: string + code_verifier: + type: string + required: + - grant_type + AccessToken: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + ttl: + type: number + format: isNotBlank + created: + type: string + format: isNotBlank + minLength: 1 + user: + $ref: '#/components/schemas/UserTokenDto' + organizationId: + type: string + organization: + $ref: '#/components/schemas/OrganizationTokenDto' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + bearer: + type: string + scope: + type: array + items: + $ref: '#/components/schemas/AccessScope' + organizationDescendants: + type: array + organizationAncestors: + type: array + organizationInsured: + type: array + roles: + type: array + required: + - id + - ttl + - created + UserTokenDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + organizationId: + type: string + role: + type: number + timezone: + type: string + locale: + type: string + dateFormat: + type: string + required: + - id + - name + - email + OrganizationTokenDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + allowConfirm: + type: boolean + allowUserClaim: + type: boolean + allowQuotation: + type: boolean + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + policyId: + type: object + type: + type: number + format: isNotBlank + hideZeroValues: + type: boolean + nullable: true + required: + - id + - hideCosts + - costBreakdown + - name + - type + ABAC: + type: object + properties: + accessScopes: + type: array + items: + $ref: '#/components/schemas/AccessScope' + where: + type: object + restrictions: + type: object + required: + - accessScopes + AccessScope: + type: object + properties: + subject: + type: array + items: + format: isNotBlank + type: string + action: + type: array + items: + format: isNotBlank + type: string + required: + - subject + - action + MfaRequest: + type: object + properties: + mfaCode: + type: string + minLength: 1 + csrf_token: + type: string + minLength: 1 + code: + type: string + minLength: 1 + state: + type: string + minLength: 1 + required: + - mfaCode + - csrf_token + - code + - state + OrganizationDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + taxRulesetId: + type: string + publicUrl: + type: string + address: + type: string + allowPayInvoice: + type: boolean + allowPayCard: + type: boolean + parent: + type: object + required: + - id + - name + - allowQuotation + - type + OrganizationChartDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + children: + type: array + items: + $ref: '#/components/schemas/OrganizationChartDto' + required: + - id + - name + - children + OrganizationDtoSystem: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + policies: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyDto' + taxRulesetId: + type: string + publicUrl: + type: string + address: + type: string + allowPayInvoice: + type: boolean + allowPayCard: + type: boolean + parent: + type: object + required: + - id + - name + - allowQuotation + - type + OrganizationPolicyDto: + type: object + properties: + policyId: + type: string + minLength: 1 + alias: + type: string + id: + type: string + required: + - policyId + OrganizationNameDto: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + required: + - id + - name + AvailablePolicyDto: + type: object + properties: + policyId: + type: string + minLength: 1 + name: + type: string + minLength: 1 + required: + - policyId + - name + EndorsementDto: + type: object + properties: + id: + type: string + organizationId: + type: string + policyId: + type: string + reference: + type: string + OrganizationFormDto: + type: object + properties: + id: + type: string + format: isNotBlank + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowPayCard: + type: boolean + allowPayInvoice: + type: boolean + allowConfirmationPayCard: + type: boolean + allowConfirmationPayInvoice: + type: boolean + allowedImmediatePaymentTypes: + type: array + items: + type: string + allowConsignee: + type: boolean + allowLetterOfCredit: + type: boolean + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + users: + type: array + items: + $ref: '#/components/schemas/User' + parentId: + type: string + stripeAccountId: + type: string + externalReference: + type: string + referencePrefix: + type: string + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + allowConfirm: + type: boolean + format: isNotBlank + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + lastInvoicedAt: + type: string + invoiceCustomerId: + type: string + billingAddress: + type: string + billingEmail: + type: string + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + format: isNotBlank + contactEmail: + type: string + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + minLength: 1 + hideZeroValues: + type: boolean + requireConfirmation: + type: boolean + format: isNotBlank + street: + type: string + nullable: true + city: + type: string + nullable: true + state: + type: string + postcode: + type: string + nullable: true + country: + type: string + formatted: + type: string + format: isNotBlank + nullable: true + minLength: 1 + taxRulesetId: + type: string + descendants: + type: array + items: + type: string + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + required: + - name + - allowQuotation + - type + - allowReferrals + - allowConfirm + - allowModifyBookingFee + - allowBeneficiary + - allowMultiCommodity + - allowClaims + - requireNotification + - notificationMethod + - hideCosts + - costBreakdown + - requireConfirmation + - formatted + User: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + phone: + type: string + nullable: true + roles: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + organization: + $ref: '#/components/schemas/Organization' + organizationId: + type: string + format: isNotBlank + minLength: 1 + profile: + type: object + nullable: true + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + locale: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + deletedAt: + type: string + mfaType: + type: string + enum: + - OTP + - EMAIL + - SMS + required: + - name + - email + - roles + - organizationId + - dateFormat + - timezone + - locale + RoleMapping: + type: object + properties: + id: + type: string + format: uuid + userId: + type: string + roleId: + type: string + format: isNotBlank + minLength: 1 + role: + $ref: '#/components/schemas/Role' + user: + type: object + required: + - roleId + Role: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + minLength: 1 + description: + type: string + format: simple + nullable: true + minLength: 1 + organizationId: + type: string + format: uuid + nullable: true + mappings: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + clientMappings: + type: array + items: + $ref: '#/components/schemas/ClientRoleMapping' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + data: + type: object + nullable: true + required: + - name + - description + - abac + ClientRoleMapping: + type: object + properties: + id: + type: string + format: uuid + clientId: + type: string + roleId: + type: string + format: isNotBlank + minLength: 1 + role: + $ref: '#/components/schemas/Role' + client: + $ref: '#/components/schemas/OAuthClient' + required: + - roleId + OAuthClient: + type: object + properties: + id: + type: string + name: + type: string + format: isNotBlank + minLength: 1 + redirectUris: + type: object + nullable: true + allowedGrants: + type: array + items: + format: isNotBlank + organizationId: + type: object + roles: + nullable: true + oneOf: + - $ref: '#/components/schemas/ClientRoleMapping' + required: + - name + - redirectUris + - allowedGrants + - roles + Organization: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + minLength: 1 + allowedImmediatePaymentTypes: + type: array + items: + type: string + description: >- + A list of payment types that allow immediate booking creation when + usually they would be pending + allowPayInvoice: + type: boolean + description: Allow payment to be taken later by invoice + allowPayCard: + type: boolean + description: Allow payment to be taken by credit card + allowConfirmationPayInvoice: + type: boolean + description: Allow payment to be taken later by invoice on confirmation flow + allowConfirmationPayCard: + type: boolean + description: Allow payment to be taken by credit card on confirmation flow + allowConsignee: + type: boolean + description: Allow consignees to be added during quotation + allowUserClaim: + type: boolean + description: Allow users to access claim form + allowLetterOfCredit: + type: boolean + description: Allow letter of credit information to be added during quotation + parent: + $ref: '#/components/schemas/Organization' + addressId: + type: string + address: + type: object + policies: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicy' + externalReference: + type: string + format: isNotBlank + minLength: 1 + referencePrefix: + type: string + deprecated: true + stripeAccountId: + type: string + type: + type: number + format: isNotBlank + createdAt: + type: string + deletedAt: + type: string + invoiceCustomerId: + type: string + description: Invoice customer id + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + maximum: 1 + minimum: 0 + description: Notification method, 0 for nothing, 1 for email + format: isNotBlank + notificationEmail: + type: string + deprecated: true + billingAddress: + type: string + billingEmail: + type: string + allowConfirm: + type: boolean + format: isNotBlank + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + description: Allow referring of accepted offers + allowQuotation: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + description: UUID of email template used for sending claim by email + claimEmail: + type: string + deprecated: true + description: Email address of claim recipient, give in policy instead + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + taxRulesetId: + type: string + description: The ruleset of taxes applied to this organization + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + description: Hide the cost breakdown in the customer & TI views + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + minLength: 1 + hideZeroValues: + type: boolean + description: Hides zero values + requireConfirmation: + type: boolean + description: >- + Dictates should the end customer be directed to the confirmation + flow + format: isNotBlank + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + description: A list of address types shown in client/public portal + contactEmail: + type: string + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + required: + - name + - policies + - externalReference + - type + - requireNotification + - notificationMethod + - allowConfirm + - allowReferrals + - allowQuotation + - allowClaims + - allowModifyBookingFee + - allowBeneficiary + - allowMultiCommodity + - hideCosts + - costBreakdown + - requireConfirmation + - enforceTrackingCode + OrganizationPolicy: + type: object + properties: + id: + type: string + format: uuid + organizationId: + type: string + format: isNotBlank + minLength: 1 + policyId: + type: string + format: isNotBlank + minLength: 1 + alias: + type: string + format: isNotBlank + minLength: 1 + bookingFee: + type: number + minimum: 0 + format: isNotBlank + bookingFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + description: Booking Fee type, PERCENT or FLAT_FEE + format: isNotBlank + minLength: 1 + technologyFee: + type: number + minimum: 0 + format: isNotBlank + technologyFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + description: Technology Fee type, PERCENT or FLAT_FEE + format: isNotBlank + minLength: 1 + required: + - organizationId + - policyId + - alias + - bookingFee + - bookingFeeType + - technologyFee + - technologyFeeType + AdditionalFieldString: + type: object + properties: + id: + type: string + minLength: 1 + type: + type: string + enum: + - string + minLength: 1 + mandatory: + type: boolean + required: + - id + - type + - mandatory + AdditionalFieldEnum: + type: object + properties: + id: + type: string + minLength: 1 + type: + type: string + enum: + - enum + minLength: 1 + mandatory: + type: boolean + data: + $ref: '#/components/schemas/EnumDataType' + required: + - id + - type + - mandatory + - data + EnumDataType: + type: object + properties: + options: + type: array + items: + type: string + required: + - options + OrganizationFormDtoCreation: + type: object + properties: + id: + type: string + format: isNotBlank + name: + type: string + format: isNotBlank + minLength: 1 + allowQuotation: + type: boolean + format: isNotBlank + allowPayCard: + type: boolean + allowPayInvoice: + type: boolean + allowConfirmationPayCard: + type: boolean + allowConfirmationPayInvoice: + type: boolean + allowedImmediatePaymentTypes: + type: array + items: + type: string + allowConsignee: + type: boolean + allowLetterOfCredit: + type: boolean + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + users: + type: array + items: + $ref: '#/components/schemas/User' + parentId: + type: string + stripeAccountId: + type: string + externalReference: + type: string + referencePrefix: + type: string + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + allowConfirm: + type: boolean + format: isNotBlank + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + lastInvoicedAt: + type: string + invoiceCustomerId: + type: string + billingAddress: + type: string + billingEmail: + type: string + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + format: isNotBlank + contactEmail: + type: string + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + minLength: 1 + hideZeroValues: + type: boolean + requireConfirmation: + type: boolean + format: isNotBlank + street: + type: string + nullable: true + city: + type: string + nullable: true + state: + type: string + postcode: + type: string + nullable: true + country: + type: string + formatted: + type: string + format: isNotBlank + nullable: true + minLength: 1 + taxRulesetId: + type: string + descendants: + type: array + items: + type: string + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + required: + - name + - allowQuotation + - type + - allowReferrals + - allowConfirm + - allowModifyBookingFee + - allowBeneficiary + - allowMultiCommodity + - allowClaims + - requireNotification + - notificationMethod + - hideCosts + - costBreakdown + - requireConfirmation + - formatted + OrganizationFormDtoUpdate: + type: object + properties: + id: + type: string + format: isNotBlank + name: + type: string + format: isNotBlank + allowQuotation: + type: boolean + format: isNotBlank + allowPayCard: + type: boolean + allowPayInvoice: + type: boolean + allowConfirmationPayCard: + type: boolean + allowConfirmationPayInvoice: + type: boolean + allowedImmediatePaymentTypes: + type: array + items: + type: string + allowConsignee: + type: boolean + allowLetterOfCredit: + type: boolean + allowUserClaim: + type: boolean + type: + type: number + format: isNotBlank + users: + type: array + items: + $ref: '#/components/schemas/User' + parentId: + type: string + stripeAccountId: + type: string + externalReference: + type: string + referencePrefix: + type: string + publicUrl: + type: string + publicDateFormat: + type: string + publicLocale: + type: string + allowReferrals: + type: boolean + format: isNotBlank + allowReferAccepted: + type: boolean + allowConfirm: + type: boolean + format: isNotBlank + allowModifyBookingFee: + type: boolean + format: isNotBlank + allowBeneficiary: + type: boolean + format: isNotBlank + allowMultiCommodity: + type: boolean + format: isNotBlank + allowClaims: + type: boolean + format: isNotBlank + claimTemplateId: + type: string + lastInvoicedAt: + type: string + invoiceCustomerId: + type: string + billingAddress: + type: string + billingEmail: + type: string + requireNotification: + type: boolean + format: isNotBlank + notificationMethod: + type: number + format: isNotBlank + contactEmail: + type: string + hideCosts: + type: boolean + format: isNotBlank + costBreakdown: + type: string + enum: + - NONE + - FULL + - COMBINED_FEES + format: isNotBlank + hideZeroValues: + type: boolean + requireConfirmation: + type: boolean + format: isNotBlank + street: + type: string + nullable: true + city: + type: string + nullable: true + state: + type: string + postcode: + type: string + nullable: true + country: + type: string + formatted: + type: string + format: isNotBlank + nullable: true + taxRulesetId: + type: string + descendants: + type: array + items: + type: string + allowedAddressTypes: + type: array + items: + type: string + enum: + - ADDRESS + - IATA + - LOCODE + - CITY + - FREETEXT + additionalFields: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AdditionalFieldString' + - $ref: '#/components/schemas/AdditionalFieldEnum' + enforceTrackingCode: + type: boolean + PublicSetupResponse: + type: object + properties: + locale: + type: string + nullable: true + dateFormat: + type: string + nullable: true + allowQuotation: + type: boolean + OrganizationInsurersDto: + type: object + properties: + id: + type: string + minLength: 1 + name: + type: string + minLength: 1 + insurers: + type: array + items: + $ref: '#/components/schemas/OrganizationNameDto' + required: + - id + - name + - insurers + OrganizationPolicyFormDto: + type: object + properties: + policyId: + type: string + minLength: 1 + alias: + type: string + id: + type: string + bookingFee: + type: number + bookingFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + technologyFee: + type: number + technologyFeeType: + type: string + enum: + - PERCENT + - FLAT_FEE + required: + - policyId + RoleCreation: + type: object + properties: + name: + type: string + format: isNotBlank + minLength: 1 + description: + type: string + format: simple + nullable: true + minLength: 1 + organizationId: + type: string + format: uuid + nullable: true + mappings: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + clientMappings: + type: array + items: + $ref: '#/components/schemas/ClientRoleMapping' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + data: + type: object + nullable: true + required: + - name + - description + - abac + DeletedEntity: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + required: + - id + RoleUpdate: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + description: + type: string + format: simple + nullable: true + organizationId: + type: string + format: uuid + nullable: true + mappings: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + clientMappings: + type: array + items: + $ref: '#/components/schemas/ClientRoleMapping' + abac: + type: array + items: + $ref: '#/components/schemas/ABAC' + data: + type: object + nullable: true + Status: + type: object + properties: + statusMsg: + type: string + minLength: 1 + required: + - statusMsg + UserDto: + type: object + properties: + id: + type: string + format: uuid + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + organization: + type: string + required: + - id + - name + UserCreationCreation: + type: object + properties: + id: + type: string + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + format: isNotBlank + organization: + $ref: '#/components/schemas/Organization' + organizationId: + type: string + profile: + type: object + nullable: true + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + locale: + type: string + format: isNotBlank + minLength: 1 + createdAt: + type: string + deletedAt: + type: string + required: + - name + - email + - roles + - dateFormat + - timezone + - locale + GenerateSecretResponse: + type: object + properties: + secret: + type: string + format: isNotBlank + minLength: 1 + required: + - secret + UserFormDto: + type: object + properties: + id: + type: string + format: uuid + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + organization: + type: string + organizationId: + type: string + format: isNotBlank + minLength: 1 + roles: + type: array + items: + $ref: '#/components/schemas/RoleResponse' + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + locale: + type: string + format: isNotBlank + minLength: 1 + required: + - id + - name + - email + - organizationId + - roles + - dateFormat + - timezone + - locale + RoleResponse: + type: object + properties: + id: + type: string + format: isNotBlank + minLength: 1 + name: + type: string + format: isNotBlank + minLength: 1 + required: + - id + - name + UserProfileUpdate: + type: object + properties: + id: + type: string + name: + type: string + format: isNotBlank + minLength: 1 + email: + type: string + format: isNotBlank + minLength: 1 + dateFormat: + type: string + format: isNotBlank + minLength: 1 + timezone: + type: string + format: isNotBlank + minLength: 1 + password: + type: string + oldPassword: + type: string + mfaType: + type: string + enum: + - OTP + - EMAIL + - SMS + phone: + type: string + mfaCode: + type: string + required: + - name + - email + - dateFormat + - timezone + UserUpdate: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + format: isNotBlank + email: + type: string + format: isNotBlank + roles: + type: array + items: + $ref: '#/components/schemas/RoleMapping' + organization: + $ref: '#/components/schemas/Organization' + organizationId: + type: string + format: isNotBlank + profile: + type: object + nullable: true + dateFormat: + type: string + format: isNotBlank + timezone: + type: string + format: isNotBlank + locale: + type: string + format: isNotBlank + createdAt: + type: string + deletedAt: + type: string + ChangePassword: + type: object + properties: + password: + type: string + MfaVerificationRequest: + type: object + properties: + mfaCode: + type: string + minLength: 1 + userId: + type: string + minLength: 1 + required: + - mfaCode + - userId +paths: + /api/v2/user/api-tokens: + post: + operationId: api-tokensCreateApiToken + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ApiToken' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/ApiTokenCreation' + tags: + - ApiTokenController + /api/v2/user/api-tokens/{id}: + delete: + operationId: api-tokensDeleteApiToken + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - ApiTokenController + /api/v2/user/audits: + get: + operationId: auditsFetch + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Audit' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Audit' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Fetches audits in batches set by perPage (default 20). Should be used + mainly from UI. + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - AuditController + post: + operationId: auditsCreate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Audit' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/AuditCreation' + tags: + - AuditController + /api/v2/user/oauth/authorize: + get: + operationId: oauthAuthorize + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RenderDataResponse' + '*/*': + schema: + type: object + description: Success + headers: + Cache-Control: + example: no-store + schema: + type: string + Pragma: + example: no-cache + schema: + type: string + parameters: + - in: query + required: true + name: response_type + schema: + type: string + format: isNotBlank + minLength: 1 + - in: query + required: true + name: client_id + schema: + type: string + format: isNotBlank + minLength: 1 + - in: query + required: false + name: redirect_uri + schema: + type: string + - in: query + required: false + name: scope + schema: + type: string + - in: query + required: false + name: state + schema: + type: string + - in: query + required: false + name: code_challenge + schema: + type: string + - in: query + required: false + name: code_challenge_method + schema: + type: string + - in: query + required: false + name: error_code + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/forgotten: + get: + operationId: oauthForgotten + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RenderDataResponse' + '*/*': + schema: + type: object + description: Success + headers: + Cache-Control: + example: no-store + schema: + type: string + Pragma: + example: no-cache + schema: + type: string + parameters: + - in: query + name: code + required: false + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/auth/login: + post: + operationId: oauthLogin + responses: + '200': + description: Success + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + type: object + tags: + - Authentications + /api/v2/user/oauth/auth/reset: + post: + operationId: oauthResetRequest + responses: + '200': + description: Success + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + type: object + tags: + - Authentications + /api/v2/user/oauth/token: + post: + operationId: oauthAccessTokenRequest + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthTokenResponse' + description: Success + headers: + Cache-Control: + example: no-store + schema: + type: string + Pragma: + example: no-cache + schema: + type: string + parameters: + - in: header + name: authorization + required: false + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthTokenRequest' + tags: + - Authentications + /api/v2/user/oauth/exchange: + get: + operationId: oauthExchange + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AccessToken' + description: Success + parameters: + - in: header + name: authorization + required: false + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/logout: + post: + operationId: oauthLogout + responses: + '200': + description: Success + parameters: + - in: header + name: authorization + required: false + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/mfa: + get: + operationId: oauthMfaForm + responses: + '200': + description: Success + parameters: + - in: query + name: code + required: false + schema: + type: string + - in: query + name: csrf_token + required: false + schema: + type: string + - in: query + name: state + required: false + schema: + type: string + - in: query + name: error + required: false + schema: + type: string + tags: + - Authentications + /api/v2/user/oauth/check-mfa-code: + post: + operationId: oauthCheckMfaCode + responses: + '200': + content: + '*/*': + schema: + type: object + description: Success + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/MfaRequest' + tags: + - Authentications + /api/v2/user/organizations: + get: + operationId: organizationsFetch + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/OrganizationDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/OrganizationDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Fetches organizations in batches set by perPage (default 20). Should be + used mainly from UI. + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - OrganizationController + post: + operationId: organizationsCreate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDtoCreation' + tags: + - OrganizationController + /api/v2/user/organizations/chart: + get: + operationId: organizationsFetchChart + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationChartDto' + description: Success + '206': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationChartDto' + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Fetches organization hierarchy chart + security: + - bearerAuth: [] + parameters: [] + tags: + - OrganizationController + /api/v2/user/organizations/find: + get: + operationId: organizationsFetchAll + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: skip + schema: + type: number + - in: query + required: false + name: take + schema: + type: number + - in: query + required: false + name: relations + schema: + type: array + items: + type: string + - in: query + required: false + name: order + schema: + type: object + - in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + - in: query + required: false + name: select + schema: + type: object + tags: + - OrganizationController + /api/v2/user/organizations/find/ids: + get: + operationId: organizationsFindByIds + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationDtoSystem' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: query + name: ids + required: false + schema: + type: array + items: + type: string + - required: false + in: query + name: select + schema: + type: object + tags: + - OrganizationController + /api/v2/user/organizations/list: + get: + operationId: organizationsListAll + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationNameDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: skip + schema: + type: number + - in: query + required: false + name: take + schema: + type: number + - in: query + required: false + name: relations + schema: + type: array + items: + type: string + - in: query + required: false + name: order + schema: + type: object + - in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + - in: query + required: false + name: select + schema: + type: object + tags: + - OrganizationController + /api/v2/user/organizations/available-policies: + get: + operationId: organizationsGetAvailablePolicies + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AvailablePolicyDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Returns a list of policies that can be assigned to organization of the + user + security: + - bearerAuth: [] + parameters: [] + tags: + - OrganizationController + /api/v2/user/organizations/{id}/endorsements: + get: + operationId: organizationsFetchEndorsements + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/EndorsementDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/EndorsementDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - OrganizationController + /api/v2/user/organizations/{id}: + get: + operationId: organizationsGet + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Organization' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + patch: + operationId: organizationsUpdate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDtoUpdate' + tags: + - OrganizationController + delete: + operationId: organizationsSoftDelete + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/stripe-account: + get: + operationId: organizationsGetStripeAccount + responses: + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/closure-values: + get: + operationId: organizationsGetValuesFromTree + responses: + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + type: array + items: + nullable: true + oneOf: + - type: integer + - type: number + - type: string + - type: boolean + - type: array + - type: object + tags: + - OrganizationController + /api/v2/user/organizations/{id}/policies: + get: + operationId: organizationsFetchOrganizationPolicies + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: [] + description: Returns the assigned policies of a requested organization + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/details: + get: + operationId: organizationsGetWithDetails + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Returns detailed information for an organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/api-tokens: + get: + operationId: organizationsFetchApiTokens + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ApiToken' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ApiToken' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - OrganizationController + /api/v2/user/organizations/{id}/setup: + get: + operationId: organizationsGetPublicSetup + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PublicSetupResponse' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/descendantIds: + get: + operationId: organizationsGetDescendantIds + responses: + '200': + content: + application/json: + schema: + type: array + items: + type: string + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/name: + get: + operationId: organizationsGetName + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationNameDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + /api/v2/user/organizations/{id}/insurers: + get: + operationId: organizationsFetchInsurers + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationNameDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Returns list of insurers assigned for requested organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + post: + operationId: organizationsUpdateInsurers + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationInsurersDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Update list of insurers assigned for organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + properties: + insurerIds: + type: array + items: + type: string + format: uuid + type: object + required: + - insurerIds + tags: + - OrganizationController + /api/v2/user/organizations/{id}/assigned-policies: + get: + operationId: organizationsFetchAssignedPolicies + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Returns the assigned policies of a requested organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationController + post: + operationId: organizationsAssignPolicies + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: Assign policies for requested organization + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + properties: + policies: + type: array + items: + $ref: '#/components/schemas/OrganizationPolicyFormDto' + type: object + required: + - policies + tags: + - OrganizationController + /api/v2/user/organizations/organization-policies/{id}: + get: + operationId: organizationsGetOrganizationPolicy + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationPolicy' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - OrganizationPolicyController + /api/v2/user/organizations/organization-policies/{policyId}: + delete: + operationId: organizationsRemovePolicy + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: policyId + required: true + schema: + type: string + tags: + - OrganizationPolicyController + /api/v2/user/roles: + get: + operationId: rolesFetch + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Role' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Role' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Fetches roles in batches set by perPage (default 20). Should be used + mainly from UI. + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - RoleController + post: + operationId: rolesCreate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/RoleCreation' + tags: + - RoleController + /api/v2/user/roles/{id}: + get: + operationId: rolesGet + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - RoleController + delete: + operationId: rolesDelete + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeletedEntity' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - RoleController + patch: + operationId: rolesUpdate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/RoleUpdate' + tags: + - RoleController + /api/v2/user/status: + get: + operationId: statusCheckUserServiceStatus + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: [] + parameters: [] + tags: + - StatusController + /api/v2/user/users: + get: + operationId: usersFetch + responses: + '200': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/UserDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Success + '206': + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/UserDto' + count: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + page: + type: integer + default: 0 + minLength: 0 + multipleOf: 1 + perPage: + type: integer + default: 20 + minLength: 1 + multipleOf: 1 + required: + - data + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + description: >- + Fetches users in batches set by perPage (default 20). Should be used + mainly from UI. + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: page + description: Index of page + schema: + type: number + - in: query + required: false + name: perPage + description: Page size + schema: + type: number + - in: query + required: false + name: globalFilter + description: Global filter of filterable fields + schema: + type: string + - in: query + required: false + name: order + description: Stringified TypeOrm order + schema: + type: object + example: + name: ASC + age: DESC + - in: query + required: false + name: where + description: Stringified TypeOrm where query + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + example: + name: John Smith + age: 24 + - in: query + required: false + name: select + description: Stringified TypeOrm select query + schema: + type: object + example: + name: true + age: true + tags: + - UserController + post: + operationId: usersCreate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreationCreation' + tags: + - UserController + /api/v2/user/users/find: + get: + operationId: usersFetchAll + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: query + required: false + name: skip + schema: + type: number + - in: query + required: false + name: take + schema: + type: number + - in: query + required: false + name: relations + schema: + type: array + items: + type: string + - in: query + required: false + name: order + schema: + type: object + - in: query + required: false + name: where + schema: + type: array + items: + $ref: '#/components/schemas/WhereFilter' + - in: query + required: false + name: select + schema: + type: object + tags: + - UserController + /api/v2/user/users/generate-otp-secret: + get: + operationId: usersGenerateOtpSecret + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GenerateSecretResponse' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + tags: + - UserController + /api/v2/user/users/{id}: + get: + operationId: usersGetById + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserFormDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + delete: + operationId: usersSoftDelete + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + patch: + operationId: usersUpdate + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserDto' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserUpdate' + tags: + - UserController + /api/v2/user/users/{id}/profile: + get: + operationId: usersProfile + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Success + '206': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Partial Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + patch: + operationId: usersUpdateProfile + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileUpdate' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileUpdate' + tags: + - UserController + /api/v2/user/users/setup-otp: + post: + operationId: usersSetupOtp + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileUpdate' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + properties: + mfaSecret: + type: string + type: object + tags: + - UserController + /api/v2/user/users/{id}/roles: + get: + operationId: usersGetRoles + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RoleResponse' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + /api/v2/user/users/password: + post: + operationId: usersChangePassword + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + properties: + oldpassword: + type: string + newpassword: + type: string + type: object + tags: + - UserController + /api/v2/user/users/reset-password: + post: + operationId: usersResetPassword + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/ChangePassword' + tags: + - UserController + /api/v2/user/users/{id}/reset-password: + post: + operationId: usersResetPasswordById + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: + - in: path + name: id + required: true + schema: + type: string + tags: + - UserController + /api/v2/user/users/generate-mfa-code: + post: + operationId: usersGenerateMfaCode + responses: + '200': + content: + '*/*': + schema: + type: boolean + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + properties: + userId: + type: string + type: object + tags: + - UserController + /api/v2/user/users/reset-mfa-type: + post: + operationId: usersResetMfaType + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Success + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/Unauthorized' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/Forbidden' + description: Forbidden + security: + - bearerAuth: [] + parameters: [] + requestBody: + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/MfaVerificationRequest' + tags: + - UserController +tags: + - name: ApiTokenController + - name: AuditController + - name: Authentications + - name: OrganizationController + - name: OrganizationPolicyController + - name: RoleController + - name: StatusController + - name: UserController +servers: + - url: https://sales.app.redkik.com/api/v2/ diff --git a/sdks/db/processed-custom-request-cache/redkik.com.yaml b/sdks/db/processed-custom-request-cache/redkik.com.yaml new file mode 100644 index 0000000000..846d8ecdd0 --- /dev/null +++ b/sdks/db/processed-custom-request-cache/redkik.com.yaml @@ -0,0 +1,19 @@ +processed: + securitySchemes: + bearerAuth: + type: http + scheme: bearer + bearerFormat: JWT + apiBaseUrl: https://sales.app.redkik.com/api/v2/ + apiVersion: 2.0.0 + apiTitle: userservice + endpoints: 47 + sdkMethods: 60 + schemas: 53 + parameters: 282 + originalCustomRequest: + type: GET + url: https://sales.app.redkik.com/api/v2/apidoc/doc/userservice.json + apiBaseUrl: https://sales.app.redkik.com/api/v2/ + customRequestSpecFilename: redkik.com.yaml + difficultyScore: 157 diff --git a/sdks/db/progress/redkik-progress.yaml b/sdks/db/progress/redkik-progress.yaml new file mode 100644 index 0000000000..1c26283f6f --- /dev/null +++ b/sdks/db/progress/redkik-progress.yaml @@ -0,0 +1,304 @@ +examples: {} +examples_2: {} +examples_3: {} +ignoreObjectsWithNoProperties: true +operationIds: + /api/v2/user/api-tokens: + post: ApiTokenController_createUserApiToken + /api/v2/user/api-tokens/{id}: + delete: ApiTokenController_deleteById + /api/v2/user/audits: + get: AuditController_getAudits + post: AuditController_createUserAudits + /api/v2/user/oauth/auth/login: + post: Authentications_postOauthLogin + /api/v2/user/oauth/auth/reset: + post: Authentications_resetOauthToken + /api/v2/user/oauth/authorize: + get: Authentications_authorizeOauthUser + /api/v2/user/oauth/check-mfa-code: + post: Authentications_checkMfaCode + /api/v2/user/oauth/exchange: + get: Authentications_exchangeOauthToken + /api/v2/user/oauth/forgotten: + get: Authentications_getForgottenOauth + /api/v2/user/oauth/logout: + post: Authentications_performLogout + /api/v2/user/oauth/mfa: + get: Authentications_getMfaDetails + /api/v2/user/oauth/token: + post: Authentications_createUserOauthToken + /api/v2/user/organizations: + get: OrganizationController_getOrganizations + post: OrganizationController_createUserOrganization + /api/v2/user/organizations/available-policies: + get: OrganizationController_listAvailablePolicies + /api/v2/user/organizations/chart: + get: OrganizationController_getOrganizationChart + /api/v2/user/organizations/find: + get: OrganizationController_findUserOrganizations + /api/v2/user/organizations/find/ids: + get: OrganizationController_findUserOrganizationIds + /api/v2/user/organizations/list: + get: OrganizationController_listUserOrganizations + /api/v2/user/organizations/organization-policies/{id}: + get: OrganizationPolicyController_getById + /api/v2/user/organizations/organization-policies/{policyId}: + delete: OrganizationPolicyController_deletePolicyById + /api/v2/user/organizations/{id}: + delete: OrganizationController_deleteOrganizationById + get: OrganizationController_getById + patch: OrganizationController_updateOrganizationById + /api/v2/user/organizations/{id}/api-tokens: + get: OrganizationController_getUserApiTokens + /api/v2/user/organizations/{id}/assigned-policies: + get: OrganizationController_getAssignedPolicies + post: OrganizationController_assignPolicies + /api/v2/user/organizations/{id}/closure-values: + get: OrganizationController_getClosureValues + /api/v2/user/organizations/{id}/descendantIds: + get: OrganizationController_getDescendantIds + /api/v2/user/organizations/{id}/details: + get: OrganizationController_getOrganizationDetails + /api/v2/user/organizations/{id}/endorsements: + get: OrganizationController_getUserEndorsements + /api/v2/user/organizations/{id}/insurers: + get: OrganizationController_listInsurerAssignedForOrganization + post: OrganizationController_updateInsurersList + /api/v2/user/organizations/{id}/name: + get: OrganizationController_getOrganizationNameById + /api/v2/user/organizations/{id}/policies: + get: OrganizationController_getPolicies + /api/v2/user/organizations/{id}/setup: + get: OrganizationController_getUserOrganizationSetup + /api/v2/user/organizations/{id}/stripe-account: + get: OrganizationController_getStripeAccount + /api/v2/user/roles: + get: RoleController_getUserRoles + post: RoleController_createRole + /api/v2/user/roles/{id}: + delete: RoleController_deleteUserRole + get: RoleController_getUserRolesById + patch: RoleController_updateUserRole + /api/v2/user/status: + get: StatusController_getUserStatus + /api/v2/user/users: + get: UserController_getUsersList + post: UserController_createUser + /api/v2/user/users/find: + get: UserController_findUsers + /api/v2/user/users/generate-mfa-code: + post: UserController_generateMfaCode + /api/v2/user/users/generate-otp-secret: + get: UserController_generateOtpSecret + /api/v2/user/users/password: + post: UserController_resetPassword + /api/v2/user/users/reset-mfa-type: + post: UserController_resetMfaType + /api/v2/user/users/reset-password: + post: UserController_resetPassword + /api/v2/user/users/setup-otp: + post: UserController_setupOtp + /api/v2/user/users/{id}: + delete: UserController_deleteUserById + get: UserController_getById + patch: UserController_updateUserById + /api/v2/user/users/{id}/profile: + get: UserController_getUserProfile + patch: UserController_updateUserProfile + /api/v2/user/users/{id}/reset-password: + post: UserController_resetUserPassword + /api/v2/user/users/{id}/roles: + get: UserController_getUserRolesById +operationTags: {} +renameTags: {} +requestSchemaNames: + /api/v2/user/oauth/auth/login: + post: + application/json: AuthenticationsPostOauthLoginRequest + /api/v2/user/oauth/auth/reset: + post: + application/json: AuthenticationsResetOauthTokenRequest + /api/v2/user/organizations/{id}/assigned-policies: + post: + application/json: OrganizationControllerAssignPoliciesRequest + /api/v2/user/organizations/{id}/closure-values: + get: + application/json: OrganizationControllerGetClosureValuesRequest + /api/v2/user/organizations/{id}/insurers: + post: + application/json: OrganizationControllerUpdateInsurersListRequest + /api/v2/user/users/generate-mfa-code: + post: + application/json: UserControllerGenerateMfaCodeRequest + /api/v2/user/users/password: + post: + application/json: UserControllerResetPasswordRequest + /api/v2/user/users/setup-otp: + post: + application/json: UserControllerSetupOtpRequest +responseDescriptions: {} +responseSchemaNames: + /api/v2/user/api-tokens/{id}: + delete: + '200': + '*/*': ApiTokenControllerDeleteByIdResponse + /api/v2/user/audits: + get: + '200': + application/json: AuditControllerGetAuditsResponse + '206': + application/json: AuditControllerGetAudits206Response + /api/v2/user/oauth/authorize: + get: + '200': + '*/*': AuthenticationsAuthorizeOauthUserResponse + /api/v2/user/oauth/check-mfa-code: + post: + '200': + '*/*': AuthenticationsCheckMfaCodeResponse + /api/v2/user/oauth/forgotten: + get: + '200': + '*/*': AuthenticationsGetForgottenOauthResponse + /api/v2/user/organizations: + get: + '200': + application/json: OrganizationControllerGetOrganizationsResponse + '206': + application/json: OrganizationControllerGetOrganizations206Response + /api/v2/user/organizations/available-policies: + get: + '200': + application/json: OrganizationControllerListAvailablePoliciesResponse + /api/v2/user/organizations/find: + get: + '200': + application/json: OrganizationControllerFindUserOrganizationsResponse + /api/v2/user/organizations/find/ids: + get: + '200': + application/json: OrganizationControllerFindUserOrganizationIdsResponse + /api/v2/user/organizations/list: + get: + '200': + application/json: OrganizationControllerListUserOrganizationsResponse + /api/v2/user/organizations/organization-policies/{policyId}: + delete: + '200': + '*/*': OrganizationPolicyControllerDeletePolicyByIdResponse + /api/v2/user/organizations/{id}: + delete: + '200': + '*/*': OrganizationControllerDeleteOrganizationByIdResponse + /api/v2/user/organizations/{id}/api-tokens: + get: + '200': + application/json: OrganizationControllerGetUserApiTokensResponse + '206': + application/json: OrganizationControllerGetUserApiTokens206Response + /api/v2/user/organizations/{id}/assigned-policies: + get: + '200': + application/json: OrganizationControllerGetAssignedPoliciesResponse + post: + '200': + application/json: OrganizationControllerAssignPoliciesResponse + /api/v2/user/organizations/{id}/descendantIds: + get: + '200': + application/json: OrganizationControllerGetDescendantIdsResponse + /api/v2/user/organizations/{id}/endorsements: + get: + '200': + application/json: OrganizationControllerGetUserEndorsementsResponse + '206': + application/json: OrganizationControllerGetUserEndorsements206Response + /api/v2/user/organizations/{id}/insurers: + get: + '200': + application/json: OrganizationControllerListInsurerAssignedForOrganizationResponse + /api/v2/user/organizations/{id}/policies: + get: + '200': + application/json: OrganizationControllerGetPoliciesResponse + /api/v2/user/roles: + get: + '200': + application/json: RoleControllerGetUserRolesResponse + '206': + application/json: RoleControllerGetUserRoles206Response + /api/v2/user/users: + get: + '200': + application/json: UserControllerGetUsersListResponse + '206': + application/json: UserControllerGetUsersList206Response + /api/v2/user/users/find: + get: + '200': + application/json: UserControllerFindUsersResponse + /api/v2/user/users/generate-mfa-code: + post: + '200': + '*/*': UserControllerGenerateMfaCodeResponse + /api/v2/user/users/reset-password: + post: + '200': + '*/*': UserControllerResetPasswordResponse + /api/v2/user/users/{id}: + delete: + '200': + '*/*': UserControllerDeleteUserByIdResponse + /api/v2/user/users/{id}/reset-password: + post: + '200': + '*/*': UserControllerResetUserPasswordResponse + /api/v2/user/users/{id}/roles: + get: + '200': + application/json: UserControllerGetUserRolesByIdResponse +securityParameters: + client_id: + query: false + code: + query: false + code_challenge: + query: false + code_challenge_method: + query: false + csrf_token: + query: false + error: + query: false + error_code: + query: false + globalFilter: + query: false + ids: + query: false + order: + query: false + page: + query: false + perPage: + query: false + redirect_uri: + query: false + relations: + query: false + response_type: + query: false + scope: + query: false + select: + query: false + skip: + query: false + state: + query: false + take: + query: false + where: + query: false +validServerUrls: {} diff --git a/sdks/db/published/from-custom-request_redkik.com.json b/sdks/db/published/from-custom-request_redkik.com.json new file mode 100644 index 0000000000..4b39172794 --- /dev/null +++ b/sdks/db/published/from-custom-request_redkik.com.json @@ -0,0 +1,3183 @@ +{ + "securitySchemes": { + "bearerAuth": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + } + }, + "apiBaseUrl": "https://sales.app.redkik.com/api/v2/", + "apiVersion": "2.0.0", + "apiTitle": "userservice", + "endpoints": 47, + "sdkMethods": 60, + "schemas": 94, + "parameters": 282, + "originalCustomRequest": { + "type": "GET", + "url": "https://sales.app.redkik.com/api/v2/apidoc/doc/userservice.json", + "apiBaseUrl": "https://sales.app.redkik.com/api/v2/" + }, + "customRequestSpecFilename": "redkik.com.yaml", + "difficultyScore": 157, + "difficulty": "Medium", + "company": "Redkik", + "sdkName": "redkik-{language}-sdk", + "clientName": "Redkik", + "metaDescription": "Redkik is a global InsurTech company with the mission to transform and improve the insurance industry for all parties within logistics and transportation. Redkik's innovative software eliminates the need for annual and complex insurance policies. Through Redkik's embedded integration with licensed insurance providers, existing platforms and online systems can offer their customers tailored and transactional insurance at the time of sale.\n\nStarting as a cargo insurance solution, the market's immediate response has since molded the flexible software to be used to solve additional inefficiencies for warehouse, gap, spike and cyber insurance while multiple other applications are currently being developed.\n\nThe team of Redkik has a big passion for innovation and technology,  together with great experience and deep knowledge from logistics and transportation, risk management, cargo insurance, machine learning, and software development.\n\nJoin Redkik's rapidly growing network of global partners and exceed your business goals by offering transactional insurance through Redkik's seamless API integration.", + "apiStatusUrls": "inherit", + "homepage": "redkik.com/", + "developerDocumentation": "sales.app.redkik.com/api/v2/apidoc/?urls.primaryName=UserService", + "categories": [ + "risk_management", + "insurance", + "cargo" + ], + "category": "Finance", + "apiDescription": "Redkik is a global InsurTech company with the mission to transform and improve the insurance industry for all parties within logistics and transportation. Redkik's innovative software eliminates the need for annual and complex insurance policies. Through Redkik's embedded integration with licensed insurance providers, existing platforms and online systems can offer their customers tailored and transactional insurance at the time of sale.\n\nStarting as a cargo insurance solution, the market's immediate response has since molded the flexible software to be used to solve additional inefficiencies for warehouse, gap, spike and cyber insurance while multiple other applications are currently being developed.\n\nThe team of Redkik has a big passion for innovation and technology,  together with great experience and deep knowledge from logistics and transportation, risk management, cargo insurance, machine learning, and software development.\n\nJoin Redkik's rapidly growing network of global partners and exceed your business goals by offering transactional insurance through Redkik's seamless API integration.", + "methods": [ + { + "url": "/api/v2/user/api-tokens", + "method": "createUserApiToken", + "httpMethod": "post", + "tag": "ApiTokenController", + "typeScriptTag": "apiTokenController", + "description": "", + "parameters": [ + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "organizationId", + "schema": "string", + "required": true, + "description": "", + "example": "ORGANIZATIONID" + }, + { + "name": "roles", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/api-tokens/{id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "ApiTokenController", + "typeScriptTag": "apiTokenController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/audits", + "method": "getAudits", + "httpMethod": "get", + "tag": "AuditController", + "typeScriptTag": "auditController", + "description": "Fetches audits in batches set by perPage (default 20). Should be used mainly from UI.", + "parameters": [ + { + "name": "page", + "schema": "number", + "required": false, + "description": "Index of page" + }, + { + "name": "perPage", + "schema": "number", + "required": false, + "description": "Page size" + }, + { + "name": "globalFilter", + "schema": "string", + "required": false, + "description": "Global filter of filterable fields" + }, + { + "name": "order", + "schema": "object", + "required": false, + "description": "Stringified TypeOrm order", + "example": { + "name": "ASC", + "age": "DESC" + } + }, + { + "name": "where", + "schema": "array", + "required": false, + "description": "Stringified TypeOrm where query", + "example": { + "name": "John Smith", + "age": 24 + } + }, + { + "name": "select", + "schema": "object", + "required": false, + "description": "Stringified TypeOrm select query", + "example": { + "name": true, + "age": true + } + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "206", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/audits", + "method": "createUserAudits", + "httpMethod": "post", + "tag": "AuditController", + "typeScriptTag": "auditController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "userId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "entityId", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITYID" + }, + { + "name": "entityType", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITYTYPE" + }, + { + "name": "secondaryEntityId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "message", + "schema": "string", + "required": true, + "description": "", + "example": "MESSAGE" + }, + { + "name": "createdAt", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/oauth/authorize", + "method": "authorizeOauthUser", + "httpMethod": "get", + "tag": "Authentications", + "typeScriptTag": "authentications", + "description": "", + "parameters": [ + { + "name": "responseType", + "schema": "string", + "required": true, + "description": "", + "example": "RESPONSE_TYPE" + }, + { + "name": "clientId", + "schema": "string", + "required": true, + "description": "", + "example": "CLIENT_ID" + }, + { + "name": "redirectUri", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "scope", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "state", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "codeChallenge", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "codeChallengeMethod", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "errorCode", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/oauth/forgotten", + "method": "getForgottenOauth", + "httpMethod": "get", + "tag": "Authentications", + "typeScriptTag": "authentications", + "description": "", + "parameters": [ + { + "name": "code", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/oauth/auth/login", + "method": "postOauthLogin", + "httpMethod": "post", + "tag": "Authentications", + "typeScriptTag": "authentications", + "description": "", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/v2/user/oauth/auth/reset", + "method": "resetOauthToken", + "httpMethod": "post", + "tag": "Authentications", + "typeScriptTag": "authentications", + "description": "", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/v2/user/oauth/token", + "method": "createUserOauthToken", + "httpMethod": "post", + "tag": "Authentications", + "typeScriptTag": "authentications", + "description": "", + "parameters": [ + { + "name": "grant_type", + "schema": "string", + "required": true, + "description": "", + "example": "GRANT_TYPE" + }, + { + "name": "client_id", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "client_secret", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "email", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "password", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "refresh_token", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "code", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "redirect_uri", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "code_verifier", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/oauth/exchange", + "method": "exchangeOauthToken", + "httpMethod": "get", + "tag": "Authentications", + "typeScriptTag": "authentications", + "description": "", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/oauth/logout", + "method": "performLogout", + "httpMethod": "post", + "tag": "Authentications", + "typeScriptTag": "authentications", + "description": "", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/v2/user/oauth/mfa", + "method": "getMfaDetails", + "httpMethod": "get", + "tag": "Authentications", + "typeScriptTag": "authentications", + "description": "", + "parameters": [ + { + "name": "code", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "csrfToken", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "state", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "error", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/v2/user/oauth/check-mfa-code", + "method": "checkMfaCode", + "httpMethod": "post", + "tag": "Authentications", + "typeScriptTag": "authentications", + "description": "", + "parameters": [ + { + "name": "mfaCode", + "schema": "string", + "required": true, + "description": "", + "example": "MFACODE" + }, + { + "name": "csrf_token", + "schema": "string", + "required": true, + "description": "", + "example": "CSRF_TOKEN" + }, + { + "name": "code", + "schema": "string", + "required": true, + "description": "", + "example": "CODE" + }, + { + "name": "state", + "schema": "string", + "required": true, + "description": "", + "example": "STATE" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations", + "method": "getOrganizations", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "Fetches organizations in batches set by perPage (default 20). Should be used mainly from UI.", + "parameters": [ + { + "name": "page", + "schema": "number", + "required": false, + "description": "Index of page" + }, + { + "name": "perPage", + "schema": "number", + "required": false, + "description": "Page size" + }, + { + "name": "globalFilter", + "schema": "string", + "required": false, + "description": "Global filter of filterable fields" + }, + { + "name": "order", + "schema": "object", + "required": false, + "description": "Stringified TypeOrm order", + "example": { + "name": "ASC", + "age": "DESC" + } + }, + { + "name": "where", + "schema": "array", + "required": false, + "description": "Stringified TypeOrm where query", + "example": { + "name": "John Smith", + "age": 24 + } + }, + { + "name": "select", + "schema": "object", + "required": false, + "description": "Stringified TypeOrm select query", + "example": { + "name": true, + "age": true + } + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "206", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations", + "method": "createUserOrganization", + "httpMethod": "post", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "allowQuotation", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "allowPayCard", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "allowPayInvoice", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "allowConfirmationPayCard", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "allowConfirmationPayInvoice", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "allowedImmediatePaymentTypes", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "allowConsignee", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "allowLetterOfCredit", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "allowUserClaim", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "type", + "schema": "number", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "users", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "parentId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "stripeAccountId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "externalReference", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "referencePrefix", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "publicUrl", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "publicDateFormat", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "publicLocale", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "allowReferrals", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "allowReferAccepted", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "allowConfirm", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "allowModifyBookingFee", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "allowBeneficiary", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "allowMultiCommodity", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "allowClaims", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "claimTemplateId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "lastInvoicedAt", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "invoiceCustomerId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "billingAddress", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "billingEmail", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "requireNotification", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "notificationMethod", + "schema": "number", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "contactEmail", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "hideCosts", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "costBreakdown", + "schema": "string", + "required": true, + "description": "", + "example": "COSTBREAKDOWN" + }, + { + "name": "hideZeroValues", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "requireConfirmation", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "street", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "city", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "state", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "postcode", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "country", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "formatted", + "schema": "string", + "required": true, + "description": "", + "example": "FORMATTED" + }, + { + "name": "taxRulesetId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "descendants", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "allowedAddressTypes", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "additionalFields", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "enforceTrackingCode", + "schema": "boolean", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/chart", + "method": "getOrganizationChart", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "Fetches organization hierarchy chart", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "206", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/find", + "method": "findUserOrganizations", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "skip", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "take", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "relations", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "order", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "where", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "select", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/find/ids", + "method": "findUserOrganizationIds", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "ids", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "select", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/list", + "method": "listUserOrganizations", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "skip", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "take", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "relations", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "order", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "where", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "select", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/available-policies", + "method": "listAvailablePolicies", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "Returns a list of policies that can be assigned to organization of the user", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}/endorsements", + "method": "getUserEndorsements", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + }, + { + "name": "page", + "schema": "number", + "required": false, + "description": "Index of page" + }, + { + "name": "perPage", + "schema": "number", + "required": false, + "description": "Page size" + }, + { + "name": "globalFilter", + "schema": "string", + "required": false, + "description": "Global filter of filterable fields" + }, + { + "name": "order", + "schema": "object", + "required": false, + "description": "Stringified TypeOrm order", + "example": { + "name": "ASC", + "age": "DESC" + } + }, + { + "name": "where", + "schema": "array", + "required": false, + "description": "Stringified TypeOrm where query", + "example": { + "name": "John Smith", + "age": 24 + } + }, + { + "name": "select", + "schema": "object", + "required": false, + "description": "Stringified TypeOrm select query", + "example": { + "name": true, + "age": true + } + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "206", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}", + "method": "deleteOrganizationById", + "httpMethod": "delete", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}", + "method": "updateOrganizationById", + "httpMethod": "patch", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + }, + { + "name": "id", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "allowQuotation", + "schema": "boolean", + "description": "" + }, + { + "name": "allowPayCard", + "schema": "boolean", + "description": "" + }, + { + "name": "allowPayInvoice", + "schema": "boolean", + "description": "" + }, + { + "name": "allowConfirmationPayCard", + "schema": "boolean", + "description": "" + }, + { + "name": "allowConfirmationPayInvoice", + "schema": "boolean", + "description": "" + }, + { + "name": "allowedImmediatePaymentTypes", + "schema": "array", + "description": "" + }, + { + "name": "allowConsignee", + "schema": "boolean", + "description": "" + }, + { + "name": "allowLetterOfCredit", + "schema": "boolean", + "description": "" + }, + { + "name": "allowUserClaim", + "schema": "boolean", + "description": "" + }, + { + "name": "type", + "schema": "number", + "description": "" + }, + { + "name": "users", + "schema": "array", + "description": "" + }, + { + "name": "parentId", + "schema": "string", + "description": "" + }, + { + "name": "stripeAccountId", + "schema": "string", + "description": "" + }, + { + "name": "externalReference", + "schema": "string", + "description": "" + }, + { + "name": "referencePrefix", + "schema": "string", + "description": "" + }, + { + "name": "publicUrl", + "schema": "string", + "description": "" + }, + { + "name": "publicDateFormat", + "schema": "string", + "description": "" + }, + { + "name": "publicLocale", + "schema": "string", + "description": "" + }, + { + "name": "allowReferrals", + "schema": "boolean", + "description": "" + }, + { + "name": "allowReferAccepted", + "schema": "boolean", + "description": "" + }, + { + "name": "allowConfirm", + "schema": "boolean", + "description": "" + }, + { + "name": "allowModifyBookingFee", + "schema": "boolean", + "description": "" + }, + { + "name": "allowBeneficiary", + "schema": "boolean", + "description": "" + }, + { + "name": "allowMultiCommodity", + "schema": "boolean", + "description": "" + }, + { + "name": "allowClaims", + "schema": "boolean", + "description": "" + }, + { + "name": "claimTemplateId", + "schema": "string", + "description": "" + }, + { + "name": "lastInvoicedAt", + "schema": "string", + "description": "" + }, + { + "name": "invoiceCustomerId", + "schema": "string", + "description": "" + }, + { + "name": "billingAddress", + "schema": "string", + "description": "" + }, + { + "name": "billingEmail", + "schema": "string", + "description": "" + }, + { + "name": "requireNotification", + "schema": "boolean", + "description": "" + }, + { + "name": "notificationMethod", + "schema": "number", + "description": "" + }, + { + "name": "contactEmail", + "schema": "string", + "description": "" + }, + { + "name": "hideCosts", + "schema": "boolean", + "description": "" + }, + { + "name": "costBreakdown", + "schema": "string", + "description": "" + }, + { + "name": "hideZeroValues", + "schema": "boolean", + "description": "" + }, + { + "name": "requireConfirmation", + "schema": "boolean", + "description": "" + }, + { + "name": "street", + "schema": "string", + "description": "" + }, + { + "name": "city", + "schema": "string", + "description": "" + }, + { + "name": "state", + "schema": "string", + "description": "" + }, + { + "name": "postcode", + "schema": "string", + "description": "" + }, + { + "name": "country", + "schema": "string", + "description": "" + }, + { + "name": "formatted", + "schema": "string", + "description": "" + }, + { + "name": "taxRulesetId", + "schema": "string", + "description": "" + }, + { + "name": "descendants", + "schema": "array", + "description": "" + }, + { + "name": "allowedAddressTypes", + "schema": "array", + "description": "" + }, + { + "name": "additionalFields", + "schema": "array", + "description": "" + }, + { + "name": "enforceTrackingCode", + "schema": "boolean", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}/stripe-account", + "method": "getStripeAccount", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "OK" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}/closure-values", + "method": "getClosureValues", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "OK" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}/policies", + "method": "getPolicies", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "Returns the assigned policies of a requested organization", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}/details", + "method": "getOrganizationDetails", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "Returns detailed information for an organization", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}/api-tokens", + "method": "getUserApiTokens", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + }, + { + "name": "page", + "schema": "number", + "required": false, + "description": "Index of page" + }, + { + "name": "perPage", + "schema": "number", + "required": false, + "description": "Page size" + }, + { + "name": "globalFilter", + "schema": "string", + "required": false, + "description": "Global filter of filterable fields" + }, + { + "name": "order", + "schema": "object", + "required": false, + "description": "Stringified TypeOrm order", + "example": { + "name": "ASC", + "age": "DESC" + } + }, + { + "name": "where", + "schema": "array", + "required": false, + "description": "Stringified TypeOrm where query", + "example": { + "name": "John Smith", + "age": 24 + } + }, + { + "name": "select", + "schema": "object", + "required": false, + "description": "Stringified TypeOrm select query", + "example": { + "name": true, + "age": true + } + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "206", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}/setup", + "method": "getUserOrganizationSetup", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}/descendantIds", + "method": "getDescendantIds", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}/name", + "method": "getOrganizationNameById", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}/insurers", + "method": "listInsurerAssignedForOrganization", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "Returns list of insurers assigned for requested organization", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}/insurers", + "method": "updateInsurersList", + "httpMethod": "post", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "Update list of insurers assigned for organization", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + }, + { + "name": "insurerIds", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}/assigned-policies", + "method": "getAssignedPolicies", + "httpMethod": "get", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "Returns the assigned policies of a requested organization", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/{id}/assigned-policies", + "method": "assignPolicies", + "httpMethod": "post", + "tag": "OrganizationController", + "typeScriptTag": "organizationController", + "description": "Assign policies for requested organization", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + }, + { + "name": "policies", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/organization-policies/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "OrganizationPolicyController", + "typeScriptTag": "organizationPolicyController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/organizations/organization-policies/{policyId}", + "method": "deletePolicyById", + "httpMethod": "delete", + "tag": "OrganizationPolicyController", + "typeScriptTag": "organizationPolicyController", + "description": "", + "parameters": [ + { + "name": "policyId", + "schema": "string", + "required": true, + "description": "", + "example": "POLICYID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/roles", + "method": "getUserRoles", + "httpMethod": "get", + "tag": "RoleController", + "typeScriptTag": "roleController", + "description": "Fetches roles in batches set by perPage (default 20). Should be used mainly from UI.", + "parameters": [ + { + "name": "page", + "schema": "number", + "required": false, + "description": "Index of page" + }, + { + "name": "perPage", + "schema": "number", + "required": false, + "description": "Page size" + }, + { + "name": "globalFilter", + "schema": "string", + "required": false, + "description": "Global filter of filterable fields" + }, + { + "name": "order", + "schema": "object", + "required": false, + "description": "Stringified TypeOrm order", + "example": { + "name": "ASC", + "age": "DESC" + } + }, + { + "name": "where", + "schema": "array", + "required": false, + "description": "Stringified TypeOrm where query", + "example": { + "name": "John Smith", + "age": 24 + } + }, + { + "name": "select", + "schema": "object", + "required": false, + "description": "Stringified TypeOrm select query", + "example": { + "name": true, + "age": true + } + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "206", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/roles", + "method": "createRole", + "httpMethod": "post", + "tag": "RoleController", + "typeScriptTag": "roleController", + "description": "", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "DESCRIPTION" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "organizationId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "mappings", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "clientMappings", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "abac", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "data", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/roles/{id}", + "method": "deleteUserRole", + "httpMethod": "delete", + "tag": "RoleController", + "typeScriptTag": "roleController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/roles/{id}", + "method": "getUserRolesById", + "httpMethod": "get", + "tag": "RoleController", + "typeScriptTag": "roleController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/roles/{id}", + "method": "updateUserRole", + "httpMethod": "patch", + "tag": "RoleController", + "typeScriptTag": "roleController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "id", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "organizationId", + "schema": "string", + "description": "" + }, + { + "name": "mappings", + "schema": "array", + "description": "" + }, + { + "name": "clientMappings", + "schema": "array", + "description": "" + }, + { + "name": "abac", + "schema": "array", + "description": "" + }, + { + "name": "data", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/status", + "method": "getUserStatus", + "httpMethod": "get", + "tag": "StatusController", + "typeScriptTag": "statusController", + "description": "", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users", + "method": "getUsersList", + "httpMethod": "get", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "Fetches users in batches set by perPage (default 20). Should be used mainly from UI.", + "parameters": [ + { + "name": "page", + "schema": "number", + "required": false, + "description": "Index of page" + }, + { + "name": "perPage", + "schema": "number", + "required": false, + "description": "Page size" + }, + { + "name": "globalFilter", + "schema": "string", + "required": false, + "description": "Global filter of filterable fields" + }, + { + "name": "order", + "schema": "object", + "required": false, + "description": "Stringified TypeOrm order", + "example": { + "name": "ASC", + "age": "DESC" + } + }, + { + "name": "where", + "schema": "array", + "required": false, + "description": "Stringified TypeOrm where query", + "example": { + "name": "John Smith", + "age": 24 + } + }, + { + "name": "select", + "schema": "object", + "required": false, + "description": "Stringified TypeOrm select query", + "example": { + "name": true, + "age": true + } + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "206", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users", + "method": "createUser", + "httpMethod": "post", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "EMAIL" + }, + { + "name": "roles", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "organization", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "organizationId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "profile", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "dateFormat", + "schema": "string", + "required": true, + "description": "", + "example": "DATEFORMAT" + }, + { + "name": "timezone", + "schema": "string", + "required": true, + "description": "", + "example": "TIMEZONE" + }, + { + "name": "locale", + "schema": "string", + "required": true, + "description": "", + "example": "LOCALE" + }, + { + "name": "createdAt", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "deletedAt", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/find", + "method": "findUsers", + "httpMethod": "get", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "skip", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "take", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "relations", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "order", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "where", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "select", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/generate-otp-secret", + "method": "generateOtpSecret", + "httpMethod": "get", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/{id}", + "method": "deleteUserById", + "httpMethod": "delete", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/{id}", + "method": "updateUserById", + "httpMethod": "patch", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + }, + { + "name": "id", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "email", + "schema": "string", + "description": "" + }, + { + "name": "roles", + "schema": "array", + "description": "" + }, + { + "name": "organization", + "schema": "object", + "description": "" + }, + { + "name": "organizationId", + "schema": "string", + "description": "" + }, + { + "name": "profile", + "schema": "object", + "description": "" + }, + { + "name": "dateFormat", + "schema": "string", + "description": "" + }, + { + "name": "timezone", + "schema": "string", + "description": "" + }, + { + "name": "locale", + "schema": "string", + "description": "" + }, + { + "name": "createdAt", + "schema": "string", + "description": "" + }, + { + "name": "deletedAt", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/{id}/profile", + "method": "getUserProfile", + "httpMethod": "get", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "206", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/{id}/profile", + "method": "updateUserProfile", + "httpMethod": "patch", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + }, + { + "name": "id", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "EMAIL" + }, + { + "name": "dateFormat", + "schema": "string", + "required": true, + "description": "", + "example": "DATEFORMAT" + }, + { + "name": "timezone", + "schema": "string", + "required": true, + "description": "", + "example": "TIMEZONE" + }, + { + "name": "password", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "oldPassword", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "mfaType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "phone", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "mfaCode", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/setup-otp", + "method": "setupOtp", + "httpMethod": "post", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "mfaSecret", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/{id}/roles", + "method": "getUserRolesById", + "httpMethod": "get", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/password", + "method": "resetPassword", + "httpMethod": "post", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "oldpassword", + "schema": "string", + "description": "" + }, + { + "name": "newpassword", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/reset-password", + "method": "resetPassword", + "httpMethod": "post", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "password", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/{id}/reset-password", + "method": "resetUserPassword", + "httpMethod": "post", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/generate-mfa-code", + "method": "generateMfaCode", + "httpMethod": "post", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "userId", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + }, + { + "url": "/api/v2/user/users/reset-mfa-type", + "method": "resetMfaType", + "httpMethod": "post", + "tag": "UserController", + "typeScriptTag": "userController", + "description": "", + "parameters": [ + { + "name": "mfaCode", + "schema": "string", + "required": true, + "description": "", + "example": "MFACODE" + }, + { + "name": "userId", + "schema": "string", + "required": true, + "description": "", + "example": "USERID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + } + ] + } + ], + "repositoryDescription": "Redkik revolutionizes insurance for logistics and transportation by offering tailored and seamless transactional policies through innovative software integrated with licensed providers. Join our global network for efficient insurance solutions. Redkik's {language} SDK generated by Konfig (https://konfigthis.com/).", + "logo": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/redkik/logo.png", + "openApiRaw": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/redkik/openapi.yaml", + "openApiGitHubUi": "https://github.com/konfig-sdks/openapi-examples/tree/HEAD/redkik/openapi.yaml", + "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/redkik/imagePreview.jpg", + "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/redkik/favicon.png", + "clientNameCamelCase": "redkik", + "lastUpdated": "2024-03-28T22:08:36.815Z", + "typescriptSdkUsageCode": "import { Redkik } from 'redkik-typescript-sdk';\n\nconst redkik = new Redkik({\n bearerAuth: \"BEARER_AUTH\"\n})", + "typescriptSdkFirstRequestCode": "// \nconst createUserApiTokenResponse = redkik.apiTokenController.createUserApiToken({\n name: \"NAME\"\n organizationId: \"ORGANIZATIONID\"\n})", + "fixedSpecFileName": "redkik-fixed-spec.yaml" +} \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_redkik.com.json b/sdks/db/spec-data/from-custom-request_redkik.com.json new file mode 100644 index 0000000000..e95a86cb51 --- /dev/null +++ b/sdks/db/spec-data/from-custom-request_redkik.com.json @@ -0,0 +1,24 @@ +{ + "securitySchemes": { + "bearerAuth": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + } + }, + "apiBaseUrl": "https://sales.app.redkik.com/api/v2/", + "apiVersion": "2.0.0", + "apiTitle": "userservice", + "endpoints": 47, + "sdkMethods": 60, + "schemas": 53, + "parameters": 282, + "originalCustomRequest": { + "type": "GET", + "url": "https://sales.app.redkik.com/api/v2/apidoc/doc/userservice.json", + "apiBaseUrl": "https://sales.app.redkik.com/api/v2/" + }, + "customRequestSpecFilename": "redkik.com.yaml", + "difficultyScore": 157, + "difficulty": "Medium" +} \ No newline at end of file diff --git a/sdks/publish.yaml b/sdks/publish.yaml index 730d45c375..deb0dcd30f 100644 --- a/sdks/publish.yaml +++ b/sdks/publish.yaml @@ -6771,3 +6771,16 @@ publish: serviceName: false sdkName: ducky-{language}-sdk clientName: Ducky + from-custom-request_redkik.com: + homepage: redkik.com/ + company: Redkik + developerDocumentation: sales.app.redkik.com/api/v2/apidoc/?urls.primaryName=UserService + apiStatusUrls: inherit + metaDescription: "Redkik is a global InsurTech company with the mission to transform and improve the insurance industry for all parties within logistics and transportation. Redkik's innovative software eliminates the need for annual and complex insurance policies. Through Redkik's embedded integration with licensed insurance providers, existing platforms and online systems can offer their customers tailored and transactional insurance at the time of sale.\n\nStarting as a cargo insurance solution, the market's immediate response has since molded the flexible software to be used to solve additional inefficiencies for warehouse, gap, spike and cyber insurance while multiple other applications are currently being developed.\n\nThe team of Redkik\_has a big passion for innovation and technology,\_ together with great experience and deep knowledge from logistics and transportation, risk management, cargo insurance, machine learning, and software development.\n\nJoin Redkik's rapidly growing network of global partners and exceed your business goals by offering transactional insurance through Redkik's seamless API integration." + categories: + - risk_management + - insurance + - cargo + serviceName: false + sdkName: redkik-{language}-sdk + clientName: Redkik diff --git a/sdks/src/collect-from-custom-requests.ts b/sdks/src/collect-from-custom-requests.ts index c01b8edb1f..a4603292a0 100644 --- a/sdks/src/collect-from-custom-requests.ts +++ b/sdks/src/collect-from-custom-requests.ts @@ -2195,6 +2195,11 @@ const customRequests: Record = { type: "GET", url: "https://storage.googleapis.com/doc.api.ducky.eco/api-v3.json", }, + "redkik.com": { + type: "GET", + url: "https://sales.app.redkik.com/api/v2/apidoc/doc/userservice.json", + apiBaseUrl: "https://sales.app.redkik.com/api/v2/" + }, }; async function downloadOpenApiSpecFromMintlify({