diff --git a/src/apis/BitlinksApi.ts b/src/apis/BitlinksApi.ts index 9348c91..47fe05b 100644 --- a/src/apis/BitlinksApi.ts +++ b/src/apis/BitlinksApi.ts @@ -43,6 +43,8 @@ import type { SortedLinks, TemporarilyUnavailable, TimeUnit, + TotalEngagements, + TotalEngagementsSummary, UnprocessableEntity, UpgradeRequired, } from '../models/index'; @@ -103,6 +105,10 @@ import { TemporarilyUnavailableToJSON, TimeUnitFromJSON, TimeUnitToJSON, + TotalEngagementsFromJSON, + TotalEngagementsToJSON, + TotalEngagementsSummaryFromJSON, + TotalEngagementsSummaryToJSON, UnprocessableEntityFromJSON, UnprocessableEntityToJSON, UpgradeRequiredFromJSON, @@ -144,6 +150,8 @@ export interface GetBitlinksByGroupRequest { channel_guid?: string; custom_bitlink?: GetBitlinksByGroupCustomBitlinkEnum; has_qr_codes?: GetBitlinksByGroupHasQrCodesEnum; + is_expired?: GetBitlinksByGroupIsExpiredEnum; + has_expiration?: GetBitlinksByGroupHasExpirationEnum; tags?: Array; launchpad_ids?: Array; encoding_login?: Array; @@ -163,6 +171,20 @@ export interface GetClicksSummaryForBitlinkRequest { unit_reference?: string; } +export interface GetEngagementsRequest { + bitlink: string; + unit: TimeUnit; + units: number; + unit_reference?: string; +} + +export interface GetEngagementsSummaryRequest { + bitlink: string; + unit: TimeUnit; + units: number; + unit_reference?: string; +} + export interface GetMetricsForBitlinkByCitiesRequest { bitlink: string; unit: TimeUnit; @@ -550,6 +572,14 @@ export class BitlinksApi extends runtime.BaseAPI { queryParameters['has_qr_codes'] = requestParameters['has_qr_codes']; } + if (requestParameters['is_expired'] != null) { + queryParameters['is_expired'] = requestParameters['is_expired']; + } + + if (requestParameters['has_expiration'] != null) { + queryParameters['has_expiration'] = requestParameters['has_expiration']; + } + if (requestParameters['tags'] != null) { queryParameters['tags'] = requestParameters['tags']; } @@ -741,6 +771,152 @@ export class BitlinksApi extends runtime.BaseAPI { return await response.value(); } + /** + * Returns an array of engagement counts for the specified link. The array is comprised of button click, click and scan counts for each time window, where the window is based on the provided unit. + * Get Engagement Counts for a Bitlink + */ + async getEngagementsRaw(requestParameters: GetEngagementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['bitlink'] == null) { + throw new runtime.RequiredError( + 'bitlink', + 'Required parameter "bitlink" was null or undefined when calling getEngagements().' + ); + } + + if (requestParameters['unit'] == null) { + throw new runtime.RequiredError( + 'unit', + 'Required parameter "unit" was null or undefined when calling getEngagements().' + ); + } + + if (requestParameters['units'] == null) { + throw new runtime.RequiredError( + 'units', + 'Required parameter "units" was null or undefined when calling getEngagements().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['unit'] != null) { + queryParameters['unit'] = requestParameters['unit']; + } + + if (requestParameters['units'] != null) { + queryParameters['units'] = requestParameters['units']; + } + + if (requestParameters['unit_reference'] != null) { + queryParameters['unit_reference'] = requestParameters['unit_reference']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearerAuth", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + + let urlPath = `/bitlinks/{bitlink}/engagements`; + urlPath = urlPath.replace(`{${"bitlink"}}`, encodeURIComponent(String(requestParameters['bitlink']))); + + const response = await this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => TotalEngagementsFromJSON(jsonValue)); + } + + /** + * Returns an array of engagement counts for the specified link. The array is comprised of button click, click and scan counts for each time window, where the window is based on the provided unit. + * Get Engagement Counts for a Bitlink + */ + async getEngagements(requestParameters: GetEngagementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getEngagementsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Returns the engagement counts for the specified link rolled up into a single field. + * Get an Engagement Count Summary for a Bitlink + */ + async getEngagementsSummaryRaw(requestParameters: GetEngagementsSummaryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['bitlink'] == null) { + throw new runtime.RequiredError( + 'bitlink', + 'Required parameter "bitlink" was null or undefined when calling getEngagementsSummary().' + ); + } + + if (requestParameters['unit'] == null) { + throw new runtime.RequiredError( + 'unit', + 'Required parameter "unit" was null or undefined when calling getEngagementsSummary().' + ); + } + + if (requestParameters['units'] == null) { + throw new runtime.RequiredError( + 'units', + 'Required parameter "units" was null or undefined when calling getEngagementsSummary().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['unit'] != null) { + queryParameters['unit'] = requestParameters['unit']; + } + + if (requestParameters['units'] != null) { + queryParameters['units'] = requestParameters['units']; + } + + if (requestParameters['unit_reference'] != null) { + queryParameters['unit_reference'] = requestParameters['unit_reference']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearerAuth", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + + let urlPath = `/bitlinks/{bitlink}/engagements/summary`; + urlPath = urlPath.replace(`{${"bitlink"}}`, encodeURIComponent(String(requestParameters['bitlink']))); + + const response = await this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => TotalEngagementsSummaryFromJSON(jsonValue)); + } + + /** + * Returns the engagement counts for the specified link rolled up into a single field. + * Get an Engagement Count Summary for a Bitlink + */ + async getEngagementsSummary(requestParameters: GetEngagementsSummaryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getEngagementsSummaryRaw(requestParameters, initOverrides); + return await response.value(); + } + /** * Returns the city origins of click traffic for the specified link. * Get Metrics for a Bitlink by City @@ -1512,6 +1688,24 @@ export enum GetBitlinksByGroupHasQrCodesEnum { off = 'off', both = 'both' } +/** + * @export + * @enum {string} + */ +export enum GetBitlinksByGroupIsExpiredEnum { + on = 'on', + off = 'off', + both = 'both' +} +/** + * @export + * @enum {string} + */ +export enum GetBitlinksByGroupHasExpirationEnum { + on = 'on', + off = 'off', + both = 'both' +} /** * @export * @enum {string} diff --git a/src/apis/GroupsApi.ts b/src/apis/GroupsApi.ts index 4720aee..c84c3a1 100644 --- a/src/apis/GroupsApi.ts +++ b/src/apis/GroupsApi.ts @@ -235,6 +235,7 @@ export interface GetGroupShortenCountsRequest { export interface GetGroupTagsRequest { group_guid: string; + type?: GetGroupTagsTypeEnum; } export interface GetGroupTopCodeScansRequest { @@ -1705,6 +1706,10 @@ export class GroupsApi extends runtime.BaseAPI { const queryParameters: any = {}; + if (requestParameters['type'] != null) { + queryParameters['type'] = requestParameters['type']; + } + const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { @@ -2123,3 +2128,12 @@ export class GroupsApi extends runtime.BaseAPI { } } + +/** + * @export + * @enum {string} + */ +export enum GetGroupTagsTypeEnum { + bitlink = 'bitlink', + qr_code = 'qr_code' +} diff --git a/src/apis/OrganizationsApi.ts b/src/apis/OrganizationsApi.ts index bc26d01..2a4ade6 100644 --- a/src/apis/OrganizationsApi.ts +++ b/src/apis/OrganizationsApi.ts @@ -61,6 +61,10 @@ export interface GetOrganizationShortenCountsByGroupRequest { organization_guid: string; } +export interface GetOrganizationsRequest { + include_all?: boolean; +} + export interface GetPlanLimitsRequest { organization_guid: string; } @@ -238,12 +242,16 @@ export class OrganizationsApi extends runtime.BaseAPI { } /** - * Retrieve a list of organizations. + * Retrieve a list of organizations for the authenticated user. By default, only organizations permitted by the token\'s allowed_orgs are returned. Use include_all=true to return all organizations regardless of token restrictions. Each organization is annotated with its authentication requirements (require_sso, require_2fa) when configured. * Retrieve Organizations */ - async getOrganizationsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async getOrganizationsRaw(requestParameters: GetOrganizationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; + if (requestParameters['include_all'] != null) { + queryParameters['include_all'] = requestParameters['include_all']; + } + const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { @@ -268,11 +276,11 @@ export class OrganizationsApi extends runtime.BaseAPI { } /** - * Retrieve a list of organizations. + * Retrieve a list of organizations for the authenticated user. By default, only organizations permitted by the token\'s allowed_orgs are returned. Use include_all=true to return all organizations regardless of token restrictions. Each organization is annotated with its authentication requirements (require_sso, require_2fa) when configured. * Retrieve Organizations */ - async getOrganizations(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.getOrganizationsRaw(initOverrides); + async getOrganizations(requestParameters: GetOrganizationsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getOrganizationsRaw(requestParameters, initOverrides); return await response.value(); } diff --git a/src/apis/QRCodesApi.ts b/src/apis/QRCodesApi.ts index 8e8f58f..0f5efb7 100644 --- a/src/apis/QRCodesApi.ts +++ b/src/apis/QRCodesApi.ts @@ -25,8 +25,10 @@ import type { MonthlyLimitExceeded, NotFound, PublicCreateQRCodeRequest, + PublicCreateStaticQRCodeRequest, PublicDeleteQRCodeResponse, PublicQRCodeImageResponse, + PublicStaticQRCodeResponse, PublicUpdateQRCodeRequest, QRCodeDetails, QRCodeMinimal, @@ -34,6 +36,7 @@ import type { ScanMetrics, TemporarilyUnavailable, TimeUnit, + UnprocessableEntity, UpgradeRequired, } from '../models/index'; import { @@ -57,10 +60,14 @@ import { NotFoundToJSON, PublicCreateQRCodeRequestFromJSON, PublicCreateQRCodeRequestToJSON, + PublicCreateStaticQRCodeRequestFromJSON, + PublicCreateStaticQRCodeRequestToJSON, PublicDeleteQRCodeResponseFromJSON, PublicDeleteQRCodeResponseToJSON, PublicQRCodeImageResponseFromJSON, PublicQRCodeImageResponseToJSON, + PublicStaticQRCodeResponseFromJSON, + PublicStaticQRCodeResponseToJSON, PublicUpdateQRCodeRequestFromJSON, PublicUpdateQRCodeRequestToJSON, QRCodeDetailsFromJSON, @@ -75,6 +82,8 @@ import { TemporarilyUnavailableToJSON, TimeUnitFromJSON, TimeUnitToJSON, + UnprocessableEntityFromJSON, + UnprocessableEntityToJSON, UpgradeRequiredFromJSON, UpgradeRequiredToJSON, } from '../models/index'; @@ -83,6 +92,12 @@ export interface CreateQRCodePublicRequest { public_create_qr_code_request: PublicCreateQRCodeRequest; } +export interface CreateStaticQRCodePublicRequest { + public_create_static_qr_code_request: PublicCreateStaticQRCodeRequest; + accept?: CreateStaticQRCodePublicAcceptEnum; + format?: CreateStaticQRCodePublicFormatEnum; +} + export interface DeleteQRCodeRequest { qrcode_id: string; } @@ -156,6 +171,9 @@ export interface ListQRMinimalRequest { creating_login?: Array; qrc_type?: Array; is_gs1?: ListQRMinimalIsGs1Enum; + is_expired?: ListQRMinimalIsExpiredEnum; + has_expiration?: ListQRMinimalHasExpirationEnum; + tags?: Array; } export interface UpdateQRCodePublicRequest { @@ -217,6 +235,63 @@ export class QRCodesApi extends runtime.BaseAPI { return await response.value(); } + /** + * Generate a static QR code image without creating or saving a QR code resource. SVG and PNG output are supported via the Accept header Contact your Account Manager to discuss enabling this feature for your account. The `render_customizations` field supports basic appearance options. Customizations that require the rasterize API are not supported: `gradient`, `background_gradient`, `frame`, `text`, and `logo`. The Accept header controls the response format: - `application/json` (default): Returns a JSON object with the image as a base64-encoded byte string. - `image/svg+xml`: Returns the raw SVG image. - `image/png`: Returns the raw PNG image. + * Generate a static QR Code image + */ + async createStaticQRCodePublicRaw(requestParameters: CreateStaticQRCodePublicRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['public_create_static_qr_code_request'] == null) { + throw new runtime.RequiredError( + 'public_create_static_qr_code_request', + 'Required parameter "public_create_static_qr_code_request" was null or undefined when calling createStaticQRCodePublic().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (requestParameters['accept'] != null) { + headerParameters['Accept'] = String(requestParameters['accept']); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearerAuth", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + + let urlPath = `/qr-codes/static`; + + const response = await this.request({ + path: urlPath, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: PublicCreateStaticQRCodeRequestToJSON(requestParameters['public_create_static_qr_code_request']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PublicStaticQRCodeResponseFromJSON(jsonValue)); + } + + /** + * Generate a static QR code image without creating or saving a QR code resource. SVG and PNG output are supported via the Accept header Contact your Account Manager to discuss enabling this feature for your account. The `render_customizations` field supports basic appearance options. Customizations that require the rasterize API are not supported: `gradient`, `background_gradient`, `frame`, `text`, and `logo`. The Accept header controls the response format: - `application/json` (default): Returns a JSON object with the image as a base64-encoded byte string. - `image/svg+xml`: Returns the raw SVG image. - `image/png`: Returns the raw PNG image. + * Generate a static QR Code image + */ + async createStaticQRCodePublic(requestParameters: CreateStaticQRCodePublicRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createStaticQRCodePublicRaw(requestParameters, initOverrides); + return await response.value(); + } + /** * Delete a QR Code that has not been redirected and is not for a custom link. Also deletes the associated link (if applicable). * Delete a QR Code @@ -878,6 +953,18 @@ export class QRCodesApi extends runtime.BaseAPI { queryParameters['is_gs1'] = requestParameters['is_gs1']; } + if (requestParameters['is_expired'] != null) { + queryParameters['is_expired'] = requestParameters['is_expired']; + } + + if (requestParameters['has_expiration'] != null) { + queryParameters['has_expiration'] = requestParameters['has_expiration']; + } + + if (requestParameters['tags'] != null) { + queryParameters['tags'] = requestParameters['tags']; + } + const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { @@ -970,6 +1057,23 @@ export class QRCodesApi extends runtime.BaseAPI { } +/** + * @export + * @enum {string} + */ +export enum CreateStaticQRCodePublicAcceptEnum { + application_json = 'application/json', + image_svgxml = 'image/svg+xml', + image_png = 'image/png' +} +/** + * @export + * @enum {string} + */ +export enum CreateStaticQRCodePublicFormatEnum { + svg = 'svg', + png = 'png' +} /** * @export * @enum {string} @@ -1013,3 +1117,21 @@ export enum ListQRMinimalIsGs1Enum { off = 'off', both = 'both' } +/** + * @export + * @enum {string} + */ +export enum ListQRMinimalIsExpiredEnum { + on = 'on', + off = 'off', + both = 'both' +} +/** + * @export + * @enum {string} + */ +export enum ListQRMinimalHasExpirationEnum { + on = 'on', + off = 'off', + both = 'both' +} diff --git a/src/models/BitlinkBody.ts b/src/models/BitlinkBody.ts index 8a976e6..fac9e56 100644 --- a/src/models/BitlinkBody.ts +++ b/src/models/BitlinkBody.ts @@ -124,7 +124,7 @@ export interface BitlinkBody { */ campaign_ids?: Array; /** - * Coming soon + * Optional expiration timestamp for the bitlink (e.g., 2025-01-28T14:30:00+0000) * @type {string} * @memberof BitlinkBody */ diff --git a/src/models/BitlinkUpdate.ts b/src/models/BitlinkUpdate.ts index 967f583..06bb858 100644 --- a/src/models/BitlinkUpdate.ts +++ b/src/models/BitlinkUpdate.ts @@ -118,7 +118,7 @@ export interface BitlinkUpdate { */ campaign_ids?: Array; /** - * Coming soon + * Optional expiration timestamp for the bitlink (e.g., 2025-01-28T14:30:00+0000) * @type {string} * @memberof BitlinkUpdate */ diff --git a/src/models/BitlinkUpdateBody.ts b/src/models/BitlinkUpdateBody.ts index 69f3f91..c9f1a6c 100644 --- a/src/models/BitlinkUpdateBody.ts +++ b/src/models/BitlinkUpdateBody.ts @@ -58,7 +58,7 @@ export interface BitlinkUpdateBody { */ long_url?: string; /** - * Coming soon + * Optional expiration timestamp for the bitlink (e.g., 2025-01-28T14:30:00+0000). Minimum expiration time is 5 minutes from now and maximum is 1 year. * @type {string} * @memberof BitlinkUpdateBody */ diff --git a/src/models/Engagement.ts b/src/models/Engagement.ts new file mode 100644 index 0000000..e21096d --- /dev/null +++ b/src/models/Engagement.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Bitly API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 4.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface Engagement + */ +export interface Engagement { + /** + * + * @type {number} + * @memberof Engagement + */ + lib_button_clicks?: number; + /** + * + * @type {number} + * @memberof Engagement + */ + clicks?: number; + /** + * + * @type {number} + * @memberof Engagement + */ + scans?: number; +} + +/** + * Check if a given object implements the Engagement interface. + */ +export function instanceOfEngagement(value: object): value is Engagement { + return true; +} + +export function EngagementFromJSON(json: any): Engagement { + return EngagementFromJSONTyped(json, false); +} + +export function EngagementFromJSONTyped(json: any, ignoreDiscriminator: boolean): Engagement { + if (json == null) { + return json; + } + return { + + 'lib_button_clicks': json['lib_button_clicks'] == null ? undefined : json['lib_button_clicks'], + 'clicks': json['clicks'] == null ? undefined : json['clicks'], + 'scans': json['scans'] == null ? undefined : json['scans'], + }; +} + +export function EngagementToJSON(json: any): Engagement { + return EngagementToJSONTyped(json, false); +} + +export function EngagementToJSONTyped(value?: Engagement | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'lib_button_clicks': value['lib_button_clicks'], + 'clicks': value['clicks'], + 'scans': value['scans'], + }; +} + diff --git a/src/models/Engagements.ts b/src/models/Engagements.ts new file mode 100644 index 0000000..33ade6f --- /dev/null +++ b/src/models/Engagements.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Bitly API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 4.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Engagement } from './Engagement'; +import { + EngagementFromJSON, + EngagementFromJSONTyped, + EngagementToJSON, + EngagementToJSONTyped, +} from './Engagement'; + +/** + * + * @export + * @interface Engagements + */ +export interface Engagements { + /** + * + * @type {number} + * @memberof Engagements + */ + engagement_count?: number; + /** + * + * @type {Engagement} + * @memberof Engagements + */ + engagements?: Engagement; + /** + * + * @type {string} + * @memberof Engagements + */ + date?: string; +} + +/** + * Check if a given object implements the Engagements interface. + */ +export function instanceOfEngagements(value: object): value is Engagements { + return true; +} + +export function EngagementsFromJSON(json: any): Engagements { + return EngagementsFromJSONTyped(json, false); +} + +export function EngagementsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Engagements { + if (json == null) { + return json; + } + return { + + 'engagement_count': json['engagement_count'] == null ? undefined : json['engagement_count'], + 'engagements': json['engagements'] == null ? undefined : EngagementFromJSON(json['engagements']), + 'date': json['date'] == null ? undefined : json['date'], + }; +} + +export function EngagementsToJSON(json: any): Engagements { + return EngagementsToJSONTyped(json, false); +} + +export function EngagementsToJSONTyped(value?: Engagements | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'engagement_count': value['engagement_count'], + 'engagements': EngagementToJSON(value['engagements']), + 'date': value['date'], + }; +} + diff --git a/src/models/FullShorten.ts b/src/models/FullShorten.ts index 1ee713c..160fa13 100644 --- a/src/models/FullShorten.ts +++ b/src/models/FullShorten.ts @@ -82,7 +82,7 @@ export interface FullShorten { */ bitlink_id?: string; /** - * Coming soon + * Optional expiration timestamp for the bitlink (e.g., 2025-01-28T14:30:00+0000). Minimum expiration time is 5 minutes from now and maximum is 1 year. * @type {string} * @memberof FullShorten */ diff --git a/src/models/Organization.ts b/src/models/Organization.ts index 8d450b2..65cbccd 100644 --- a/src/models/Organization.ts +++ b/src/models/Organization.ts @@ -85,8 +85,40 @@ export interface Organization { * @memberof Organization */ bsds: Array; + /** + * SSO authentication requirement for this organization. Possible values: "none", "any". Omitted when no auth requirements are configured. + * + * @type {string} + * @memberof Organization + */ + require_sso?: OrganizationRequireSsoEnum; + /** + * Two-factor authentication requirement for this organization. Possible values: "none", "sms". Omitted when no auth requirements are configured. + * + * @type {string} + * @memberof Organization + */ + require_2fa?: OrganizationRequire2faEnum; +} + +/** +* @export +* @enum {string} +*/ +export enum OrganizationRequireSsoEnum { + none = 'none', + any = 'any' +} +/** +* @export +* @enum {string} +*/ +export enum OrganizationRequire2faEnum { + none = 'none', + sms = 'sms' } + /** * Check if a given object implements the Organization interface. */ @@ -125,6 +157,8 @@ export function OrganizationFromJSONTyped(json: any, ignoreDiscriminator: boolea 'created': json['created'], 'modified': json['modified'], 'bsds': json['bsds'], + 'require_sso': json['require_sso'] == null ? undefined : json['require_sso'], + 'require_2fa': json['require_2fa'] == null ? undefined : json['require_2fa'], }; } @@ -150,6 +184,8 @@ export function OrganizationToJSONTyped(value?: Organization | null, ignoreDiscr 'created': value['created'], 'modified': value['modified'], 'bsds': value['bsds'], + 'require_sso': value['require_sso'], + 'require_2fa': value['require_2fa'], }; } diff --git a/src/models/PublicCreateQRCodeRequest.ts b/src/models/PublicCreateQRCodeRequest.ts index 10d0961..08b3018 100644 --- a/src/models/PublicCreateQRCodeRequest.ts +++ b/src/models/PublicCreateQRCodeRequest.ts @@ -78,11 +78,17 @@ export interface PublicCreateQRCodeRequest { */ gs1?: GS1Metadata; /** - * Coming soon + * Optional expiration timestamp for the QR code's bitlink (e.g., 2025-01-28T14:30:00+0000). Minimum expiration time is 5 minutes from now and maximum is 1 year. * @type {string} * @memberof PublicCreateQRCodeRequest */ expiration_at?: string; + /** + * A list of tags to add to the QR code + * @type {Array} + * @memberof PublicCreateQRCodeRequest + */ + tags?: Array; } /** @@ -111,6 +117,7 @@ export function PublicCreateQRCodeRequestFromJSONTyped(json: any, ignoreDiscrimi 'destination': QRCodeDestinationFromJSON(json['destination']), 'gs1': json['gs1'] == null ? undefined : GS1MetadataFromJSON(json['gs1']), 'expiration_at': json['expiration_at'] == null ? undefined : json['expiration_at'], + 'tags': json['tags'] == null ? undefined : json['tags'], }; } @@ -132,6 +139,7 @@ export function PublicCreateQRCodeRequestToJSONTyped(value?: PublicCreateQRCodeR 'destination': QRCodeDestinationToJSON(value['destination']), 'gs1': GS1MetadataToJSON(value['gs1']), 'expiration_at': value['expiration_at'], + 'tags': value['tags'], }; } diff --git a/src/models/PublicCreateStaticQRCodeRequest.ts b/src/models/PublicCreateStaticQRCodeRequest.ts new file mode 100644 index 0000000..2927664 --- /dev/null +++ b/src/models/PublicCreateStaticQRCodeRequest.ts @@ -0,0 +1,91 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Bitly API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 4.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { QRCodeCustomizationsStaticPublic } from './QRCodeCustomizationsStaticPublic'; +import { + QRCodeCustomizationsStaticPublicFromJSON, + QRCodeCustomizationsStaticPublicFromJSONTyped, + QRCodeCustomizationsStaticPublicToJSON, + QRCodeCustomizationsStaticPublicToJSONTyped, +} from './QRCodeCustomizationsStaticPublic'; + +/** + * Request body for generating a static QR code image. Customizations such as gradient, background_gradient, frame, text and logo are not supported. + * @export + * @interface PublicCreateStaticQRCodeRequest + */ +export interface PublicCreateStaticQRCodeRequest { + /** + * The raw content to encode in the QR code (e.g. a URL). + * @type {string} + * @memberof PublicCreateStaticQRCodeRequest + */ + content: string; + /** + * The group (brand) GUID used for access control and analytics. + * @type {string} + * @memberof PublicCreateStaticQRCodeRequest + */ + group_guid: string; + /** + * + * @type {QRCodeCustomizationsStaticPublic} + * @memberof PublicCreateStaticQRCodeRequest + */ + render_customizations?: QRCodeCustomizationsStaticPublic; +} + +/** + * Check if a given object implements the PublicCreateStaticQRCodeRequest interface. + */ +export function instanceOfPublicCreateStaticQRCodeRequest(value: object): value is PublicCreateStaticQRCodeRequest { + if (!('content' in value) || value['content'] === undefined) return false; + if (!('group_guid' in value) || value['group_guid'] === undefined) return false; + return true; +} + +export function PublicCreateStaticQRCodeRequestFromJSON(json: any): PublicCreateStaticQRCodeRequest { + return PublicCreateStaticQRCodeRequestFromJSONTyped(json, false); +} + +export function PublicCreateStaticQRCodeRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PublicCreateStaticQRCodeRequest { + if (json == null) { + return json; + } + return { + + 'content': json['content'], + 'group_guid': json['group_guid'], + 'render_customizations': json['render_customizations'] == null ? undefined : QRCodeCustomizationsStaticPublicFromJSON(json['render_customizations']), + }; +} + +export function PublicCreateStaticQRCodeRequestToJSON(json: any): PublicCreateStaticQRCodeRequest { + return PublicCreateStaticQRCodeRequestToJSONTyped(json, false); +} + +export function PublicCreateStaticQRCodeRequestToJSONTyped(value?: PublicCreateStaticQRCodeRequest | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'content': value['content'], + 'group_guid': value['group_guid'], + 'render_customizations': QRCodeCustomizationsStaticPublicToJSON(value['render_customizations']), + }; +} + diff --git a/src/models/PublicStaticQRCodeResponse.ts b/src/models/PublicStaticQRCodeResponse.ts new file mode 100644 index 0000000..1001590 --- /dev/null +++ b/src/models/PublicStaticQRCodeResponse.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Bitly API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 4.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * Response containing a generated static QR code image. + * @export + * @interface PublicStaticQRCodeResponse + */ +export interface PublicStaticQRCodeResponse { + /** + * The image data, base64-encoded. Format is SVG or PNG depending on the requested format. + * @type {string} + * @memberof PublicStaticQRCodeResponse + */ + image?: string; +} + +/** + * Check if a given object implements the PublicStaticQRCodeResponse interface. + */ +export function instanceOfPublicStaticQRCodeResponse(value: object): value is PublicStaticQRCodeResponse { + return true; +} + +export function PublicStaticQRCodeResponseFromJSON(json: any): PublicStaticQRCodeResponse { + return PublicStaticQRCodeResponseFromJSONTyped(json, false); +} + +export function PublicStaticQRCodeResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PublicStaticQRCodeResponse { + if (json == null) { + return json; + } + return { + + 'image': json['image'] == null ? undefined : json['image'], + }; +} + +export function PublicStaticQRCodeResponseToJSON(json: any): PublicStaticQRCodeResponse { + return PublicStaticQRCodeResponseToJSONTyped(json, false); +} + +export function PublicStaticQRCodeResponseToJSONTyped(value?: PublicStaticQRCodeResponse | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'image': value['image'], + }; +} + diff --git a/src/models/PublicUpdateQRCodeRequest.ts b/src/models/PublicUpdateQRCodeRequest.ts index ae9580d..30838d3 100644 --- a/src/models/PublicUpdateQRCodeRequest.ts +++ b/src/models/PublicUpdateQRCodeRequest.ts @@ -46,11 +46,17 @@ export interface PublicUpdateQRCodeRequest { */ archived?: boolean; /** - * Coming soon + * Optional expiration timestamp for the QR code's bitlink (e.g., 2025-01-28T14:30:00+0000). Minimum expiration time is 5 minutes from now and maximum is 1 year. * @type {string} * @memberof PublicUpdateQRCodeRequest */ expiration_at?: string; + /** + * A list of tags to add to the QR code + * @type {Array} + * @memberof PublicUpdateQRCodeRequest + */ + tags?: Array; } /** @@ -74,6 +80,7 @@ export function PublicUpdateQRCodeRequestFromJSONTyped(json: any, ignoreDiscrimi 'render_customizations': json['render_customizations'] == null ? undefined : QRCodeCustomizationsPublicFromJSON(json['render_customizations']), 'archived': json['archived'] == null ? undefined : json['archived'], 'expiration_at': json['expiration_at'] == null ? undefined : json['expiration_at'], + 'tags': json['tags'] == null ? undefined : json['tags'], }; } @@ -92,6 +99,7 @@ export function PublicUpdateQRCodeRequestToJSONTyped(value?: PublicUpdateQRCodeR 'render_customizations': QRCodeCustomizationsPublicToJSON(value['render_customizations']), 'archived': value['archived'], 'expiration_at': value['expiration_at'], + 'tags': value['tags'], }; } diff --git a/src/models/QRCodeCustomizationsStaticPublic.ts b/src/models/QRCodeCustomizationsStaticPublic.ts new file mode 100644 index 0000000..4dabae8 --- /dev/null +++ b/src/models/QRCodeCustomizationsStaticPublic.ts @@ -0,0 +1,136 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Bitly API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 4.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { QRCodeDotPatternType } from './QRCodeDotPatternType'; +import { + QRCodeDotPatternTypeFromJSON, + QRCodeDotPatternTypeFromJSONTyped, + QRCodeDotPatternTypeToJSON, + QRCodeDotPatternTypeToJSONTyped, +} from './QRCodeDotPatternType'; +import type { QRCodeSpecSettingsPublic } from './QRCodeSpecSettingsPublic'; +import { + QRCodeSpecSettingsPublicFromJSON, + QRCodeSpecSettingsPublicFromJSONTyped, + QRCodeSpecSettingsPublicToJSON, + QRCodeSpecSettingsPublicToJSONTyped, +} from './QRCodeSpecSettingsPublic'; +import type { QRCodeCorners } from './QRCodeCorners'; +import { + QRCodeCornersFromJSON, + QRCodeCornersFromJSONTyped, + QRCodeCornersToJSON, + QRCodeCornersToJSONTyped, +} from './QRCodeCorners'; +import type { QRCodeBranding } from './QRCodeBranding'; +import { + QRCodeBrandingFromJSON, + QRCodeBrandingFromJSONTyped, + QRCodeBrandingToJSON, + QRCodeBrandingToJSONTyped, +} from './QRCodeBranding'; + +/** + * Appearance options for a static QR code. gradient, background_gradient, frame, text, and logo are not supported. + * @export + * @interface QRCodeCustomizationsStaticPublic + */ +export interface QRCodeCustomizationsStaticPublic { + /** + * The QR code's background color in hex code format with values for alpha channel + * @type {string} + * @memberof QRCodeCustomizationsStaticPublic + */ + background_color?: string; + /** + * The QR code's dot pattern color in hex code format + * @type {string} + * @memberof QRCodeCustomizationsStaticPublic + */ + dot_pattern_color?: string; + /** + * + * @type {QRCodeDotPatternType} + * @memberof QRCodeCustomizationsStaticPublic + */ + dot_pattern_type?: QRCodeDotPatternType; + /** + * + * @type {QRCodeCorners} + * @memberof QRCodeCustomizationsStaticPublic + */ + corners?: QRCodeCorners; + /** + * + * @type {QRCodeBranding} + * @memberof QRCodeCustomizationsStaticPublic + */ + branding?: QRCodeBranding; + /** + * + * @type {QRCodeSpecSettingsPublic} + * @memberof QRCodeCustomizationsStaticPublic + */ + spec_settings?: QRCodeSpecSettingsPublic; +} + + + +/** + * Check if a given object implements the QRCodeCustomizationsStaticPublic interface. + */ +export function instanceOfQRCodeCustomizationsStaticPublic(value: object): value is QRCodeCustomizationsStaticPublic { + return true; +} + +export function QRCodeCustomizationsStaticPublicFromJSON(json: any): QRCodeCustomizationsStaticPublic { + return QRCodeCustomizationsStaticPublicFromJSONTyped(json, false); +} + +export function QRCodeCustomizationsStaticPublicFromJSONTyped(json: any, ignoreDiscriminator: boolean): QRCodeCustomizationsStaticPublic { + if (json == null) { + return json; + } + return { + + 'background_color': json['background_color'] == null ? undefined : json['background_color'], + 'dot_pattern_color': json['dot_pattern_color'] == null ? undefined : json['dot_pattern_color'], + 'dot_pattern_type': json['dot_pattern_type'] == null ? undefined : QRCodeDotPatternTypeFromJSON(json['dot_pattern_type']), + 'corners': json['corners'] == null ? undefined : QRCodeCornersFromJSON(json['corners']), + 'branding': json['branding'] == null ? undefined : QRCodeBrandingFromJSON(json['branding']), + 'spec_settings': json['spec_settings'] == null ? undefined : QRCodeSpecSettingsPublicFromJSON(json['spec_settings']), + }; +} + +export function QRCodeCustomizationsStaticPublicToJSON(json: any): QRCodeCustomizationsStaticPublic { + return QRCodeCustomizationsStaticPublicToJSONTyped(json, false); +} + +export function QRCodeCustomizationsStaticPublicToJSONTyped(value?: QRCodeCustomizationsStaticPublic | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'background_color': value['background_color'], + 'dot_pattern_color': value['dot_pattern_color'], + 'dot_pattern_type': QRCodeDotPatternTypeToJSON(value['dot_pattern_type']), + 'corners': QRCodeCornersToJSON(value['corners']), + 'branding': QRCodeBrandingToJSON(value['branding']), + 'spec_settings': QRCodeSpecSettingsPublicToJSON(value['spec_settings']), + }; +} + diff --git a/src/models/QRCodeDetails.ts b/src/models/QRCodeDetails.ts index 2520fc6..b398138 100644 --- a/src/models/QRCodeDetails.ts +++ b/src/models/QRCodeDetails.ts @@ -114,7 +114,7 @@ export interface QRCodeDetails { */ modified?: string; /** - * Coming soon + * Optional expiration timestamp for the QR code's bitlink (e.g., 2025-01-28T14:30:00+0000) * @type {string} * @memberof QRCodeDetails */ diff --git a/src/models/QRCodeMinimal.ts b/src/models/QRCodeMinimal.ts index 6bd8ea5..97ecab1 100644 --- a/src/models/QRCodeMinimal.ts +++ b/src/models/QRCodeMinimal.ts @@ -87,6 +87,12 @@ export interface QRCodeMinimal { * @memberof QRCodeMinimal */ created_by?: string; + /** + * A list of tags associated with QR code + * @type {Array} + * @memberof QRCodeMinimal + */ + tags?: Array; /** * * @type {boolean} @@ -94,7 +100,7 @@ export interface QRCodeMinimal { */ archived?: boolean; /** - * Coming soon + * Optional expiration timestamp for the QR code's bitlink (e.g., 2025-01-28T14:30:00+0000) * @type {string} * @memberof QRCodeMinimal */ @@ -142,6 +148,7 @@ export function QRCodeMinimalFromJSONTyped(json: any, ignoreDiscriminator: boole 'bitlink_id': json['bitlink_id'] == null ? undefined : json['bitlink_id'], 'is_gs1': json['is_gs1'] == null ? undefined : json['is_gs1'], 'created_by': json['created_by'] == null ? undefined : json['created_by'], + 'tags': json['tags'] == null ? undefined : json['tags'], 'archived': json['archived'] == null ? undefined : json['archived'], 'expiration_at': json['expiration_at'] == null ? undefined : json['expiration_at'], 'created': json['created'] == null ? undefined : json['created'], @@ -170,6 +177,7 @@ export function QRCodeMinimalToJSONTyped(value?: QRCodeMinimal | null, ignoreDis 'bitlink_id': value['bitlink_id'], 'is_gs1': value['is_gs1'], 'created_by': value['created_by'], + 'tags': value['tags'], 'archived': value['archived'], 'expiration_at': value['expiration_at'], 'created': value['created'], diff --git a/src/models/TotalEngagements.ts b/src/models/TotalEngagements.ts new file mode 100644 index 0000000..fdf413c --- /dev/null +++ b/src/models/TotalEngagements.ts @@ -0,0 +1,110 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Bitly API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 4.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Engagements } from './Engagements'; +import { + EngagementsFromJSON, + EngagementsFromJSONTyped, + EngagementsToJSON, + EngagementsToJSONTyped, +} from './Engagements'; + +/** + * + * @export + * @interface TotalEngagements + */ +export interface TotalEngagements { + /** + * + * @type {Array} + * @memberof TotalEngagements + */ + engagements?: Array; + /** + * + * @type {number} + * @memberof TotalEngagements + */ + units?: number; + /** + * + * @type {string} + * @memberof TotalEngagements + */ + unit?: TotalEngagementsUnitEnum; + /** + * + * @type {string} + * @memberof TotalEngagements + */ + unit_reference?: string; +} + +/** +* @export +* @enum {string} +*/ +export enum TotalEngagementsUnitEnum { + minute = 'minute', + hour = 'hour', + day = 'day', + week = 'week', + month = 'month' +} + + +/** + * Check if a given object implements the TotalEngagements interface. + */ +export function instanceOfTotalEngagements(value: object): value is TotalEngagements { + return true; +} + +export function TotalEngagementsFromJSON(json: any): TotalEngagements { + return TotalEngagementsFromJSONTyped(json, false); +} + +export function TotalEngagementsFromJSONTyped(json: any, ignoreDiscriminator: boolean): TotalEngagements { + if (json == null) { + return json; + } + return { + + 'engagements': json['engagements'] == null ? undefined : ((json['engagements'] as Array).map(EngagementsFromJSON)), + 'units': json['units'] == null ? undefined : json['units'], + 'unit': json['unit'] == null ? undefined : json['unit'], + 'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'], + }; +} + +export function TotalEngagementsToJSON(json: any): TotalEngagements { + return TotalEngagementsToJSONTyped(json, false); +} + +export function TotalEngagementsToJSONTyped(value?: TotalEngagements | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'engagements': value['engagements'] == null ? undefined : ((value['engagements'] as Array).map(EngagementsToJSON)), + 'units': value['units'], + 'unit': value['unit'], + 'unit_reference': value['unit_reference'], + }; +} + diff --git a/src/models/TotalEngagementsSummary.ts b/src/models/TotalEngagementsSummary.ts new file mode 100644 index 0000000..0643df6 --- /dev/null +++ b/src/models/TotalEngagementsSummary.ts @@ -0,0 +1,118 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Bitly API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 4.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Engagement } from './Engagement'; +import { + EngagementFromJSON, + EngagementFromJSONTyped, + EngagementToJSON, + EngagementToJSONTyped, +} from './Engagement'; + +/** + * + * @export + * @interface TotalEngagementsSummary + */ +export interface TotalEngagementsSummary { + /** + * + * @type {number} + * @memberof TotalEngagementsSummary + */ + total_engagements?: number; + /** + * + * @type {Engagement} + * @memberof TotalEngagementsSummary + */ + engagements?: Engagement; + /** + * + * @type {number} + * @memberof TotalEngagementsSummary + */ + units?: number; + /** + * + * @type {string} + * @memberof TotalEngagementsSummary + */ + unit?: TotalEngagementsSummaryUnitEnum; + /** + * + * @type {string} + * @memberof TotalEngagementsSummary + */ + unit_reference?: string; +} + +/** +* @export +* @enum {string} +*/ +export enum TotalEngagementsSummaryUnitEnum { + minute = 'minute', + hour = 'hour', + day = 'day', + week = 'week', + month = 'month' +} + + +/** + * Check if a given object implements the TotalEngagementsSummary interface. + */ +export function instanceOfTotalEngagementsSummary(value: object): value is TotalEngagementsSummary { + return true; +} + +export function TotalEngagementsSummaryFromJSON(json: any): TotalEngagementsSummary { + return TotalEngagementsSummaryFromJSONTyped(json, false); +} + +export function TotalEngagementsSummaryFromJSONTyped(json: any, ignoreDiscriminator: boolean): TotalEngagementsSummary { + if (json == null) { + return json; + } + return { + + 'total_engagements': json['total_engagements'] == null ? undefined : json['total_engagements'], + 'engagements': json['engagements'] == null ? undefined : EngagementFromJSON(json['engagements']), + 'units': json['units'] == null ? undefined : json['units'], + 'unit': json['unit'] == null ? undefined : json['unit'], + 'unit_reference': json['unit_reference'] == null ? undefined : json['unit_reference'], + }; +} + +export function TotalEngagementsSummaryToJSON(json: any): TotalEngagementsSummary { + return TotalEngagementsSummaryToJSONTyped(json, false); +} + +export function TotalEngagementsSummaryToJSONTyped(value?: TotalEngagementsSummary | null, ignoreDiscriminator: boolean = false): any { + if (value == null) { + return value; + } + + return { + + 'total_engagements': value['total_engagements'], + 'engagements': EngagementToJSON(value['engagements']), + 'units': value['units'], + 'unit': value['unit'], + 'unit_reference': value['unit_reference'], + }; +} + diff --git a/src/models/index.ts b/src/models/index.ts index 0551390..6460360 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -43,6 +43,8 @@ export * from './DeletedQRCode'; export * from './DeviceMetric'; export * from './DeviceMetrics'; export * from './Email'; +export * from './Engagement'; +export * from './Engagements'; export * from './ExpandBitlink'; export * from './ExpandedBitlink'; export * from './ExpectationFailed'; @@ -87,13 +89,16 @@ export * from './PlanLimits'; export * from './PlatformLimit'; export * from './PlatformLimits'; export * from './PublicCreateQRCodeRequest'; +export * from './PublicCreateStaticQRCodeRequest'; export * from './PublicDeleteQRCodeResponse'; export * from './PublicQRCodeImageResponse'; +export * from './PublicStaticQRCodeResponse'; export * from './PublicUpdateQRCodeRequest'; export * from './QRCodeBranding'; export * from './QRCodeCorner'; export * from './QRCodeCorners'; export * from './QRCodeCustomizationsPublic'; +export * from './QRCodeCustomizationsStaticPublic'; export * from './QRCodeDestination'; export * from './QRCodeDetails'; export * from './QRCodeDotPatternType'; @@ -123,6 +128,8 @@ export * from './TemporarilyUnavailable'; export * from './Text'; export * from './TimeUnit'; export * from './TimeUnitDWM'; +export * from './TotalEngagements'; +export * from './TotalEngagementsSummary'; export * from './UnprocessableEntity'; export * from './UpdateCustomBitlink'; export * from './UpgradeRequired';